RE: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-08-02 Thread Leo Li


> -Original Message-
> From: Joakim Tjernlund [mailto:joakim.tjernl...@infinera.com]
> Sent: Thursday, August 2, 2018 5:37 PM
> To: Leo Li ; York Sun 
> Cc: linuxppc-dev@lists.ozlabs.org; m...@ellerman.id.au; Qiang Zhao
> 
> Subject: Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> 
> Leo, did this go anywhere ?

It has been included in my soc pull request for 4.19.  
http://lkml.iu.edu/hypermail/linux/kernel/1807.3/02295.html

Leo

> 
> Jocke
> 
> On Tue, 2018-07-03 at 16:35 +, Leo Li wrote:
> >
> > > -Original Message-
> > > From: York Sun
> > > Sent: Tuesday, July 3, 2018 10:27 AM
> > > To: jo...@infinera.com ; Leo Li
> > > 
> > > Cc: linuxppc-dev@lists.ozlabs.org; m...@ellerman.id.au; Qiang Zhao
> > > 
> > > Subject: Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> > >
> > > +Leo
> > >
> > > On 07/03/2018 03:30 AM, Joakim Tjernlund wrote:
> > > > On Tue, 2018-06-26 at 23:41 +1000, Michael Ellerman wrote:
> > > > >
> > > > > Joakim Tjernlund  writes:
> > > > > > On Thu, 2018-06-21 at 02:38 +, Qiang Zhao wrote:
> > > > > > > On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
> > > > > > > -Original Message-
> > > > > > > From: Linuxppc-dev [mailto:linuxppc-dev-
> > >
> > > bounces+qiang.zhao=nxp@lists.ozlabs.org] On Behalf Of Joakim
> > > Tjernlund
> > > > > > > Sent: 2018年6月20日 0:22
> > > > > > > To: York Sun ; linuxppc-dev  > >
> > > d...@lists.ozlabs.org>
> > > > > > > Subject: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> > > > > > >
> > > > > > > This cousin to gpio-mpc8xxx was lacking a multiple pins
> > > > > > > method, add
> > >
> > > one.
> > > > > > >
> > > > > > > Signed-off-by: Joakim Tjernlund
> > > > > > > 
> > > > > > > ---
> > > > > > >  drivers/soc/fsl/qe/gpio.c | 28 
> > > > > > >  1 file changed, 28 insertions(+)
> > > > >
> > > > > ...
> > > > > > >  static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int 
> > > > > > > gpio)  {
> > > > > > > struct of_mm_gpio_chip *mm_gc =
> > > > > > > to_of_mm_gpio_chip(gc); @@ -
> > >
> > > 298,6 +325,7 @@ static int __init qe_add_gpiochips(void)
> > > > > > > gc->direction_output = qe_gpio_dir_out;
> > > > > > > gc->get = qe_gpio_get;
> > > > > > > gc->set = qe_gpio_set;
> > > > > > > +   gc->set_multiple = qe_gpio_set_multiple;
> > > > > > >
> > > > > > > ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
> > > > > > > if (ret)
> > > > > > >
> > > > > > > Reviewed-by: Qiang Zhao 
> > > > > > >
> > > > > >
> > > > > > Who picks up this patch ? Is it queued somewhere already?
> > > > >
> > > > > Not me.
> > > >
> > > > York? You seem to be the only one left.
> > > >
> > >
> > > I am not a Linux maintainer. Even I want to, I can't merge this patch.
> > >
> > > Leo, who can merge this patch and request a pull?
> >
> > Since it falls under the driver/soc/fsl/ folder.  I can take it.
> >
> > Regards,
> > Leo


Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-08-02 Thread Joakim Tjernlund
Leo, did this go anywhere ?

Jocke

On Tue, 2018-07-03 at 16:35 +, Leo Li wrote:
> 
> > -Original Message-
> > From: York Sun
> > Sent: Tuesday, July 3, 2018 10:27 AM
> > To: jo...@infinera.com ; Leo Li
> > 
> > Cc: linuxppc-dev@lists.ozlabs.org; m...@ellerman.id.au; Qiang Zhao
> > 
> > Subject: Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> > 
> > +Leo
> > 
> > On 07/03/2018 03:30 AM, Joakim Tjernlund wrote:
> > > On Tue, 2018-06-26 at 23:41 +1000, Michael Ellerman wrote:
> > > > 
> > > > Joakim Tjernlund  writes:
> > > > > On Thu, 2018-06-21 at 02:38 +, Qiang Zhao wrote:
> > > > > > On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
> > > > > > -Original Message-
> > > > > > From: Linuxppc-dev [mailto:linuxppc-dev-
> > 
> > bounces+qiang.zhao=nxp@lists.ozlabs.org] On Behalf Of Joakim
> > Tjernlund
> > > > > > Sent: 2018年6月20日 0:22
> > > > > > To: York Sun ; linuxppc-dev  > 
> > d...@lists.ozlabs.org>
> > > > > > Subject: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> > > > > > 
> > > > > > This cousin to gpio-mpc8xxx was lacking a multiple pins method, add
> > 
> > one.
> > > > > > 
> > > > > > Signed-off-by: Joakim Tjernlund 
> > > > > > ---
> > > > > >  drivers/soc/fsl/qe/gpio.c | 28 
> > > > > >  1 file changed, 28 insertions(+)
> > > > 
> > > > ...
> > > > > >  static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio) 
> > > > > >  {
> > > > > > struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); @@ -
> > 
> > 298,6 +325,7 @@ static int __init qe_add_gpiochips(void)
> > > > > > gc->direction_output = qe_gpio_dir_out;
> > > > > > gc->get = qe_gpio_get;
> > > > > > gc->set = qe_gpio_set;
> > > > > > +   gc->set_multiple = qe_gpio_set_multiple;
> > > > > > 
> > > > > > ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
> > > > > > if (ret)
> > > > > > 
> > > > > > Reviewed-by: Qiang Zhao 
> > > > > > 
> > > > > 
> > > > > Who picks up this patch ? Is it queued somewhere already?
> > > > 
> > > > Not me.
> > > 
> > > York? You seem to be the only one left.
> > > 
> > 
> > I am not a Linux maintainer. Even I want to, I can't merge this patch.
> > 
> > Leo, who can merge this patch and request a pull?
> 
> Since it falls under the driver/soc/fsl/ folder.  I can take it.
> 
> Regards,
> Leo


RE: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-07-03 Thread Leo Li


> -Original Message-
> From: York Sun
> Sent: Tuesday, July 3, 2018 10:27 AM
> To: jo...@infinera.com ; Leo Li
> 
> Cc: linuxppc-dev@lists.ozlabs.org; m...@ellerman.id.au; Qiang Zhao
> 
> Subject: Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> 
> +Leo
> 
> On 07/03/2018 03:30 AM, Joakim Tjernlund wrote:
> > On Tue, 2018-06-26 at 23:41 +1000, Michael Ellerman wrote:
> >>
> >> Joakim Tjernlund  writes:
> >>> On Thu, 2018-06-21 at 02:38 +, Qiang Zhao wrote:
> >>>> On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
> >>>> -Original Message-
> >>>> From: Linuxppc-dev [mailto:linuxppc-dev-
> bounces+qiang.zhao=nxp@lists.ozlabs.org] On Behalf Of Joakim
> Tjernlund
> >>>> Sent: 2018年6月20日 0:22
> >>>> To: York Sun ; linuxppc-dev  d...@lists.ozlabs.org>
> >>>> Subject: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> >>>>
> >>>> This cousin to gpio-mpc8xxx was lacking a multiple pins method, add
> one.
> >>>>
> >>>> Signed-off-by: Joakim Tjernlund 
> >>>> ---
> >>>>  drivers/soc/fsl/qe/gpio.c | 28 
> >>>>  1 file changed, 28 insertions(+)
> >>
> >> ...
> >>>>  static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)  {
> >>>> struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); @@ -
> 298,6 +325,7 @@ static int __init qe_add_gpiochips(void)
> >>>> gc->direction_output = qe_gpio_dir_out;
> >>>> gc->get = qe_gpio_get;
> >>>> gc->set = qe_gpio_set;
> >>>> +   gc->set_multiple = qe_gpio_set_multiple;
> >>>>
> >>>> ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
> >>>> if (ret)
> >>>>
> >>>> Reviewed-by: Qiang Zhao 
> >>>>
> >>>
> >>> Who picks up this patch ? Is it queued somewhere already?
> >>
> >> Not me.
> >
> > York? You seem to be the only one left.
> >
> 
> I am not a Linux maintainer. Even I want to, I can't merge this patch.
> 
> Leo, who can merge this patch and request a pull?

Since it falls under the driver/soc/fsl/ folder.  I can take it.

Regards,
Leo


Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-07-03 Thread York Sun
+Leo

On 07/03/2018 03:30 AM, Joakim Tjernlund wrote:
> On Tue, 2018-06-26 at 23:41 +1000, Michael Ellerman wrote:
>>
>> Joakim Tjernlund  writes:
>>> On Thu, 2018-06-21 at 02:38 +, Qiang Zhao wrote:
 On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
 -Original Message-
 From: Linuxppc-dev 
 [mailto:linuxppc-dev-bounces+qiang.zhao=nxp@lists.ozlabs.org] On 
 Behalf Of Joakim Tjernlund
 Sent: 2018年6月20日 0:22
 To: York Sun ; linuxppc-dev 
 
 Subject: [PATCH] QE GPIO: Add qe_gpio_set_multiple

 This cousin to gpio-mpc8xxx was lacking a multiple pins method, add one.

 Signed-off-by: Joakim Tjernlund 
 ---
  drivers/soc/fsl/qe/gpio.c | 28 
  1 file changed, 28 insertions(+)
>>
>> ...
  static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)  {
 struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); @@ -298,6 
 +325,7 @@ static int __init qe_add_gpiochips(void)
 gc->direction_output = qe_gpio_dir_out;
 gc->get = qe_gpio_get;
 gc->set = qe_gpio_set;
 +   gc->set_multiple = qe_gpio_set_multiple;

 ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
 if (ret)

 Reviewed-by: Qiang Zhao 

>>>
>>> Who picks up this patch ? Is it queued somewhere already?
>>
>> Not me.
> 
> York? You seem to be the only one left.
> 

I am not a Linux maintainer. Even I want to, I can't merge this patch.

Leo, who can merge this patch and request a pull?

York


Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-07-03 Thread Joakim Tjernlund
On Tue, 2018-06-26 at 23:41 +1000, Michael Ellerman wrote:
> 
> Joakim Tjernlund  writes:
> > On Thu, 2018-06-21 at 02:38 +, Qiang Zhao wrote:
> > > On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
> > > -Original Message-
> > > From: Linuxppc-dev 
> > > [mailto:linuxppc-dev-bounces+qiang.zhao=nxp@lists.ozlabs.org] On 
> > > Behalf Of Joakim Tjernlund
> > > Sent: 2018年6月20日 0:22
> > > To: York Sun ; linuxppc-dev 
> > > 
> > > Subject: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> > > 
> > > This cousin to gpio-mpc8xxx was lacking a multiple pins method, add one.
> > > 
> > > Signed-off-by: Joakim Tjernlund 
> > > ---
> > >  drivers/soc/fsl/qe/gpio.c | 28 
> > >  1 file changed, 28 insertions(+)
> 
> ...
> > >  static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)  {
> > > struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); @@ -298,6 
> > > +325,7 @@ static int __init qe_add_gpiochips(void)
> > > gc->direction_output = qe_gpio_dir_out;
> > > gc->get = qe_gpio_get;
> > > gc->set = qe_gpio_set;
> > > +   gc->set_multiple = qe_gpio_set_multiple;
> > > 
> > > ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
> > > if (ret)
> > > 
> > > Reviewed-by: Qiang Zhao 
> > > 
> > 
> > Who picks up this patch ? Is it queued somewhere already?
> 
> Not me.

York? You seem to be the only one left.

 Jocke

Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-06-26 Thread Michael Ellerman
Joakim Tjernlund  writes:
> On Thu, 2018-06-21 at 02:38 +, Qiang Zhao wrote:
>> On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
>> -Original Message-
>> From: Linuxppc-dev 
>> [mailto:linuxppc-dev-bounces+qiang.zhao=nxp@lists.ozlabs.org] On Behalf 
>> Of Joakim Tjernlund
>> Sent: 2018年6月20日 0:22
>> To: York Sun ; linuxppc-dev 
>> Subject: [PATCH] QE GPIO: Add qe_gpio_set_multiple
>> 
>> This cousin to gpio-mpc8xxx was lacking a multiple pins method, add one.
>> 
>> Signed-off-by: Joakim Tjernlund 
>> ---
>>  drivers/soc/fsl/qe/gpio.c | 28 
>>  1 file changed, 28 insertions(+)
...
>>  static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)  {
>> struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); @@ -298,6 
>> +325,7 @@ static int __init qe_add_gpiochips(void)
>> gc->direction_output = qe_gpio_dir_out;
>> gc->get = qe_gpio_get;
>> gc->set = qe_gpio_set;
>> +   gc->set_multiple = qe_gpio_set_multiple;
>> 
>> ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
>> if (ret)
>> 
>> Reviewed-by: Qiang Zhao 
>> 
>
> Who picks up this patch ? Is it queued somewhere already?

Not me.

cheers


Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-06-25 Thread Joakim Tjernlund
On Thu, 2018-06-21 at 02:38 +, Qiang Zhao wrote:
> 
> On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
> -Original Message-
> From: Linuxppc-dev 
> [mailto:linuxppc-dev-bounces+qiang.zhao=nxp@lists.ozlabs.org] On Behalf 
> Of Joakim Tjernlund
> Sent: 2018年6月20日 0:22
> To: York Sun ; linuxppc-dev 
> Subject: [PATCH] QE GPIO: Add qe_gpio_set_multiple
> 
> This cousin to gpio-mpc8xxx was lacking a multiple pins method, add one.
> 
> Signed-off-by: Joakim Tjernlund 
> ---
>  drivers/soc/fsl/qe/gpio.c | 28 
>  1 file changed, 28 insertions(+)
> 
> diff --git a/drivers/soc/fsl/qe/gpio.c b/drivers/soc/fsl/qe/gpio.c index 
> 3b27075c21a7..819bed0f5667 100644
> --- a/drivers/soc/fsl/qe/gpio.c
> +++ b/drivers/soc/fsl/qe/gpio.c
> @@ -83,6 +83,33 @@ static void qe_gpio_set(struct gpio_chip *gc, unsigned int 
> gpio, int val)
> spin_unlock_irqrestore(_gc->lock, flags);  }
> 
> +static void qe_gpio_set_multiple(struct gpio_chip *gc,
> +unsigned long *mask, unsigned long *bits) {
> +   struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
> +   struct qe_gpio_chip *qe_gc = gpiochip_get_data(gc);
> +   struct qe_pio_regs __iomem *regs = mm_gc->regs;
> +   unsigned long flags;
> +   int i;
> +
> +   spin_lock_irqsave(_gc->lock, flags);
> +
> +   for (i = 0; i < gc->ngpio; i++) {
> +   if (*mask == 0)
> +   break;
> +   if (__test_and_clear_bit(i, mask)) {
> +   if (test_bit(i, bits))
> +   qe_gc->cpdata |= (1U << (QE_PIO_PINS - 1 - 
> i));
> +   else
> +   qe_gc->cpdata &= ~(1U << (QE_PIO_PINS - 1 - 
> i));
> +   }
> +   }
> +
> +   out_be32(>cpdata, qe_gc->cpdata);
> +
> +   spin_unlock_irqrestore(_gc->lock, flags); }
> +
>  static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)  {
> struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); @@ -298,6 
> +325,7 @@ static int __init qe_add_gpiochips(void)
> gc->direction_output = qe_gpio_dir_out;
> gc->get = qe_gpio_get;
> gc->set = qe_gpio_set;
> +   gc->set_multiple = qe_gpio_set_multiple;
> 
> ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
> if (ret)
> 
> Reviewed-by: Qiang Zhao 
> 

Who picks up this patch ? Is it queued somewhere already?

  Jocke

RE: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-06-20 Thread Qiang Zhao
On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
-Original Message-
From: Linuxppc-dev 
[mailto:linuxppc-dev-bounces+qiang.zhao=nxp@lists.ozlabs.org] On Behalf Of 
Joakim Tjernlund
Sent: 2018年6月20日 0:22
To: York Sun ; linuxppc-dev 
Subject: [PATCH] QE GPIO: Add qe_gpio_set_multiple

This cousin to gpio-mpc8xxx was lacking a multiple pins method, add one.

Signed-off-by: Joakim Tjernlund 
---
 drivers/soc/fsl/qe/gpio.c | 28 
 1 file changed, 28 insertions(+)

diff --git a/drivers/soc/fsl/qe/gpio.c b/drivers/soc/fsl/qe/gpio.c index 
3b27075c21a7..819bed0f5667 100644
--- a/drivers/soc/fsl/qe/gpio.c
+++ b/drivers/soc/fsl/qe/gpio.c
@@ -83,6 +83,33 @@ static void qe_gpio_set(struct gpio_chip *gc, unsigned int 
gpio, int val)
spin_unlock_irqrestore(_gc->lock, flags);  }
 
+static void qe_gpio_set_multiple(struct gpio_chip *gc,
+unsigned long *mask, unsigned long *bits) {
+   struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc);
+   struct qe_gpio_chip *qe_gc = gpiochip_get_data(gc);
+   struct qe_pio_regs __iomem *regs = mm_gc->regs;
+   unsigned long flags;
+   int i;
+
+   spin_lock_irqsave(_gc->lock, flags);
+
+   for (i = 0; i < gc->ngpio; i++) {
+   if (*mask == 0)
+   break;
+   if (__test_and_clear_bit(i, mask)) {
+   if (test_bit(i, bits))
+   qe_gc->cpdata |= (1U << (QE_PIO_PINS - 1 - i));
+   else
+   qe_gc->cpdata &= ~(1U << (QE_PIO_PINS - 1 - i));
+   }
+   }
+
+   out_be32(>cpdata, qe_gc->cpdata);
+
+   spin_unlock_irqrestore(_gc->lock, flags); }
+
 static int qe_gpio_dir_in(struct gpio_chip *gc, unsigned int gpio)  {
struct of_mm_gpio_chip *mm_gc = to_of_mm_gpio_chip(gc); @@ -298,6 
+325,7 @@ static int __init qe_add_gpiochips(void)
gc->direction_output = qe_gpio_dir_out;
gc->get = qe_gpio_get;
gc->set = qe_gpio_set;
+   gc->set_multiple = qe_gpio_set_multiple;
 
ret = of_mm_gpiochip_add_data(np, mm_gc, qe_gc);
if (ret)

Reviewed-by: Qiang Zhao 



Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-06-19 Thread Scott Wood
On Tue, 2018-06-19 at 16:38 +, York Sun wrote:
> On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
> > This cousin to gpio-mpc8xxx was lacking a multiple pins method,
> > add one.
> > 
> > Signed-off-by: Joakim Tjernlund 
> > ---
> >  drivers/soc/fsl/qe/gpio.c | 28 
> >  1 file changed, 28 insertions(+)
> > 
> 
> Joakim,
> 
> I am not the maintainer for this driver. Adding Scott.
> 
> York
> 

Qiang Zhao is the maintainer for drivers/soc/fsl/qe

-Scott



Re: [PATCH] QE GPIO: Add qe_gpio_set_multiple

2018-06-19 Thread York Sun
On 06/19/2018 09:22 AM, Joakim Tjernlund wrote:
> This cousin to gpio-mpc8xxx was lacking a multiple pins method,
> add one.
> 
> Signed-off-by: Joakim Tjernlund 
> ---
>  drivers/soc/fsl/qe/gpio.c | 28 
>  1 file changed, 28 insertions(+)
> 

Joakim,

I am not the maintainer for this driver. Adding Scott.

York