From 5060e0e8934ca6685ea8bf185cbe0fa2118a946e Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Fri, 4 Dec 2015 15:01:50 +0100 Subject: [PATCH] gpio: adp5520: use gpiochip data pointer 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 --- drivers/gpio/gpio-adp5520.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-adp5520.c b/drivers/gpio/gpio-adp5520.c index caff711ca5a9..4fa7ff1fec9a 100644 --- a/drivers/gpio/gpio-adp5520.c +++ b/drivers/gpio/gpio-adp5520.c @@ -27,7 +27,7 @@ static int adp5520_gpio_get_value(struct gpio_chip *chip, unsigned off) struct adp5520_gpio *dev; uint8_t reg_val; - dev = container_of(chip, struct adp5520_gpio, gpio_chip); + dev = gpiochip_get_data(chip); /* * There are dedicated registers for GPIO IN/OUT. @@ -46,7 +46,7 @@ static void adp5520_gpio_set_value(struct gpio_chip *chip, unsigned off, int val) { struct adp5520_gpio *dev; - dev = container_of(chip, struct adp5520_gpio, gpio_chip); + dev = gpiochip_get_data(chip); if (val) adp5520_set_bits(dev->master, ADP5520_GPIO_OUT, dev->lut[off]); @@ -57,7 +57,7 @@ static void adp5520_gpio_set_value(struct gpio_chip *chip, static int adp5520_gpio_direction_input(struct gpio_chip *chip, unsigned off) { struct adp5520_gpio *dev; - dev = container_of(chip, struct adp5520_gpio, gpio_chip); + dev = gpiochip_get_data(chip); clear_bit(off, &dev->output); @@ -70,7 +70,7 @@ static int adp5520_gpio_direction_output(struct gpio_chip *chip, { struct adp5520_gpio *dev; int ret = 0; - dev = container_of(chip, struct adp5520_gpio, gpio_chip); + dev = gpiochip_get_data(chip); set_bit(off, &dev->output); @@ -153,7 +153,7 @@ static int adp5520_gpio_probe(struct platform_device *pdev) goto err; } - ret = gpiochip_add(&dev->gpio_chip); + ret = gpiochip_add_data(&dev->gpio_chip, dev); if (ret) goto err; -- 2.11.0