mbox series

[v1,00/13] gpio: dwapb: Clean up the driver and a fix

Message ID 20200409141228.49561-1-andriy.shevchenko@linux.intel.com
Headers show
Series gpio: dwapb: Clean up the driver and a fix | expand

Message

Andy Shevchenko April 9, 2020, 2:12 p.m. UTC
It appears that GPIO DW APB driver wasn't touched for a long time. Here is
the fix for long standing issue, i.e. missed module alias to make the driver
be loaded automatically.

On top of above a lot small clean ups here and there.

The series based on the v3 by Serge Semin which he sent earlier.

Driver has been tested on Intel Galileo Gen2 with AT25 SPI EEPROM using it
for a chip select.

Andy Shevchenko (13):
  gpio: dwapb: Append MODULE_ALIAS for platform driver
  gpio: dwapb: Refactor IRQ handler
  gpio: dwapb: set default handler to be handle_bad_irq()
  gpio: dwapb: Deduplicate IRQ resource management
  gpio: dwapb: Convert to use irqd_to_hwirq()
  gpio: dwapb: Use device_get_match_data() to simplify code
  gpio: dwapb: Convert to use IRQ core provided macros
  gpio: dwapb: Switch to more usual pattern of RMW in
    dwapb_gpio_set_debounce()
  gpio: dwapb: Drop bogus BUG_ON()s
  gpio: dwapb: Drop of_match_ptr() & ACPI_PTR() calls
  gpio: dwapb: Split out dwapb_get_irq() helper
  gpio: dwapb: Use positive conditional in dwapb_configure_irqs()
  gpio: dwapb: Amend indentation in some cases

 drivers/gpio/gpio-dwapb.c | 205 +++++++++++++++-----------------------
 1 file changed, 79 insertions(+), 126 deletions(-)

Comments

Serge Semin April 9, 2020, 2:28 p.m. UTC | #1
Hello Andy

On Thu, Apr 09, 2020 at 05:12:15PM +0300, Andy Shevchenko wrote:
> It appears that GPIO DW APB driver wasn't touched for a long time. Here is
> the fix for long standing issue, i.e. missed module alias to make the driver
> be loaded automatically.
> 
> On top of above a lot small clean ups here and there.
> 
> The series based on the v3 by Serge Semin which he sent earlier.
> 
> Driver has been tested on Intel Galileo Gen2 with AT25 SPI EEPROM using it
> for a chip select.

Thanks for the series. I'll review it in one-two days and test it out on our
Baikal-T1-based hardware.

-Sergey

> 
> Andy Shevchenko (13):
>   gpio: dwapb: Append MODULE_ALIAS for platform driver
>   gpio: dwapb: Refactor IRQ handler
>   gpio: dwapb: set default handler to be handle_bad_irq()
>   gpio: dwapb: Deduplicate IRQ resource management
>   gpio: dwapb: Convert to use irqd_to_hwirq()
>   gpio: dwapb: Use device_get_match_data() to simplify code
>   gpio: dwapb: Convert to use IRQ core provided macros
>   gpio: dwapb: Switch to more usual pattern of RMW in
>     dwapb_gpio_set_debounce()
>   gpio: dwapb: Drop bogus BUG_ON()s
>   gpio: dwapb: Drop of_match_ptr() & ACPI_PTR() calls
>   gpio: dwapb: Split out dwapb_get_irq() helper
>   gpio: dwapb: Use positive conditional in dwapb_configure_irqs()
>   gpio: dwapb: Amend indentation in some cases
> 
>  drivers/gpio/gpio-dwapb.c | 205 +++++++++++++++-----------------------
>  1 file changed, 79 insertions(+), 126 deletions(-)
> 
> -- 
> 2.25.1
>
Serge Semin April 15, 2020, 11:55 a.m. UTC | #2
Hello Andy

On Thu, Apr 09, 2020 at 05:12:15PM +0300, Andy Shevchenko wrote:
> It appears that GPIO DW APB driver wasn't touched for a long time. Here is
> the fix for long standing issue, i.e. missed module alias to make the driver
> be loaded automatically.
> 
> On top of above a lot small clean ups here and there.
> 
> The series based on the v3 by Serge Semin which he sent earlier.
> 
> Driver has been tested on Intel Galileo Gen2 with AT25 SPI EEPROM using it
> for a chip select.

Thanks one more time for the series of nice cleanups. I've successfully
tested it on our board with Baikal-T1 SoC, which has two DW APB IP-cores
embedded with Ports A being configured as GPIOx32 and irqless GPIOx3.
So for the whole series
Tested-by: Serge Semin <fancer.lancer@gmail.com>

(Note since until my series is merged in to the kernel technically I'm not
the driver maintainer so I'll use the reviewers tag for now where it's
relevant.)

Regards,
-Sergey

> 
> Andy Shevchenko (13):
>   gpio: dwapb: Append MODULE_ALIAS for platform driver
>   gpio: dwapb: Refactor IRQ handler
>   gpio: dwapb: set default handler to be handle_bad_irq()
>   gpio: dwapb: Deduplicate IRQ resource management
>   gpio: dwapb: Convert to use irqd_to_hwirq()
>   gpio: dwapb: Use device_get_match_data() to simplify code
>   gpio: dwapb: Convert to use IRQ core provided macros
>   gpio: dwapb: Switch to more usual pattern of RMW in
>     dwapb_gpio_set_debounce()
>   gpio: dwapb: Drop bogus BUG_ON()s
>   gpio: dwapb: Drop of_match_ptr() & ACPI_PTR() calls
>   gpio: dwapb: Split out dwapb_get_irq() helper
>   gpio: dwapb: Use positive conditional in dwapb_configure_irqs()
>   gpio: dwapb: Amend indentation in some cases
> 
>  drivers/gpio/gpio-dwapb.c | 205 +++++++++++++++-----------------------
>  1 file changed, 79 insertions(+), 126 deletions(-)
> 
> -- 
> 2.25.1
>
Andy Shevchenko April 15, 2020, 12:06 p.m. UTC | #3
On Wed, Apr 15, 2020 at 02:55:57PM +0300, Serge Semin wrote:
> Hello Andy
> 
> On Thu, Apr 09, 2020 at 05:12:15PM +0300, Andy Shevchenko wrote:
> > It appears that GPIO DW APB driver wasn't touched for a long time. Here is
> > the fix for long standing issue, i.e. missed module alias to make the driver
> > be loaded automatically.
> > 
> > On top of above a lot small clean ups here and there.
> > 
> > The series based on the v3 by Serge Semin which he sent earlier.
> > 
> > Driver has been tested on Intel Galileo Gen2 with AT25 SPI EEPROM using it
> > for a chip select.
> 
> Thanks one more time for the series of nice cleanups. I've successfully
> tested it on our board with Baikal-T1 SoC, which has two DW APB IP-cores
> embedded with Ports A being configured as GPIOx32 and irqless GPIOx3.
> So for the whole series
> Tested-by: Serge Semin <fancer.lancer@gmail.com>

Thank you very much.
I hope Linus will figure out how to proceed with this.

> (Note since until my series is merged in to the kernel technically I'm not
> the driver maintainer so I'll use the reviewers tag for now where it's
> relevant.)

Even if you are not (yet) maintainer, your tags count and be appreciated.