Messages in this thread Patch in this message | | | From | David Brownell <> | Subject | [patch 2.6.25-rc4] gpio/pca953x bugfix: mark as can_sleep | Date | Sun, 9 Mar 2008 12:56:19 -0800 |
| |
The pca953x driver is an I2C driver so gpio_chip->can_sleep should be set. This lets upper layers know they should use the gpio_*_cansleep() calls to access values, and may not access them from nonsleeping contexts.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> --- Merge before 2.6.25-final, please. This will for example prevent leds-gpio from issuing blocking I2C calls from timer/irq contexts.
drivers/gpio/pca953x.c | 1 + 1 file changed, 1 insertion(+)
--- g26.orig/drivers/gpio/pca953x.c 2008-03-08 11:17:22.000000000 -0800 +++ g26/drivers/gpio/pca953x.c 2008-03-09 13:51:13.000000000 -0700 @@ -184,6 +184,7 @@ static void pca953x_setup_gpio(struct pc gc->direction_output = pca953x_gpio_direction_output; gc->get = pca953x_gpio_get_value; gc->set = pca953x_gpio_set_value; + gc->can_sleep = 1; gc->base = chip->gpio_start; gc->ngpio = gpios;
| |