This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().

Cc: Riku Voipio <riku.voi...@iki.fi>
Cc: Richard Purdie <rpur...@rpsys.net>
Cc: Jacek Anaszewski <j.anaszew...@samsung.com>
Cc: linux-l...@vger.kernel.org
Signed-off-by: Linus Walleij <linus.wall...@linaro.org>
---
LEDS people: please ACK this so I can merge it in the GPIO tree.
---
 drivers/leds/leds-tca6507.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/leds/leds-tca6507.c b/drivers/leds/leds-tca6507.c
index 75529a24a615..c548ea10f0f0 100644
--- a/drivers/leds/leds-tca6507.c
+++ b/drivers/leds/leds-tca6507.c
@@ -603,7 +603,7 @@ static int tca6507_blink_set(struct led_classdev *led_cdev,
 static void tca6507_gpio_set_value(struct gpio_chip *gc,
                                   unsigned offset, int val)
 {
-       struct tca6507_chip *tca = container_of(gc, struct tca6507_chip, gpio);
+       struct tca6507_chip *tca = gpiochip_get_data(gc);
        unsigned long flags;
 
        spin_lock_irqsave(&tca->lock, flags);
@@ -655,7 +655,7 @@ static int tca6507_probe_gpios(struct i2c_client *client,
 #ifdef CONFIG_OF_GPIO
        tca->gpio.of_node = of_node_get(client->dev.of_node);
 #endif
-       err = gpiochip_add(&tca->gpio);
+       err = gpiochip_add_data(&tca->gpio, tca);
        if (err) {
                tca->gpio.ngpio = 0;
                return err;
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to