i2c-mux-gpio: use gpio_set_value_cansleep()
PATCH 1/2 i2c-mux-gpio: use gpio_set_value_cansleep()
Some gpio chips may have get/set operations that can sleep. gpio_set_value() only works for chips which do not sleep, for the others we will get a kernel warning. Using gpio_set_value_cansleep() will work for both chips that do sleep and those who don't.
Signed-off-by Ionut Nicu <[email protected]>
--- drivers/i2c/muxes/i2c-mux-gpio.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/i2c/muxes/i2c-mux-gpio.c +2 -2
@@ -30,8 +30,8 @@ static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val)int i;for (i =0 ; i < mux->data.n_gpios; i++) -gpio_set_value (mux->gpio_base + mux->data.gpios[i], - val & (1 << i)); +gpio_set_value_cansleep (mux->gpio_base + mux->data.gpios[i], + val & (1 << i)); }static int i2c_mux_gpio_select (struct i2c_adapter *adap,void *data,u32 chan)
Signature · 1 line
1.7.1
Wolfram Sang
AppliedQuoted 8 lines · Ionut Nicu
Some gpio chips may have get/set operations that can sleep.
gpio_set_value()only works for chips which do not sleep, for the others we will get a kernel warning. Usinggpio_set_value_cansleep()will work for both chips that do sleep and those who don't.Signed-off-by Ionut Nicu <[email protected]>
Applied to for-next, thanks! Added to stable, too. Also, please write the changes since last time. This really speeds up reviewing!