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