Commit e97f9b52 authored by Mika Westerberg's avatar Mika Westerberg Committed by Grant Likely

gpio/gpio-ich: fix ichx_gpio_check_available() return what callers expect

ichx_gpio_check_available() returns either 0 or -ENXIO depending on whether
the given GPIO is available or not. However, callers of this function treat
the return value as boolean:

	...
	if (!ichx_gpio_check_available(gpio, nr))
		return -ENXIO;

which erroneusly fails when the GPIO is available and not vice versa.

Fix this by making the function return boolean as expected by the callers.
Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent 24d7628f
...@@ -128,9 +128,9 @@ static int ichx_read_bit(int reg, unsigned nr) ...@@ -128,9 +128,9 @@ static int ichx_read_bit(int reg, unsigned nr)
return data & (1 << bit) ? 1 : 0; return data & (1 << bit) ? 1 : 0;
} }
static int ichx_gpio_check_available(struct gpio_chip *gpio, unsigned nr) static bool ichx_gpio_check_available(struct gpio_chip *gpio, unsigned nr)
{ {
return (ichx_priv.use_gpio & (1 << (nr / 32))) ? 0 : -ENXIO; return ichx_priv.use_gpio & (1 << (nr / 32));
} }
static int ichx_gpio_direction_input(struct gpio_chip *gpio, unsigned nr) static int ichx_gpio_direction_input(struct gpio_chip *gpio, unsigned nr)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment