All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] drivers: new helper for ioremapping memory resources
@ 2019-02-20 11:12 Bartosz Golaszewski
  2019-02-20 11:12 ` [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource() Bartosz Golaszewski
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Bartosz Golaszewski @ 2019-02-20 11:12 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J . Wysocki, Keerthy, Linus Walleij,
	Andy Shevchenko
  Cc: linux-kernel, linux-gpio, Bartosz Golaszewski

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

There are currently 1200+ instances of using platform_get_resource()
and devm_ioremap_resource() together in the kernel tree. It's a minor
redundancy, but consolidation is always good.

The first patch in this series adds a wrapper for these two calls and
the second uses it in a driver I could test.

If accepted I'll prepare a coccinelle script that'll make it easier
to convert all users.

v1 -> v2:
- EXPORT_SYMBOL() -> EXPORT_SYMBOL_GPL()

Bartosz Golaszewski (2):
  drivers: provide devm_platform_ioremap_resource()
  gpio: davinci: use devm_platform_ioremap_resource()

 drivers/base/platform.c         | 18 ++++++++++++++++++
 drivers/gpio/gpio-davinci.c     |  4 +---
 include/linux/platform_device.h |  3 +++
 3 files changed, 22 insertions(+), 3 deletions(-)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource()
  2019-02-20 11:12 [PATCH v2 0/2] drivers: new helper for ioremapping memory resources Bartosz Golaszewski
@ 2019-02-20 11:12 ` Bartosz Golaszewski
  2019-02-20 11:16   ` Greg Kroah-Hartman
  2019-02-20 11:12 ` [PATCH v2 2/2] gpio: davinci: use devm_platform_ioremap_resource() Bartosz Golaszewski
  2019-02-20 12:04 ` [PATCH v2 0/2] drivers: new helper for ioremapping memory resources Andy Shevchenko
  2 siblings, 1 reply; 9+ messages in thread
From: Bartosz Golaszewski @ 2019-02-20 11:12 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J . Wysocki, Keerthy, Linus Walleij,
	Andy Shevchenko
  Cc: linux-kernel, linux-gpio, Bartosz Golaszewski

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

There are currently 1200+ instances of using platform_get_resource()
and devm_ioremap_resource() together in the kernel tree.

This patch wraps these two calls in a single helper. Thanks to that
we don't have to declare a local variable for struct resource * and can
omit the redundant argument for resource type. We also have one
function call less.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 drivers/base/platform.c         | 18 ++++++++++++++++++
 include/linux/platform_device.h |  3 +++
 2 files changed, 21 insertions(+)

diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 1c958eb33ef4..f82691e1c26c 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -79,6 +79,24 @@ struct resource *platform_get_resource(struct platform_device *dev,
 }
 EXPORT_SYMBOL_GPL(platform_get_resource);
 
+/**
+ * devm_platform_ioremap_resource - call devm_ioremap_resource() for a platform
+ *				    device
+ *
+ * @pdev: platform device to use both for memory resource lookup as well as
+ *        resource managemend
+ * @index: resource index
+ */
+void __iomem *devm_platform_ioremap_resource(struct platform_device *pdev,
+					     unsigned int index)
+{
+	struct resource *res;
+
+	res = platform_get_resource(pdev, IORESOURCE_MEM, index);
+	return devm_ioremap_resource(&pdev->dev, res);
+}
+EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource);
+
 /**
  * platform_get_irq - get an IRQ for a device
  * @dev: platform device
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index c7c081dc6034..b126b73ed8ef 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -52,6 +52,9 @@ extern struct device platform_bus;
 extern void arch_setup_pdev_archdata(struct platform_device *);
 extern struct resource *platform_get_resource(struct platform_device *,
 					      unsigned int, unsigned int);
+extern void __iomem *
+devm_platform_ioremap_resource(struct platform_device *pdev,
+			       unsigned int index);
 extern int platform_get_irq(struct platform_device *, unsigned int);
 extern int platform_irq_count(struct platform_device *);
 extern struct resource *platform_get_resource_byname(struct platform_device *,
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 2/2] gpio: davinci: use devm_platform_ioremap_resource()
  2019-02-20 11:12 [PATCH v2 0/2] drivers: new helper for ioremapping memory resources Bartosz Golaszewski
  2019-02-20 11:12 ` [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource() Bartosz Golaszewski
@ 2019-02-20 11:12 ` Bartosz Golaszewski
  2019-02-20 12:04 ` [PATCH v2 0/2] drivers: new helper for ioremapping memory resources Andy Shevchenko
  2 siblings, 0 replies; 9+ messages in thread
From: Bartosz Golaszewski @ 2019-02-20 11:12 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J . Wysocki, Keerthy, Linus Walleij,
	Andy Shevchenko
  Cc: linux-kernel, linux-gpio, Bartosz Golaszewski

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Use the new helper that wraps the calls to platform_get_resource() and
devm_ioremap_resource() together.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 drivers/gpio/gpio-davinci.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
index bdb29e51b417..188b8e5c8e67 100644
--- a/drivers/gpio/gpio-davinci.c
+++ b/drivers/gpio/gpio-davinci.c
@@ -198,7 +198,6 @@ static int davinci_gpio_probe(struct platform_device *pdev)
 	struct davinci_gpio_controller *chips;
 	struct davinci_gpio_platform_data *pdata;
 	struct device *dev = &pdev->dev;
-	struct resource *res;
 
 	pdata = davinci_gpio_get_pdata(pdev);
 	if (!pdata) {
@@ -236,8 +235,7 @@ static int davinci_gpio_probe(struct platform_device *pdev)
 	if (!chips)
 		return -ENOMEM;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	gpio_base = devm_ioremap_resource(dev, res);
+	gpio_base = devm_platform_ioremap_resource(pdev, 0);
 	if (IS_ERR(gpio_base))
 		return PTR_ERR(gpio_base);
 
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource()
  2019-02-20 11:12 ` [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource() Bartosz Golaszewski
@ 2019-02-20 11:16   ` Greg Kroah-Hartman
  2019-02-20 11:21     ` Bartosz Golaszewski
  0 siblings, 1 reply; 9+ messages in thread
From: Greg Kroah-Hartman @ 2019-02-20 11:16 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Rafael J . Wysocki, Keerthy, Linus Walleij, Andy Shevchenko,
	linux-kernel, linux-gpio, Bartosz Golaszewski

On Wed, Feb 20, 2019 at 12:12:39PM +0100, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> 
> There are currently 1200+ instances of using platform_get_resource()
> and devm_ioremap_resource() together in the kernel tree.
> 
> This patch wraps these two calls in a single helper. Thanks to that
> we don't have to declare a local variable for struct resource * and can
> omit the redundant argument for resource type. We also have one
> function call less.
> 
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource()
  2019-02-20 11:16   ` Greg Kroah-Hartman
@ 2019-02-20 11:21     ` Bartosz Golaszewski
  2019-02-20 12:15       ` Greg Kroah-Hartman
  0 siblings, 1 reply; 9+ messages in thread
From: Bartosz Golaszewski @ 2019-02-20 11:21 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rafael J . Wysocki, Keerthy, Linus Walleij, Andy Shevchenko,
	Linux Kernel Mailing List, open list:GPIO SUBSYSTEM,
	Bartosz Golaszewski

śr., 20 lut 2019 o 12:16 Greg Kroah-Hartman
<gregkh@linuxfoundation.org> napisał(a):
>
> On Wed, Feb 20, 2019 at 12:12:39PM +0100, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > There are currently 1200+ instances of using platform_get_resource()
> > and devm_ioremap_resource() together in the kernel tree.
> >
> > This patch wraps these two calls in a single helper. Thanks to that
> > we don't have to declare a local variable for struct resource * and can
> > omit the redundant argument for resource type. We also have one
> > function call less.
> >
> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>

Should this go through the driver-core tree?

Bart

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/2] drivers: new helper for ioremapping memory resources
  2019-02-20 11:12 [PATCH v2 0/2] drivers: new helper for ioremapping memory resources Bartosz Golaszewski
  2019-02-20 11:12 ` [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource() Bartosz Golaszewski
  2019-02-20 11:12 ` [PATCH v2 2/2] gpio: davinci: use devm_platform_ioremap_resource() Bartosz Golaszewski
@ 2019-02-20 12:04 ` Andy Shevchenko
  2 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2019-02-20 12:04 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Greg Kroah-Hartman, Rafael J . Wysocki, Keerthy, Linus Walleij,
	linux-kernel, linux-gpio, Bartosz Golaszewski

On Wed, Feb 20, 2019 at 12:12:38PM +0100, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> 
> There are currently 1200+ instances of using platform_get_resource()
> and devm_ioremap_resource() together in the kernel tree. It's a minor
> redundancy, but consolidation is always good.
> 
> The first patch in this series adds a wrapper for these two calls and
> the second uses it in a driver I could test.
> 
> If accepted I'll prepare a coccinelle script that'll make it easier
> to convert all users.
> 

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> v1 -> v2:
> - EXPORT_SYMBOL() -> EXPORT_SYMBOL_GPL()
> 
> Bartosz Golaszewski (2):
>   drivers: provide devm_platform_ioremap_resource()
>   gpio: davinci: use devm_platform_ioremap_resource()
> 
>  drivers/base/platform.c         | 18 ++++++++++++++++++
>  drivers/gpio/gpio-davinci.c     |  4 +---
>  include/linux/platform_device.h |  3 +++
>  3 files changed, 22 insertions(+), 3 deletions(-)
> 
> -- 
> 2.20.1
> 

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource()
  2019-02-20 11:21     ` Bartosz Golaszewski
@ 2019-02-20 12:15       ` Greg Kroah-Hartman
  2019-02-21  9:53         ` Bartosz Golaszewski
  0 siblings, 1 reply; 9+ messages in thread
From: Greg Kroah-Hartman @ 2019-02-20 12:15 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Rafael J . Wysocki, Keerthy, Linus Walleij, Andy Shevchenko,
	Linux Kernel Mailing List, open list:GPIO SUBSYSTEM,
	Bartosz Golaszewski

On Wed, Feb 20, 2019 at 12:21:26PM +0100, Bartosz Golaszewski wrote:
> śr., 20 lut 2019 o 12:16 Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> napisał(a):
> >
> > On Wed, Feb 20, 2019 at 12:12:39PM +0100, Bartosz Golaszewski wrote:
> > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > >
> > > There are currently 1200+ instances of using platform_get_resource()
> > > and devm_ioremap_resource() together in the kernel tree.
> > >
> > > This patch wraps these two calls in a single helper. Thanks to that
> > > we don't have to declare a local variable for struct resource * and can
> > > omit the redundant argument for resource type. We also have one
> > > function call less.
> > >
> > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> >
> 
> Should this go through the driver-core tree?

No need, put it through the tree for patch 2/2.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource()
  2019-02-20 12:15       ` Greg Kroah-Hartman
@ 2019-02-21  9:53         ` Bartosz Golaszewski
  2019-02-21 12:06           ` Linus Walleij
  0 siblings, 1 reply; 9+ messages in thread
From: Bartosz Golaszewski @ 2019-02-21  9:53 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Rafael J . Wysocki, Keerthy, Andy Shevchenko,
	Linux Kernel Mailing List, open list:GPIO SUBSYSTEM,
	Bartosz Golaszewski, Greg Kroah-Hartman

śr., 20 lut 2019 o 13:15 Greg Kroah-Hartman
<gregkh@linuxfoundation.org> napisał(a):
>
> On Wed, Feb 20, 2019 at 12:21:26PM +0100, Bartosz Golaszewski wrote:
> > śr., 20 lut 2019 o 12:16 Greg Kroah-Hartman
> > <gregkh@linuxfoundation.org> napisał(a):
> > >
> > > On Wed, Feb 20, 2019 at 12:12:39PM +0100, Bartosz Golaszewski wrote:
> > > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > > >
> > > > There are currently 1200+ instances of using platform_get_resource()
> > > > and devm_ioremap_resource() together in the kernel tree.
> > > >
> > > > This patch wraps these two calls in a single helper. Thanks to that
> > > > we don't have to declare a local variable for struct resource * and can
> > > > omit the redundant argument for resource type. We also have one
> > > > function call less.
> > > >
> > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > >
> > > Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > >
> >
> > Should this go through the driver-core tree?
>
> No need, put it through the tree for patch 2/2.
>
> thanks,
>
> greg k-h

Linus,

can you take the two patches for v5.1?

Bart

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource()
  2019-02-21  9:53         ` Bartosz Golaszewski
@ 2019-02-21 12:06           ` Linus Walleij
  0 siblings, 0 replies; 9+ messages in thread
From: Linus Walleij @ 2019-02-21 12:06 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Rafael J . Wysocki, Keerthy, Andy Shevchenko,
	Linux Kernel Mailing List, open list:GPIO SUBSYSTEM,
	Bartosz Golaszewski, Greg Kroah-Hartman

On Thu, Feb 21, 2019 at 10:53 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:

> > > Should this go through the driver-core tree?
> >
> > No need, put it through the tree for patch 2/2.
> >
> > thanks,
> >
> > greg k-h
>
> Linus,
>
> can you take the two patches for v5.1?

Yup both merged to the GPIO tree, thanks!

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-02-21 12:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-20 11:12 [PATCH v2 0/2] drivers: new helper for ioremapping memory resources Bartosz Golaszewski
2019-02-20 11:12 ` [PATCH v2 1/2] drivers: provide devm_platform_ioremap_resource() Bartosz Golaszewski
2019-02-20 11:16   ` Greg Kroah-Hartman
2019-02-20 11:21     ` Bartosz Golaszewski
2019-02-20 12:15       ` Greg Kroah-Hartman
2019-02-21  9:53         ` Bartosz Golaszewski
2019-02-21 12:06           ` Linus Walleij
2019-02-20 11:12 ` [PATCH v2 2/2] gpio: davinci: use devm_platform_ioremap_resource() Bartosz Golaszewski
2019-02-20 12:04 ` [PATCH v2 0/2] drivers: new helper for ioremapping memory resources Andy Shevchenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.