]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
gpio: vx855: use gpiochip data pointer
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 7 Dec 2015 14:09:57 +0000 (15:09 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 5 Jan 2016 10:21:18 +0000 (11:21 +0100)
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().

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-vx855.c

index 57b470d5b39ef56b2daa5a88e5505b3321098bb0..764999cc0794f8ca41e6f81830caf31fa7c0989b 100644 (file)
@@ -96,7 +96,7 @@ static inline u_int32_t gpio_o_bit(int i)
 static int vx855gpio_direction_input(struct gpio_chip *gpio,
                                     unsigned int nr)
 {
-       struct vx855_gpio *vg = container_of(gpio, struct vx855_gpio, gpio);
+       struct vx855_gpio *vg = gpiochip_get_data(gpio);
        unsigned long flags;
        u_int32_t reg_out;
 
@@ -120,7 +120,7 @@ static int vx855gpio_direction_input(struct gpio_chip *gpio,
 
 static int vx855gpio_get(struct gpio_chip *gpio, unsigned int nr)
 {
-       struct vx855_gpio *vg = container_of(gpio, struct vx855_gpio, gpio);
+       struct vx855_gpio *vg = gpiochip_get_data(gpio);
        u_int32_t reg_in;
        int ret = 0;
 
@@ -146,7 +146,7 @@ static int vx855gpio_get(struct gpio_chip *gpio, unsigned int nr)
 static void vx855gpio_set(struct gpio_chip *gpio, unsigned int nr,
                          int val)
 {
-       struct vx855_gpio *vg = container_of(gpio, struct vx855_gpio, gpio);
+       struct vx855_gpio *vg = gpiochip_get_data(gpio);
        unsigned long flags;
        u_int32_t reg_out;
 
@@ -259,7 +259,7 @@ static int vx855gpio_probe(struct platform_device *pdev)
 
        vx855gpio_gpio_setup(vg);
 
-       return gpiochip_add(&vg->gpio);
+       return gpiochip_add_data(&vg->gpio, vg);
 }
 
 static int vx855gpio_remove(struct platform_device *pdev)