1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- From cf3d1330c71d47c4cdb9268f68d2ee5931890d93 Mon Sep 17 00:00:00 2001
- From: Linus Walleij <linus.walleij@linaro.org>
- Date: Mon, 7 Dec 2015 14:21:49 +0100
- Subject: [PATCH 09/18] gpio: sch: 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().
- Cc: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
- Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
- Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
- ---
- drivers/gpio/gpio-sch.c | 14 ++++++--------
- 1 file changed, 6 insertions(+), 8 deletions(-)
- diff --git a/drivers/gpio/gpio-sch.c b/drivers/gpio/gpio-sch.c
- index b72906f5b999..23907fc080a3 100644
- --- a/drivers/gpio/gpio-sch.c
- +++ b/drivers/gpio/gpio-sch.c
- @@ -41,8 +41,6 @@ struct sch_gpio {
- unsigned short resume_base;
- };
-
- -#define to_sch_gpio(gc) container_of(gc, struct sch_gpio, chip)
- -
- static unsigned sch_gpio_offset(struct sch_gpio *sch, unsigned gpio,
- unsigned reg)
- {
- @@ -65,7 +63,7 @@ static unsigned sch_gpio_bit(struct sch_gpio *sch, unsigned gpio)
-
- static int sch_gpio_reg_get(struct gpio_chip *gc, unsigned gpio, unsigned reg)
- {
- - struct sch_gpio *sch = to_sch_gpio(gc);
- + struct sch_gpio *sch = gpiochip_get_data(gc);
- unsigned short offset, bit;
- u8 reg_val;
-
- @@ -80,7 +78,7 @@ static int sch_gpio_reg_get(struct gpio_chip *gc, unsigned gpio, unsigned reg)
- static void sch_gpio_reg_set(struct gpio_chip *gc, unsigned gpio, unsigned reg,
- int val)
- {
- - struct sch_gpio *sch = to_sch_gpio(gc);
- + struct sch_gpio *sch = gpiochip_get_data(gc);
- unsigned short offset, bit;
- u8 reg_val;
-
- @@ -97,7 +95,7 @@ static void sch_gpio_reg_set(struct gpio_chip *gc, unsigned gpio, unsigned reg,
-
- static int sch_gpio_direction_in(struct gpio_chip *gc, unsigned gpio_num)
- {
- - struct sch_gpio *sch = to_sch_gpio(gc);
- + struct sch_gpio *sch = gpiochip_get_data(gc);
-
- spin_lock(&sch->lock);
- sch_gpio_reg_set(gc, gpio_num, GIO, 1);
- @@ -112,7 +110,7 @@ static int sch_gpio_get(struct gpio_chip *gc, unsigned gpio_num)
-
- static void sch_gpio_set(struct gpio_chip *gc, unsigned gpio_num, int val)
- {
- - struct sch_gpio *sch = to_sch_gpio(gc);
- + struct sch_gpio *sch = gpiochip_get_data(gc);
-
- spin_lock(&sch->lock);
- sch_gpio_reg_set(gc, gpio_num, GLV, val);
- @@ -122,7 +120,7 @@ static void sch_gpio_set(struct gpio_chip *gc, unsigned gpio_num, int val)
- static int sch_gpio_direction_out(struct gpio_chip *gc, unsigned gpio_num,
- int val)
- {
- - struct sch_gpio *sch = to_sch_gpio(gc);
- + struct sch_gpio *sch = gpiochip_get_data(gc);
-
- spin_lock(&sch->lock);
- sch_gpio_reg_set(gc, gpio_num, GIO, 0);
- @@ -217,7 +215,7 @@ static int sch_gpio_probe(struct platform_device *pdev)
-
- platform_set_drvdata(pdev, sch);
-
- - return gpiochip_add(&sch->chip);
- + return gpiochip_add_data(&sch->chip, sch);
- }
-
- static int sch_gpio_remove(struct platform_device *pdev)
- --
- 2.16.4
|