On Wed, Dec 09, 2015 at 02:42:48PM +0100, Michael Hennerich wrote:
> On 12/09/2015 02:44 PM, 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().
> >
> >Cc: Michael Hennerich <[email protected]>
> >Cc: Dmitry Torokhov <[email protected]>
> >Signed-off-by: Linus Walleij <[email protected]>
> 
> Acked-by: Michael Hennerich <[email protected]>
> 
> >---
> >Dmitry: please ACK this so I can take it through the GPIO tree.

In case you decided to continue with this approach:

Acked-by: Dmitry Torokhov <[email protected]>

> >---
> >  drivers/input/keyboard/adp5588-keys.c | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> >
> >diff --git a/drivers/input/keyboard/adp5588-keys.c 
> >b/drivers/input/keyboard/adp5588-keys.c
> >index 21a62d0fa764..53fe9a3fb620 100644
> >--- a/drivers/input/keyboard/adp5588-keys.c
> >+++ b/drivers/input/keyboard/adp5588-keys.c
> >@@ -73,7 +73,7 @@ static int adp5588_write(struct i2c_client *client, u8 
> >reg, u8 val)
> >  #ifdef CONFIG_GPIOLIB
> >  static int adp5588_gpio_get_value(struct gpio_chip *chip, unsigned off)
> >  {
> >-    struct adp5588_kpad *kpad = container_of(chip, struct adp5588_kpad, gc);
> >+    struct adp5588_kpad *kpad = gpiochip_get_data(chip);
> >     unsigned int bank = ADP5588_BANK(kpad->gpiomap[off]);
> >     unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]);
> >     int val;
> >@@ -93,7 +93,7 @@ static int adp5588_gpio_get_value(struct gpio_chip *chip, 
> >unsigned off)
> >  static void adp5588_gpio_set_value(struct gpio_chip *chip,
> >                                unsigned off, int val)
> >  {
> >-    struct adp5588_kpad *kpad = container_of(chip, struct adp5588_kpad, gc);
> >+    struct adp5588_kpad *kpad = gpiochip_get_data(chip);
> >     unsigned int bank = ADP5588_BANK(kpad->gpiomap[off]);
> >     unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]);
> >
> >@@ -112,7 +112,7 @@ static void adp5588_gpio_set_value(struct gpio_chip 
> >*chip,
> >
> >  static int adp5588_gpio_direction_input(struct gpio_chip *chip, unsigned 
> > off)
> >  {
> >-    struct adp5588_kpad *kpad = container_of(chip, struct adp5588_kpad, gc);
> >+    struct adp5588_kpad *kpad = gpiochip_get_data(chip);
> >     unsigned int bank = ADP5588_BANK(kpad->gpiomap[off]);
> >     unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]);
> >     int ret;
> >@@ -130,7 +130,7 @@ static int adp5588_gpio_direction_input(struct gpio_chip 
> >*chip, unsigned off)
> >  static int adp5588_gpio_direction_output(struct gpio_chip *chip,
> >                                      unsigned off, int val)
> >  {
> >-    struct adp5588_kpad *kpad = container_of(chip, struct adp5588_kpad, gc);
> >+    struct adp5588_kpad *kpad = gpiochip_get_data(chip);
> >     unsigned int bank = ADP5588_BANK(kpad->gpiomap[off]);
> >     unsigned int bit = ADP5588_BIT(kpad->gpiomap[off]);
> >     int ret;
> >@@ -210,7 +210,7 @@ static int adp5588_gpio_add(struct adp5588_kpad *kpad)
> >
> >     mutex_init(&kpad->gpio_lock);
> >
> >-    error = gpiochip_add(&kpad->gc);
> >+    error = gpiochip_add_data(&kpad->gc, kpad);
> >     if (error) {
> >             dev_err(dev, "gpiochip_add failed, err: %d\n", error);
> >             return error;
> >
> 
> 
> -- 
> Greetings,
> Michael
> 
> --
> Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
> Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368;
> Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin,
> Margaret Seif

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to