Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpiolib: Force wm831x GPIOs into GPIO mode when requested

This is the chip default but it's possible the bootloader or OTP
will have been configured to a different mode (eg, to provide
feedback during startup).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

authored by

Mark Brown and committed by
Samuel Ortiz
1bca748c f92e8f81

+4 -2
+4 -2
drivers/gpio/wm831x-gpio.c
··· 44 44 val |= WM831X_GPN_TRI; 45 45 46 46 return wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + offset, 47 - WM831X_GPN_DIR | WM831X_GPN_TRI, val); 47 + WM831X_GPN_DIR | WM831X_GPN_TRI | 48 + WM831X_GPN_FN_MASK, val); 48 49 } 49 50 50 51 static int wm831x_gpio_get(struct gpio_chip *chip, unsigned offset) ··· 85 84 val |= WM831X_GPN_TRI; 86 85 87 86 ret = wm831x_set_bits(wm831x, WM831X_GPIO1_CONTROL + offset, 88 - WM831X_GPN_DIR | WM831X_GPN_TRI, val); 87 + WM831X_GPN_DIR | WM831X_GPN_TRI | 88 + WM831X_GPN_FN_MASK, val); 89 89 if (ret < 0) 90 90 return ret; 91 91