Message ID | 1459327689-12786-8-git-send-email-linus.walleij@linaro.org |
---|---|
State | Accepted |
Commit | 22e5e747e71f19ac3af60ce648f4c02c63ed3cc1 |
Headers | show |
On Wed, 30 Mar 2016, Linus Walleij wrote: > 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(). > > Acked-by: Lee Jones <lee.jones@linaro.org> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > drivers/mfd/tps65010.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) Applied, thanks. > diff --git a/drivers/mfd/tps65010.c b/drivers/mfd/tps65010.c > index 495e4518fc29..d829a6131f09 100644 > --- a/drivers/mfd/tps65010.c > +++ b/drivers/mfd/tps65010.c > @@ -34,7 +34,7 @@ > > #include <linux/i2c/tps65010.h> > > -#include <linux/gpio.h> > +#include <linux/gpio/driver.h> > > > /*-------------------------------------------------------------------------*/ > @@ -477,7 +477,7 @@ tps65010_output(struct gpio_chip *chip, unsigned offset, int value) > if (offset < 4) { > struct tps65010 *tps; > > - tps = container_of(chip, struct tps65010, chip); > + tps = gpiochip_get_data(chip); > if (!(tps->outmask & (1 << offset))) > return -EINVAL; > tps65010_set_gpio_out_value(offset + 1, value); > @@ -494,7 +494,7 @@ static int tps65010_gpio_get(struct gpio_chip *chip, unsigned offset) > int value; > struct tps65010 *tps; > > - tps = container_of(chip, struct tps65010, chip); > + tps = gpiochip_get_data(chip); > > if (offset < 4) { > value = i2c_smbus_read_byte_data(tps->client, TPS_DEFGPIO); > @@ -651,7 +651,7 @@ static int tps65010_probe(struct i2c_client *client, > tps->chip.ngpio = 7; > tps->chip.can_sleep = 1; > > - status = gpiochip_add(&tps->chip); > + status = gpiochip_add_data(&tps->chip, tps); > if (status < 0) > dev_err(&client->dev, "can't add gpiochip, err %d\n", > status); -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
diff --git a/drivers/mfd/tps65010.c b/drivers/mfd/tps65010.c index 495e4518fc29..d829a6131f09 100644 --- a/drivers/mfd/tps65010.c +++ b/drivers/mfd/tps65010.c @@ -34,7 +34,7 @@ #include <linux/i2c/tps65010.h> -#include <linux/gpio.h> +#include <linux/gpio/driver.h> /*-------------------------------------------------------------------------*/ @@ -477,7 +477,7 @@ tps65010_output(struct gpio_chip *chip, unsigned offset, int value) if (offset < 4) { struct tps65010 *tps; - tps = container_of(chip, struct tps65010, chip); + tps = gpiochip_get_data(chip); if (!(tps->outmask & (1 << offset))) return -EINVAL; tps65010_set_gpio_out_value(offset + 1, value); @@ -494,7 +494,7 @@ static int tps65010_gpio_get(struct gpio_chip *chip, unsigned offset) int value; struct tps65010 *tps; - tps = container_of(chip, struct tps65010, chip); + tps = gpiochip_get_data(chip); if (offset < 4) { value = i2c_smbus_read_byte_data(tps->client, TPS_DEFGPIO); @@ -651,7 +651,7 @@ static int tps65010_probe(struct i2c_client *client, tps->chip.ngpio = 7; tps->chip.can_sleep = 1; - status = gpiochip_add(&tps->chip); + status = gpiochip_add_data(&tps->chip, tps); if (status < 0) dev_err(&client->dev, "can't add gpiochip, err %d\n", status);