Commit 92a41e2f authored by Linus Walleij's avatar Linus Walleij

gpio: timberdale: 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: default avatarLinus Walleij <linus.walleij@linaro.org>
parent b0d38473
...@@ -53,7 +53,7 @@ struct timbgpio { ...@@ -53,7 +53,7 @@ struct timbgpio {
static int timbgpio_update_bit(struct gpio_chip *gpio, unsigned index, static int timbgpio_update_bit(struct gpio_chip *gpio, unsigned index,
unsigned offset, bool enabled) unsigned offset, bool enabled)
{ {
struct timbgpio *tgpio = container_of(gpio, struct timbgpio, gpio); struct timbgpio *tgpio = gpiochip_get_data(gpio);
u32 reg; u32 reg;
spin_lock(&tgpio->lock); spin_lock(&tgpio->lock);
...@@ -77,7 +77,7 @@ static int timbgpio_gpio_direction_input(struct gpio_chip *gpio, unsigned nr) ...@@ -77,7 +77,7 @@ static int timbgpio_gpio_direction_input(struct gpio_chip *gpio, unsigned nr)
static int timbgpio_gpio_get(struct gpio_chip *gpio, unsigned nr) static int timbgpio_gpio_get(struct gpio_chip *gpio, unsigned nr)
{ {
struct timbgpio *tgpio = container_of(gpio, struct timbgpio, gpio); struct timbgpio *tgpio = gpiochip_get_data(gpio);
u32 value; u32 value;
value = ioread32(tgpio->membase + TGPIOVAL); value = ioread32(tgpio->membase + TGPIOVAL);
...@@ -98,7 +98,7 @@ static void timbgpio_gpio_set(struct gpio_chip *gpio, ...@@ -98,7 +98,7 @@ static void timbgpio_gpio_set(struct gpio_chip *gpio,
static int timbgpio_to_irq(struct gpio_chip *gpio, unsigned offset) static int timbgpio_to_irq(struct gpio_chip *gpio, unsigned offset)
{ {
struct timbgpio *tgpio = container_of(gpio, struct timbgpio, gpio); struct timbgpio *tgpio = gpiochip_get_data(gpio);
if (tgpio->irq_base <= 0) if (tgpio->irq_base <= 0)
return -EINVAL; return -EINVAL;
...@@ -279,7 +279,7 @@ static int timbgpio_probe(struct platform_device *pdev) ...@@ -279,7 +279,7 @@ static int timbgpio_probe(struct platform_device *pdev)
gc->ngpio = pdata->nr_pins; gc->ngpio = pdata->nr_pins;
gc->can_sleep = false; gc->can_sleep = false;
err = gpiochip_add(gc); err = gpiochip_add_data(gc, tgpio);
if (err) if (err)
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment