mbox series

[RESEND,v3,0/8] drivers: add new variants of devm_platform_ioremap_resource()

Message ID 20191022084318.22256-1-brgl@bgdev.pl
Headers show
Series drivers: add new variants of devm_platform_ioremap_resource() | expand

Message

Bartosz Golaszewski Oct. 22, 2019, 8:43 a.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Note: resending with Arnd's review tags and rebased on top of char-misc-next

The new devm_platform_ioremap_resource() helper has now been widely
adopted and used in many drivers. Users of the write-combined ioremap()
variants could benefit from the same code shrinkage. This series provides
a write-combined version of devm_platform_ioremap_resource() and uses it in a
relevant driver with the assumption that - just like was the case
previously - a coccinelle script will be developed to ease the transition
for others.

There are also users of platform_get_resource_byname() who call
devm_ioremap_resource() next, so provide another variant that they can use
together with two examples.

v1 -> v2:
- dropped everything related to nocache ioremap as this is going away

v2 -> v3:
- don't call platform_get_resource() as an argument of devm_ioremap_resource(),
  it actually decreases readability
- add devm_platform_ioremap_resource_byname() as another variant

Bartosz Golaszewski (8):
  Documentation: devres: add missing entry for
    devm_platform_ioremap_resource()
  lib: devres: prepare devm_ioremap_resource() for more variants
  lib: devres: provide devm_ioremap_resource_wc()
  drivers: platform: provide devm_platform_ioremap_resource_wc()
  misc: sram: use devm_platform_ioremap_resource_wc()
  drivers: provide devm_platform_ioremap_resource_byname()
  gpio: mvebu: use devm_platform_ioremap_resource_byname()
  gpio: tegra186: use devm_platform_ioremap_resource_byname()

 .../driver-api/driver-model/devres.rst        |  4 ++
 drivers/base/platform.c                       | 39 +++++++++++-
 drivers/gpio/gpio-mvebu.c                     | 19 +++---
 drivers/gpio/gpio-tegra186.c                  |  4 +-
 drivers/misc/sram.c                           | 28 +++------
 include/linux/device.h                        |  2 +
 include/linux/platform_device.h               |  6 ++
 lib/devres.c                                  | 62 +++++++++++++------
 8 files changed, 108 insertions(+), 56 deletions(-)

Comments

Bartosz Golaszewski Nov. 4, 2019, 9:29 a.m. UTC | #1
wt., 22 paź 2019 o 10:43 Bartosz Golaszewski <brgl@bgdev.pl> napisał(a):
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Note: resending with Arnd's review tags and rebased on top of char-misc-next
>
> The new devm_platform_ioremap_resource() helper has now been widely
> adopted and used in many drivers. Users of the write-combined ioremap()
> variants could benefit from the same code shrinkage. This series provides
> a write-combined version of devm_platform_ioremap_resource() and uses it in a
> relevant driver with the assumption that - just like was the case
> previously - a coccinelle script will be developed to ease the transition
> for others.
>
> There are also users of platform_get_resource_byname() who call
> devm_ioremap_resource() next, so provide another variant that they can use
> together with two examples.
>
> v1 -> v2:
> - dropped everything related to nocache ioremap as this is going away
>
> v2 -> v3:
> - don't call platform_get_resource() as an argument of devm_ioremap_resource(),
>   it actually decreases readability
> - add devm_platform_ioremap_resource_byname() as another variant
>
> Bartosz Golaszewski (8):
>   Documentation: devres: add missing entry for
>     devm_platform_ioremap_resource()
>   lib: devres: prepare devm_ioremap_resource() for more variants
>   lib: devres: provide devm_ioremap_resource_wc()
>   drivers: platform: provide devm_platform_ioremap_resource_wc()
>   misc: sram: use devm_platform_ioremap_resource_wc()
>   drivers: provide devm_platform_ioremap_resource_byname()
>   gpio: mvebu: use devm_platform_ioremap_resource_byname()
>   gpio: tegra186: use devm_platform_ioremap_resource_byname()
>
>  .../driver-api/driver-model/devres.rst        |  4 ++
>  drivers/base/platform.c                       | 39 +++++++++++-
>  drivers/gpio/gpio-mvebu.c                     | 19 +++---
>  drivers/gpio/gpio-tegra186.c                  |  4 +-
>  drivers/misc/sram.c                           | 28 +++------
>  include/linux/device.h                        |  2 +
>  include/linux/platform_device.h               |  6 ++
>  lib/devres.c                                  | 62 +++++++++++++------
>  8 files changed, 108 insertions(+), 56 deletions(-)
>
> --
> 2.23.0
>

Hi Greg,

can you pick it up for char-misc for v5.5? This was reviewed by Arnd.

Best regards,
Bartosz Golaszewski
gregkh@linuxfoundation.org Nov. 4, 2019, 10:24 a.m. UTC | #2
On Mon, Nov 04, 2019 at 10:29:23AM +0100, Bartosz Golaszewski wrote:
> wt., 22 paź 2019 o 10:43 Bartosz Golaszewski <brgl@bgdev.pl> napisał(a):
> >
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > Note: resending with Arnd's review tags and rebased on top of char-misc-next
> >
> > The new devm_platform_ioremap_resource() helper has now been widely
> > adopted and used in many drivers. Users of the write-combined ioremap()
> > variants could benefit from the same code shrinkage. This series provides
> > a write-combined version of devm_platform_ioremap_resource() and uses it in a
> > relevant driver with the assumption that - just like was the case
> > previously - a coccinelle script will be developed to ease the transition
> > for others.
> >
> > There are also users of platform_get_resource_byname() who call
> > devm_ioremap_resource() next, so provide another variant that they can use
> > together with two examples.
> >
> > v1 -> v2:
> > - dropped everything related to nocache ioremap as this is going away
> >
> > v2 -> v3:
> > - don't call platform_get_resource() as an argument of devm_ioremap_resource(),
> >   it actually decreases readability
> > - add devm_platform_ioremap_resource_byname() as another variant
> >
> > Bartosz Golaszewski (8):
> >   Documentation: devres: add missing entry for
> >     devm_platform_ioremap_resource()
> >   lib: devres: prepare devm_ioremap_resource() for more variants
> >   lib: devres: provide devm_ioremap_resource_wc()
> >   drivers: platform: provide devm_platform_ioremap_resource_wc()
> >   misc: sram: use devm_platform_ioremap_resource_wc()
> >   drivers: provide devm_platform_ioremap_resource_byname()
> >   gpio: mvebu: use devm_platform_ioremap_resource_byname()
> >   gpio: tegra186: use devm_platform_ioremap_resource_byname()
> >
> >  .../driver-api/driver-model/devres.rst        |  4 ++
> >  drivers/base/platform.c                       | 39 +++++++++++-
> >  drivers/gpio/gpio-mvebu.c                     | 19 +++---
> >  drivers/gpio/gpio-tegra186.c                  |  4 +-
> >  drivers/misc/sram.c                           | 28 +++------
> >  include/linux/device.h                        |  2 +
> >  include/linux/platform_device.h               |  6 ++
> >  lib/devres.c                                  | 62 +++++++++++++------
> >  8 files changed, 108 insertions(+), 56 deletions(-)
> >
> > --
> > 2.23.0
> >
> 
> Hi Greg,
> 
> can you pick it up for char-misc for v5.5? This was reviewed by Arnd.

Yes, sorry, am backlogged on patches at the moment, will get to it this
week...

greg k-h
gregkh@linuxfoundation.org Nov. 5, 2019, 5:33 p.m. UTC | #3
On Tue, Oct 22, 2019 at 10:43:10AM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> 
> Note: resending with Arnd's review tags and rebased on top of char-misc-next
> 
> The new devm_platform_ioremap_resource() helper has now been widely
> adopted and used in many drivers. Users of the write-combined ioremap()
> variants could benefit from the same code shrinkage. This series provides
> a write-combined version of devm_platform_ioremap_resource() and uses it in a
> relevant driver with the assumption that - just like was the case
> previously - a coccinelle script will be developed to ease the transition
> for others.
> 
> There are also users of platform_get_resource_byname() who call
> devm_ioremap_resource() next, so provide another variant that they can use
> together with two examples.

I've queued these up in my driver-core tree as there were some conflicts
with other work that happened in platform.h and device.h that I figured
would be good to get out of the way now and not have to wait until the
merge window to resolve.

thanks,

greg k-h