Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1367019

[PATCH 8/9] mfd: ucb1x00: Use gpiochip data pointer

From Linus Walleij <linus.walleij@linaro.org>
Newsgroups linux.kernel
Subject [PATCH 8/9] mfd: ucb1x00: Use gpiochip data pointer
Date 2016-03-30 10:50 +0200
Message-ID <rijZa-2KA-55@gated-at.bofh.it> (permalink)
References <rijZ7-2KA-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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/ucb1x00-core.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
index bcafe1ecd71c..9ab9ec47ea75 100644
--- a/drivers/mfd/ucb1x00-core.c
+++ b/drivers/mfd/ucb1x00-core.c
@@ -28,7 +28,7 @@
 #include <linux/mutex.h>
 #include <linux/mfd/ucb1x00.h>
 #include <linux/pm.h>
-#include <linux/gpio.h>
+#include <linux/gpio/driver.h>
 
 static DEFINE_MUTEX(ucb1x00_mutex);
 static LIST_HEAD(ucb1x00_drivers);
@@ -109,7 +109,7 @@ unsigned int ucb1x00_io_read(struct ucb1x00 *ucb)
 
 static void ucb1x00_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
 {
-	struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
+	struct ucb1x00 *ucb = gpiochip_get_data(chip);
 	unsigned long flags;
 
 	spin_lock_irqsave(&ucb->io_lock, flags);
@@ -126,7 +126,7 @@ static void ucb1x00_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
 
 static int ucb1x00_gpio_get(struct gpio_chip *chip, unsigned offset)
 {
-	struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
+	struct ucb1x00 *ucb = gpiochip_get_data(chip);
 	unsigned val;
 
 	ucb1x00_enable(ucb);
@@ -138,7 +138,7 @@ static int ucb1x00_gpio_get(struct gpio_chip *chip, unsigned offset)
 
 static int ucb1x00_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
 {
-	struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
+	struct ucb1x00 *ucb = gpiochip_get_data(chip);
 	unsigned long flags;
 
 	spin_lock_irqsave(&ucb->io_lock, flags);
@@ -154,7 +154,7 @@ static int ucb1x00_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
 static int ucb1x00_gpio_direction_output(struct gpio_chip *chip, unsigned offset
 		, int value)
 {
-	struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
+	struct ucb1x00 *ucb = gpiochip_get_data(chip);
 	unsigned long flags;
 	unsigned old, mask = 1 << offset;
 
@@ -181,7 +181,7 @@ static int ucb1x00_gpio_direction_output(struct gpio_chip *chip, unsigned offset
 
 static int ucb1x00_to_irq(struct gpio_chip *chip, unsigned offset)
 {
-	struct ucb1x00 *ucb = container_of(chip, struct ucb1x00, gpio);
+	struct ucb1x00 *ucb = gpiochip_get_data(chip);
 
 	return ucb->irq_base > 0 ? ucb->irq_base + offset : -ENXIO;
 }
@@ -579,7 +579,7 @@ static int ucb1x00_probe(struct mcp *mcp)
 		ucb->gpio.direction_input = ucb1x00_gpio_direction_input;
 		ucb->gpio.direction_output = ucb1x00_gpio_direction_output;
 		ucb->gpio.to_irq = ucb1x00_to_irq;
-		ret = gpiochip_add(&ucb->gpio);
+		ret = gpiochip_add_data(&ucb->gpio, ucb);
 		if (ret)
 			goto err_gpio_add;
 	} else
-- 
2.4.3

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/9] Use GPIO data pointer in MFD Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 10:50 +0200
  [PATCH 9/9] mfd: vexpress-sysreg: Switch to gpiochip_add_data() Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 10:50 +0200
  [PATCH 2/9] mfd: dm355evm_msp: Switch to gpiochip_add_data() Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 10:50 +0200
  [PATCH 5/9] mfd: sm501: Use gpiochip data pointer Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 10:50 +0200
  [PATCH 6/9] mfd: tc6393xb: Use gpiochip data pointer Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 10:50 +0200
    Re: [PATCH 6/9] mfd: tc6393xb: Use gpiochip data pointer Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> - 2016-03-31 12:20 +0200
  [PATCH 3/9] mfd: htc-egpio: Use gpiochip data pointer Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 10:50 +0200
  [PATCH 8/9] mfd: ucb1x00: Use gpiochip data pointer Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 10:50 +0200
  [PATCH 4/9] mfd: htc-i2cpld: Use gpiochip data pointer Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 11:00 +0200
  [PATCH 7/9] mfd: tps65010: Use gpiochip data pointer Linus Walleij <linus.walleij@linaro.org> - 2016-03-30 11:00 +0200

csiph-web