mbox series

[0/9] drivers: add new variants of devm_platform_ioremap_resource()

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

Message

Bartosz Golaszewski Aug. 29, 2019, 2:37 p.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

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

Bartosz Golaszewski (9):
  Documentation: devres: add missing entry for
    devm_platform_ioremap_resource()
  lib: devres: prepare devm_ioremap_resource() for more variants
  lib: devres: provide new variants for devm_ioremap_resource()
  drivers: provide new variants of devm_platform_ioremap_resource()
  gpio: em: use devm_platform_ioremap_resource_nocache()
  gpio: ath79: use devm_platform_ioremap_resource_nocache()
  gpio: htc-egpio: use devm_platform_ioremap_resource_nocache()
  gpio: xgene: use devm_platform_ioremap_resource_nocache()
  misc: sram: use devm_platform_ioremap_resource_wc()

 .../driver-api/driver-model/devres.rst        |  5 ++
 drivers/base/platform.c                       | 70 +++++++++++++++--
 drivers/gpio/gpio-ath79.c                     | 10 +--
 drivers/gpio/gpio-em.c                        | 22 +++---
 drivers/gpio/gpio-htc-egpio.c                 | 13 ++--
 drivers/gpio/gpio-xgene.c                     | 14 +---
 drivers/misc/sram.c                           | 28 ++-----
 include/linux/device.h                        |  4 +
 include/linux/platform_device.h               |  6 ++
 lib/devres.c                                  | 76 ++++++++++++++-----
 10 files changed, 165 insertions(+), 83 deletions(-)

Comments

Geert Uytterhoeven Aug. 29, 2019, 2:48 p.m. UTC | #1
Hi Bartosz,

On Thu, Aug 29, 2019 at 4:38 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> The new devm_platform_ioremap_resource() helper has now been widely
> adopted and used in many drivers. Users of nocache and write-combined
> ioremap() variants could profit from the same code shrinkage. This
> series provides two new versions of devm_platform_ioremap_resource()
> and uses it in a few example drivers with the assumption that - just
> like was the case previously - a coccinelle script will be developed
> to ease the transition for others.

Please be aware that the number of ioremap() variants is being
reduced, as some of them are redundant (e.g. ioremap() already creates
an uncached mapping, so ioremap_nocache() is not needed).
So less is better than more ;-)

https://lore.kernel.org/lkml/20190817073253.27819-1-hch@lst.de/

Gr{oetje,eeting}s,

                        Geert
Christoph Hellwig Aug. 30, 2019, 3:59 p.m. UTC | #2
On Thu, Aug 29, 2019 at 04:48:36PM +0200, Geert Uytterhoeven wrote:
> Hi Bartosz,
> 
> On Thu, Aug 29, 2019 at 4:38 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > The new devm_platform_ioremap_resource() helper has now been widely
> > adopted and used in many drivers. Users of nocache and write-combined
> > ioremap() variants could profit from the same code shrinkage. This
> > series provides two new versions of devm_platform_ioremap_resource()
> > and uses it in a few example drivers with the assumption that - just
> > like was the case previously - a coccinelle script will be developed
> > to ease the transition for others.
> 
> Please be aware that the number of ioremap() variants is being
> reduced, as some of them are redundant (e.g. ioremap() already creates
> an uncached mapping, so ioremap_nocache() is not needed).
> So less is better than more ;-)

Yes.  If I can get the ia64 and openrisc patch in I plan to send Linus
a scripted removal of ioremap_nocache after -rc1.  I already have a
local patch for current mainline as of about two weeks ago.