mbox series

[v1,0/8] pinctrl: intel: Move Lynxpoint to pin control umbrella

Message ID 20191106144829.32275-1-andriy.shevchenko@linux.intel.com
Headers show
Series pinctrl: intel: Move Lynxpoint to pin control umbrella | expand

Message

Andy Shevchenko Nov. 6, 2019, 2:48 p.m. UTC
Intel Lynxpoint GPIO is actually half way to the Chassis specification that has
been established starting from Intel Skylake. It has some pin control
properties we may utilize. To achieve this, move the driver under pin control
umbrella and do a bunch of clean ups.

This is the first step. Next step will be to convert it to the actual pin
control driver.

The series has been tested on Harrisbeach Ultrabook where Lynxpoint GPIO is
exposed to the OS.

Andy Shevchenko (8):
  pinctrl: lynxpoint: Move GPIO driver to pin controller folder
  pinctrl: lynxpoint: Use raw_spinlock for locking
  pinctrl: lynxpoint: Correct amount of pins
  pinctrl: lynxpoint: Keep pointer to struct device instead of its
    container
  pinctrl: lynxpoint: Use %pR to print IO resource
  pinctrl: lynxpoint: Switch to memory mapped IO accessors
  pinctrl: lynxpoint: Convert unsigned to unsigned int
  pinctrl: lynxpoint: Move ->remove closer to ->probe()

 MAINTAINERS                                   |   1 -
 drivers/gpio/Kconfig                          |   8 -
 drivers/gpio/Makefile                         |   1 -
 drivers/pinctrl/intel/Kconfig                 |  10 ++
 drivers/pinctrl/intel/Makefile                |   1 +
 .../intel/pinctrl-lynxpoint.c}                | 168 +++++++++---------
 6 files changed, 93 insertions(+), 96 deletions(-)
 rename drivers/{gpio/gpio-lynxpoint.c => pinctrl/intel/pinctrl-lynxpoint.c} (72%)

Comments

Linus Walleij Nov. 13, 2019, 9:54 a.m. UTC | #1
On Wed, Nov 6, 2019 at 3:48 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:

> Intel Lynxpoint GPIO is actually half way to the Chassis specification that has
> been established starting from Intel Skylake. It has some pin control
> properties we may utilize. To achieve this, move the driver under pin control
> umbrella and do a bunch of clean ups.
>
> This is the first step. Next step will be to convert it to the actual pin
> control driver.
>
> The series has been tested on Harrisbeach Ultrabook where Lynxpoint GPIO is
> exposed to the OS.
>
> Andy Shevchenko (8):
>   pinctrl: lynxpoint: Move GPIO driver to pin controller folder
>   pinctrl: lynxpoint: Use raw_spinlock for locking
>   pinctrl: lynxpoint: Correct amount of pins
>   pinctrl: lynxpoint: Keep pointer to struct device instead of its
>     container
>   pinctrl: lynxpoint: Use %pR to print IO resource
>   pinctrl: lynxpoint: Switch to memory mapped IO accessors
>   pinctrl: lynxpoint: Convert unsigned to unsigned int
>   pinctrl: lynxpoint: Move ->remove closer to ->probe()

I'm a big fan of this refactoring.

Can you send this series as a separate pull request that I can pull into
the GPIO tree rather than pin control, or maybe both, once you're
pleased with it?

Yours,
Linus Walleij
Andy Shevchenko Nov. 25, 2019, 12:02 p.m. UTC | #2
On Wed, Nov 13, 2019 at 10:54:36AM +0100, Linus Walleij wrote:
> On Wed, Nov 6, 2019 at 3:48 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> 
> > Intel Lynxpoint GPIO is actually half way to the Chassis specification that has
> > been established starting from Intel Skylake. It has some pin control
> > properties we may utilize. To achieve this, move the driver under pin control
> > umbrella and do a bunch of clean ups.
> >
> > This is the first step. Next step will be to convert it to the actual pin
> > control driver.
> >
> > The series has been tested on Harrisbeach Ultrabook where Lynxpoint GPIO is
> > exposed to the OS.
> >
> > Andy Shevchenko (8):
> >   pinctrl: lynxpoint: Move GPIO driver to pin controller folder
> >   pinctrl: lynxpoint: Use raw_spinlock for locking
> >   pinctrl: lynxpoint: Correct amount of pins
> >   pinctrl: lynxpoint: Keep pointer to struct device instead of its
> >     container
> >   pinctrl: lynxpoint: Use %pR to print IO resource
> >   pinctrl: lynxpoint: Switch to memory mapped IO accessors
> >   pinctrl: lynxpoint: Convert unsigned to unsigned int
> >   pinctrl: lynxpoint: Move ->remove closer to ->probe()
> 
> I'm a big fan of this refactoring.

Glad we are on the same page about it!

> Can you send this series as a separate pull request that I can pull into
> the GPIO tree rather than pin control, or maybe both, once you're
> pleased with it?

I have done more and it still requires some work. I will send v2 after merge
window being closed.