Re: [PATCH 7/9] mfd: tps65010: Use gpiochip data pointer

From: Lee Jones
Date: Mon Apr 11 2016 - 07:49:02 EST


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@xxxxxxxxxx>
> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> ---
> 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