gpio: of: don't warn if ignored GPIO flag matches the behavior
Some devicetrees specify the ACTIVE_LOW flag in the fixed regulator GPIO handle. While this has always been ignored, it's consistent with the behavior of the regulator binding in the absence of the "enable-active-high" DT property. It doesn't make much sense to print a user visible warning for a configuration which is consistent, so only print the warning if the GPIO flag contradicts the behavior dictated by by the enable-active-high property. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> [Bartosz: coding style tweak] Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
This commit is contained in:
		
							parent
							
								
									ac4062aa6c
								
							
						
					
					
						commit
						228fc01040
					
				| @ -134,18 +134,20 @@ static void of_gpio_flags_quirks(struct device_node *np, | ||||
| 	     (!(strcmp(propname, "enable-gpio") && | ||||
| 		strcmp(propname, "enable-gpios")) && | ||||
| 	      of_device_is_compatible(np, "regulator-gpio")))) { | ||||
| 		bool active_low = !of_property_read_bool(np, | ||||
| 							 "enable-active-high"); | ||||
| 		/*
 | ||||
| 		 * The regulator GPIO handles are specified such that the | ||||
| 		 * presence or absence of "enable-active-high" solely controls | ||||
| 		 * the polarity of the GPIO line. Any phandle flags must | ||||
| 		 * be actively ignored. | ||||
| 		 */ | ||||
| 		if (*flags & OF_GPIO_ACTIVE_LOW) { | ||||
| 		if ((*flags & OF_GPIO_ACTIVE_LOW) && !active_low) { | ||||
| 			pr_warn("%s GPIO handle specifies active low - ignored\n", | ||||
| 				of_node_full_name(np)); | ||||
| 			*flags &= ~OF_GPIO_ACTIVE_LOW; | ||||
| 		} | ||||
| 		if (!of_property_read_bool(np, "enable-active-high")) | ||||
| 		if (active_low) | ||||
| 			*flags |= OF_GPIO_ACTIVE_LOW; | ||||
| 	} | ||||
| 	/*
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user