diff mbox

[143/182] powerpc: mpc52xx_gpt: use gpiochip data pointer

Message ID 1449668466-4882-1-git-send-email-linus.walleij@linaro.org
State New
Headers show

Commit Message

Linus Walleij Dec. 9, 2015, 1:41 p.m. UTC
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: Anatolij Gustschin <agust@denx.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Power maintainers: please ACK this. I cannot really say if this
should ideally be broken out as a separate driver in drivers/gpio
or if it is better to keep it here. For now just refactoring...
---
 arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

Comments

Michael Welling Dec. 9, 2015, 11:27 p.m. UTC | #1
On Wed, Dec 09, 2015 at 02:41:06PM +0100, Linus Walleij wrote:
> @@ -354,7 +349,7 @@ mpc52xx_gpt_gpio_setup(struct mpc52xx_gpt_priv *gpt, struct device_node *node)
>  	clrsetbits_be32(&gpt->regs->mode, MPC52xx_GPT_MODE_MS_MASK,
>  			MPC52xx_GPT_MODE_MS_GPIO);
>  
> -	rc = gpiochip_add(&gpt->gc);
> +	rc = gpiochip_add_data(&gpt->gc, gpt);
>  	if (rc)

Another place that dev_err references gpiochip_add instead of gpiochip_add_data.

>  		dev_err(gpt->dev, "gpiochip_add() failed; rc=%i\n", rc);
>  

Other places with references not associated with patches:
Documentation/zh_CN/gpio.txt
Documentation/gpio/gpio-legacy.txt
Documentation/gpio/driver.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Linus Walleij Dec. 13, 2015, 9:02 p.m. UTC | #2
On Thu, Dec 10, 2015 at 12:27 AM, Michael Welling <mwelling@ieee.org> wrote:
> On Wed, Dec 09, 2015 at 02:41:06PM +0100, Linus Walleij wrote:
>> @@ -354,7 +349,7 @@ mpc52xx_gpt_gpio_setup(struct mpc52xx_gpt_priv *gpt, struct device_node *node)
>>       clrsetbits_be32(&gpt->regs->mode, MPC52xx_GPT_MODE_MS_MASK,
>>                       MPC52xx_GPT_MODE_MS_GPIO);
>>
>> -     rc = gpiochip_add(&gpt->gc);
>> +     rc = gpiochip_add_data(&gpt->gc, gpt);
>>       if (rc)
>
> Another place that dev_err references gpiochip_add instead of gpiochip_add_data.
>
>>               dev_err(gpt->dev, "gpiochip_add() failed; rc=%i\n", rc);

OK fixed it.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michael Welling Dec. 13, 2015, 11:01 p.m. UTC | #3
On Sun, Dec 13, 2015 at 10:02:20PM +0100, Linus Walleij wrote:
> On Thu, Dec 10, 2015 at 12:27 AM, Michael Welling <mwelling@ieee.org> wrote:
> > On Wed, Dec 09, 2015 at 02:41:06PM +0100, Linus Walleij wrote:
> >> @@ -354,7 +349,7 @@ mpc52xx_gpt_gpio_setup(struct mpc52xx_gpt_priv *gpt, struct device_node *node)
> >>       clrsetbits_be32(&gpt->regs->mode, MPC52xx_GPT_MODE_MS_MASK,
> >>                       MPC52xx_GPT_MODE_MS_GPIO);
> >>
> >> -     rc = gpiochip_add(&gpt->gc);
> >> +     rc = gpiochip_add_data(&gpt->gc, gpt);
> >>       if (rc)
> >
> > Another place that dev_err references gpiochip_add instead of gpiochip_add_data.
> >
> >>               dev_err(gpt->dev, "gpiochip_add() failed; rc=%i\n", rc);
> 
> OK fixed it.

Sorry for nit picking.

The series otherwises looks good.

Reviewed-by: Michael Welling <mwelling@ieee.org>

> 
> Yours,
> Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
index 3048e34db6d8..f112e96ab8a3 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
@@ -278,14 +278,9 @@  mpc52xx_gpt_irq_setup(struct mpc52xx_gpt_priv *gpt, struct device_node *node)
  * GPIOLIB hooks
  */
 #if defined(CONFIG_GPIOLIB)
-static inline struct mpc52xx_gpt_priv *gc_to_mpc52xx_gpt(struct gpio_chip *gc)
-{
-	return container_of(gc, struct mpc52xx_gpt_priv, gc);
-}
-
 static int mpc52xx_gpt_gpio_get(struct gpio_chip *gc, unsigned int gpio)
 {
-	struct mpc52xx_gpt_priv *gpt = gc_to_mpc52xx_gpt(gc);
+	struct mpc52xx_gpt_priv *gpt = gpiochip_get_data(gc);
 
 	return (in_be32(&gpt->regs->status) >> 8) & 1;
 }
@@ -293,7 +288,7 @@  static int mpc52xx_gpt_gpio_get(struct gpio_chip *gc, unsigned int gpio)
 static void
 mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v)
 {
-	struct mpc52xx_gpt_priv *gpt = gc_to_mpc52xx_gpt(gc);
+	struct mpc52xx_gpt_priv *gpt = gpiochip_get_data(gc);
 	unsigned long flags;
 	u32 r;
 
@@ -307,7 +302,7 @@  mpc52xx_gpt_gpio_set(struct gpio_chip *gc, unsigned int gpio, int v)
 
 static int mpc52xx_gpt_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)
 {
-	struct mpc52xx_gpt_priv *gpt = gc_to_mpc52xx_gpt(gc);
+	struct mpc52xx_gpt_priv *gpt = gpiochip_get_data(gc);
 	unsigned long flags;
 
 	dev_dbg(gpt->dev, "%s: gpio:%d\n", __func__, gpio);
@@ -354,7 +349,7 @@  mpc52xx_gpt_gpio_setup(struct mpc52xx_gpt_priv *gpt, struct device_node *node)
 	clrsetbits_be32(&gpt->regs->mode, MPC52xx_GPT_MODE_MS_MASK,
 			MPC52xx_GPT_MODE_MS_GPIO);
 
-	rc = gpiochip_add(&gpt->gc);
+	rc = gpiochip_add_data(&gpt->gc, gpt);
 	if (rc)
 		dev_err(gpt->dev, "gpiochip_add() failed; rc=%i\n", rc);