linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource()
@ 2020-10-27 17:58 Andy Shevchenko
  2020-10-27 17:58 ` [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource() Andy Shevchenko
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Andy Shevchenko @ 2020-10-27 17:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: Andy Shevchenko, Eric Auger, Alex Williamson, Cornelia Huck, kvm,
	linux-usb, Peng Hao, Arnd Bergmann

There are at least few existing users of the proposed API which
retrieves either MEM or IO resource from platform device.

Make it common to utilize in the existing and new users.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Eric Auger <eric.auger@redhat.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cornelia Huck <cohuck@redhat.com>
Cc: kvm@vger.kernel.org
Cc: linux-usb@vger.kernel.org
Cc: Peng Hao <peng.hao2@zte.com.cn>
Cc: Arnd Bergmann <arnd@arndb.de>
---
 include/linux/platform_device.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index 77a2aada106d..eb8d74744e29 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -52,6 +52,19 @@ extern struct device platform_bus;
 
 extern struct resource *platform_get_resource(struct platform_device *,
 					      unsigned int, unsigned int);
+static inline
+struct resource *platform_get_mem_or_io_resource(struct platform_device *pdev,
+						 unsigned int num)
+{
+	struct resource *res;
+
+	res = platform_get_resource(pdev, IORESOURCE_MEM, num);
+	if (res)
+		return res;
+
+	return platform_get_resource(pdev, IORESOURCE_IO, num);
+}
+
 extern struct device *
 platform_find_device_by_driver(struct device *start,
 			       const struct device_driver *drv);
-- 
2.28.0


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

* [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-10-27 17:58 [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Andy Shevchenko
@ 2020-10-27 17:58 ` Andy Shevchenko
  2020-12-03 12:54   ` Auger Eric
                     ` (2 more replies)
  2020-10-27 17:58 ` [PATCH v1 3/5] usb: host: sl811: " Andy Shevchenko
                   ` (3 subsequent siblings)
  4 siblings, 3 replies; 16+ messages in thread
From: Andy Shevchenko @ 2020-10-27 17:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: Andy Shevchenko, Eric Auger, Alex Williamson, Cornelia Huck, kvm

Switch to use new platform_get_mem_or_io_resource() instead of
home grown analogue.

Cc: Eric Auger <eric.auger@redhat.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cornelia Huck <cohuck@redhat.com>
Cc: kvm@vger.kernel.org
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/vfio/platform/vfio_platform.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/vfio/platform/vfio_platform.c b/drivers/vfio/platform/vfio_platform.c
index 1e2769010089..84afafb6941b 100644
--- a/drivers/vfio/platform/vfio_platform.c
+++ b/drivers/vfio/platform/vfio_platform.c
@@ -25,19 +25,8 @@ static struct resource *get_platform_resource(struct vfio_platform_device *vdev,
 					      int num)
 {
 	struct platform_device *dev = (struct platform_device *) vdev->opaque;
-	int i;
 
-	for (i = 0; i < dev->num_resources; i++) {
-		struct resource *r = &dev->resource[i];
-
-		if (resource_type(r) & (IORESOURCE_MEM|IORESOURCE_IO)) {
-			if (!num)
-				return r;
-
-			num--;
-		}
-	}
-	return NULL;
+	return platform_get_mem_or_io_resource(dev, num);
 }
 
 static int get_platform_irq(struct vfio_platform_device *vdev, int i)
-- 
2.28.0


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

* [PATCH v1 3/5] usb: host: sl811: Switch to use platform_get_mem_or_io_resource()
  2020-10-27 17:58 [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Andy Shevchenko
  2020-10-27 17:58 ` [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource() Andy Shevchenko
@ 2020-10-27 17:58 ` Andy Shevchenko
  2020-10-27 17:58 ` [PATCH v1 4/5] misc: pvpanic: Combine ACPI and platform drivers Andy Shevchenko
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: Andy Shevchenko @ 2020-10-27 17:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel; +Cc: Andy Shevchenko, linux-usb

Switch to use new platform_get_mem_or_io_resource() instead of
home grown analogue.

Note, the code has been moved upper in the function to allow farther cleanups,
such as resource sanity check.

Cc: linux-usb@vger.kernel.org
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/usb/host/sl811-hcd.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c
index adaf4063690a..7e0d6f686231 100644
--- a/drivers/usb/host/sl811-hcd.c
+++ b/drivers/usb/host/sl811-hcd.c
@@ -1614,12 +1614,18 @@ sl811h_probe(struct platform_device *dev)
 	void __iomem		*addr_reg;
 	void __iomem		*data_reg;
 	int			retval;
-	u8			tmp, ioaddr = 0;
+	u8			tmp, ioaddr;
 	unsigned long		irqflags;
 
 	if (usb_disabled())
 		return -ENODEV;
 
+	/* the chip may be wired for either kind of addressing */
+	addr = platform_get_mem_or_io_resource(dev, 0);
+	data = platform_get_mem_or_io_resource(dev, 1);
+	if (!addr || !data || resource_type(addr) != resource_type(data))
+		return -ENODEV;
+
 	/* basic sanity checks first.  board-specific init logic should
 	 * have initialized these three resources and probably board
 	 * specific platform_data.  we don't probe for IRQs, and do only
@@ -1632,16 +1638,8 @@ sl811h_probe(struct platform_device *dev)
 	irq = ires->start;
 	irqflags = ires->flags & IRQF_TRIGGER_MASK;
 
-	/* the chip may be wired for either kind of addressing */
-	addr = platform_get_resource(dev, IORESOURCE_MEM, 0);
-	data = platform_get_resource(dev, IORESOURCE_MEM, 1);
-	retval = -EBUSY;
-	if (!addr || !data) {
-		addr = platform_get_resource(dev, IORESOURCE_IO, 0);
-		data = platform_get_resource(dev, IORESOURCE_IO, 1);
-		if (!addr || !data)
-			return -ENODEV;
-		ioaddr = 1;
+	ioaddr = resource_type(addr) == IORESOURCE_IO;
+	if (ioaddr) {
 		/*
 		 * NOTE: 64-bit resource->start is getting truncated
 		 * to avoid compiler warning, assuming that ->start
-- 
2.28.0


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

* [PATCH v1 4/5] misc: pvpanic: Combine ACPI and platform drivers
  2020-10-27 17:58 [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Andy Shevchenko
  2020-10-27 17:58 ` [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource() Andy Shevchenko
  2020-10-27 17:58 ` [PATCH v1 3/5] usb: host: sl811: " Andy Shevchenko
@ 2020-10-27 17:58 ` Andy Shevchenko
       [not found]   ` <CAK8P3a3XgTD2bFej0=WsD3a=uMur36_C71EiOvw3wb5A9QPAfQ@mail.gmail.com>
  2020-10-27 17:58 ` [PATCH v1 5/5] misc: pvpanic: Replace OF headers by mod_devicetable.h Andy Shevchenko
  2020-12-03 13:21 ` [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Cornelia Huck
  4 siblings, 1 reply; 16+ messages in thread
From: Andy Shevchenko @ 2020-10-27 17:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel; +Cc: Andy Shevchenko, Peng Hao, Arnd Bergmann

There is nothing special in the driver that requires
to have special ACPI driver for it. Combine both
into simple platform driver.

Cc: Peng Hao <peng.hao2@zte.com.cn>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/misc/pvpanic.c | 130 ++++++-----------------------------------
 1 file changed, 17 insertions(+), 113 deletions(-)

diff --git a/drivers/misc/pvpanic.c b/drivers/misc/pvpanic.c
index e16a5e51006e..103a09ed651d 100644
--- a/drivers/misc/pvpanic.c
+++ b/drivers/misc/pvpanic.c
@@ -8,7 +8,7 @@
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
-#include <linux/acpi.h>
+#include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/kexec.h>
 #include <linux/module.h>
@@ -49,101 +49,16 @@ static struct notifier_block pvpanic_panic_nb = {
 	.priority = 1, /* let this called before broken drm_fb_helper */
 };
 
-#ifdef CONFIG_ACPI
-static int pvpanic_add(struct acpi_device *device);
-static int pvpanic_remove(struct acpi_device *device);
-
-static const struct acpi_device_id pvpanic_device_ids[] = {
-	{ "QEMU0001", 0 },
-	{ "", 0 }
-};
-MODULE_DEVICE_TABLE(acpi, pvpanic_device_ids);
-
-static struct acpi_driver pvpanic_driver = {
-	.name =		"pvpanic",
-	.class =	"QEMU",
-	.ids =		pvpanic_device_ids,
-	.ops =		{
-				.add =		pvpanic_add,
-				.remove =	pvpanic_remove,
-			},
-	.owner =	THIS_MODULE,
-};
-
-static acpi_status
-pvpanic_walk_resources(struct acpi_resource *res, void *context)
-{
-	struct resource r;
-
-	if (acpi_dev_resource_io(res, &r)) {
-#ifdef CONFIG_HAS_IOPORT_MAP
-		base = ioport_map(r.start, resource_size(&r));
-		return AE_OK;
-#else
-		return AE_ERROR;
-#endif
-	} else if (acpi_dev_resource_memory(res, &r)) {
-		base = ioremap(r.start, resource_size(&r));
-		return AE_OK;
-	}
-
-	return AE_ERROR;
-}
-
-static int pvpanic_add(struct acpi_device *device)
-{
-	int ret;
-
-	ret = acpi_bus_get_status(device);
-	if (ret < 0)
-		return ret;
-
-	if (!device->status.enabled || !device->status.functional)
-		return -ENODEV;
-
-	acpi_walk_resources(device->handle, METHOD_NAME__CRS,
-			    pvpanic_walk_resources, NULL);
-
-	if (!base)
-		return -ENODEV;
-
-	atomic_notifier_chain_register(&panic_notifier_list,
-				       &pvpanic_panic_nb);
-
-	return 0;
-}
-
-static int pvpanic_remove(struct acpi_device *device)
-{
-
-	atomic_notifier_chain_unregister(&panic_notifier_list,
-					 &pvpanic_panic_nb);
-	iounmap(base);
-
-	return 0;
-}
-
-static int pvpanic_register_acpi_driver(void)
-{
-	return acpi_bus_register_driver(&pvpanic_driver);
-}
-
-static void pvpanic_unregister_acpi_driver(void)
-{
-	acpi_bus_unregister_driver(&pvpanic_driver);
-}
-#else
-static int pvpanic_register_acpi_driver(void)
-{
-	return -ENODEV;
-}
-
-static void pvpanic_unregister_acpi_driver(void) {}
-#endif
-
 static int pvpanic_mmio_probe(struct platform_device *pdev)
 {
-	base = devm_platform_ioremap_resource(pdev, 0);
+	struct device *dev = &pdev->dev;
+	struct resource *res;
+
+	res = platform_get_mem_or_io_resource(pdev, 0);
+	if (res && resource_type(res) == IORESOURCE_IO)
+		base = devm_ioport_map(dev, res->start, resource_size(res));
+	else
+		base = devm_ioremap_resource(dev, res);
 	if (IS_ERR(base))
 		return PTR_ERR(base);
 
@@ -167,30 +82,19 @@ static const struct of_device_id pvpanic_mmio_match[] = {
 	{}
 };
 
+static const struct acpi_device_id pvpanic_device_ids[] = {
+	{ "QEMU0001", 0 },
+	{ "", 0 }
+};
+MODULE_DEVICE_TABLE(acpi, pvpanic_device_ids);
+
 static struct platform_driver pvpanic_mmio_driver = {
 	.driver = {
 		.name = "pvpanic-mmio",
 		.of_match_table = pvpanic_mmio_match,
+		.acpi_match_table = pvpanic_device_ids,
 	},
 	.probe = pvpanic_mmio_probe,
 	.remove = pvpanic_mmio_remove,
 };
-
-static int __init pvpanic_mmio_init(void)
-{
-	if (acpi_disabled)
-		return platform_driver_register(&pvpanic_mmio_driver);
-	else
-		return pvpanic_register_acpi_driver();
-}
-
-static void __exit pvpanic_mmio_exit(void)
-{
-	if (acpi_disabled)
-		platform_driver_unregister(&pvpanic_mmio_driver);
-	else
-		pvpanic_unregister_acpi_driver();
-}
-
-module_init(pvpanic_mmio_init);
-module_exit(pvpanic_mmio_exit);
+module_platform_driver(pvpanic_mmio_driver);
-- 
2.28.0


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

* [PATCH v1 5/5] misc: pvpanic: Replace OF headers by mod_devicetable.h
  2020-10-27 17:58 [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Andy Shevchenko
                   ` (2 preceding siblings ...)
  2020-10-27 17:58 ` [PATCH v1 4/5] misc: pvpanic: Combine ACPI and platform drivers Andy Shevchenko
@ 2020-10-27 17:58 ` Andy Shevchenko
  2020-12-03 13:21 ` [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Cornelia Huck
  4 siblings, 0 replies; 16+ messages in thread
From: Andy Shevchenko @ 2020-10-27 17:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel; +Cc: Andy Shevchenko, Peng Hao, Arnd Bergmann

There is no use for OF headers in the driver, but mod_devicetable.h
must be included. Update driver accordingly.

Cc: Peng Hao <peng.hao2@zte.com.cn>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/misc/pvpanic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/pvpanic.c b/drivers/misc/pvpanic.c
index 103a09ed651d..a45e70c5b6b9 100644
--- a/drivers/misc/pvpanic.c
+++ b/drivers/misc/pvpanic.c
@@ -11,11 +11,11 @@
 #include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/kexec.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
-#include <linux/of.h>
-#include <linux/of_address.h>
 #include <linux/platform_device.h>
 #include <linux/types.h>
+
 #include <uapi/misc/pvpanic.h>
 
 static void __iomem *base;
-- 
2.28.0


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

* Re: [PATCH v1 4/5] misc: pvpanic: Combine ACPI and platform drivers
       [not found]   ` <CAK8P3a3XgTD2bFej0=WsD3a=uMur36_C71EiOvw3wb5A9QPAfQ@mail.gmail.com>
@ 2020-10-28 15:51     ` Arnd Bergmann
  2020-10-28 16:27       ` Andy Shevchenko
  0 siblings, 1 reply; 16+ messages in thread
From: Arnd Bergmann @ 2020-10-28 15:51 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: Greg Kroah-Hartman, linux-kernel, Peng Hao

(resending from the kernel.org address because of bounces)

On Tue, Oct 27, 2020 at 11:07 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Tue, Oct 27, 2020 at 6:58 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
>
> >  static int pvpanic_mmio_probe(struct platform_device *pdev)
> >  {
> > -       base = devm_platform_ioremap_resource(pdev, 0);
> > +       struct device *dev = &pdev->dev;
> > +       struct resource *res;
> > +
> > +       res = platform_get_mem_or_io_resource(pdev, 0);
> > +       if (res && resource_type(res) == IORESOURCE_IO)
> > +               base = devm_ioport_map(dev, res->start, resource_size(res));
> > +       else
> > +               base = devm_ioremap_resource(dev, res);
>
> Maybe this could already be combined into a devm_platform_iomap_resource()
> similar to pci_iomap()?
>
>         Arnd

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

* Re: [PATCH v1 4/5] misc: pvpanic: Combine ACPI and platform drivers
  2020-10-28 15:51     ` Arnd Bergmann
@ 2020-10-28 16:27       ` Andy Shevchenko
  0 siblings, 0 replies; 16+ messages in thread
From: Andy Shevchenko @ 2020-10-28 16:27 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: Greg Kroah-Hartman, linux-kernel, Peng Hao

On Wed, Oct 28, 2020 at 04:51:19PM +0100, Arnd Bergmann wrote:
> (resending from the kernel.org address because of bounces)
> 
> On Tue, Oct 27, 2020 at 11:07 PM Arnd Bergmann <arnd@arndb.de> wrote:
> >
> > On Tue, Oct 27, 2020 at 6:58 PM Andy Shevchenko
> > <andriy.shevchenko@linux.intel.com> wrote:
> >
> > >  static int pvpanic_mmio_probe(struct platform_device *pdev)
> > >  {
> > > -       base = devm_platform_ioremap_resource(pdev, 0);
> > > +       struct device *dev = &pdev->dev;
> > > +       struct resource *res;
> > > +
> > > +       res = platform_get_mem_or_io_resource(pdev, 0);
> > > +       if (res && resource_type(res) == IORESOURCE_IO)
> > > +               base = devm_ioport_map(dev, res->start, resource_size(res));
> > > +       else
> > > +               base = devm_ioremap_resource(dev, res);
> >
> > Maybe this could already be combined into a devm_platform_iomap_resource()
> > similar to pci_iomap()?

Why not as a next iteration, because I don't see right now many users of this.

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-10-27 17:58 ` [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource() Andy Shevchenko
@ 2020-12-03 12:54   ` Auger Eric
  2020-12-03 13:07     ` Andy Shevchenko
  2020-12-03 13:22   ` Cornelia Huck
  2020-12-03 18:05   ` Alex Williamson
  2 siblings, 1 reply; 16+ messages in thread
From: Auger Eric @ 2020-12-03 12:54 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman, linux-kernel
  Cc: Alex Williamson, Cornelia Huck, kvm

Hi Andy,

On 10/27/20 6:58 PM, Andy Shevchenko wrote:
> Switch to use new platform_get_mem_or_io_resource() instead of
> home grown analogue.
> 
> Cc: Eric Auger <eric.auger@redhat.com>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Cc: Cornelia Huck <cohuck@redhat.com>
> Cc: kvm@vger.kernel.org
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Eric Auger <eric.auger@redhat.com>

Thanks

Eric
> ---
>  drivers/vfio/platform/vfio_platform.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)
> 
> diff --git a/drivers/vfio/platform/vfio_platform.c b/drivers/vfio/platform/vfio_platform.c
> index 1e2769010089..84afafb6941b 100644
> --- a/drivers/vfio/platform/vfio_platform.c
> +++ b/drivers/vfio/platform/vfio_platform.c
> @@ -25,19 +25,8 @@ static struct resource *get_platform_resource(struct vfio_platform_device *vdev,
>  					      int num)
>  {
>  	struct platform_device *dev = (struct platform_device *) vdev->opaque;
> -	int i;
>  
> -	for (i = 0; i < dev->num_resources; i++) {
> -		struct resource *r = &dev->resource[i];
> -
> -		if (resource_type(r) & (IORESOURCE_MEM|IORESOURCE_IO)) {
> -			if (!num)
> -				return r;
> -
> -			num--;
> -		}
> -	}
> -	return NULL;
> +	return platform_get_mem_or_io_resource(dev, num);
>  }
>  
>  static int get_platform_irq(struct vfio_platform_device *vdev, int i)
> 


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

* Re: [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-12-03 12:54   ` Auger Eric
@ 2020-12-03 13:07     ` Andy Shevchenko
  2020-12-09 14:47       ` Greg Kroah-Hartman
  0 siblings, 1 reply; 16+ messages in thread
From: Andy Shevchenko @ 2020-12-03 13:07 UTC (permalink / raw)
  To: Auger Eric
  Cc: Greg Kroah-Hartman, linux-kernel, Alex Williamson, Cornelia Huck, kvm

On Thu, Dec 03, 2020 at 01:54:38PM +0100, Auger Eric wrote:
> Hi Andy,
> 
> On 10/27/20 6:58 PM, Andy Shevchenko wrote:
> > Switch to use new platform_get_mem_or_io_resource() instead of
> > home grown analogue.
> > 
> > Cc: Eric Auger <eric.auger@redhat.com>
> > Cc: Alex Williamson <alex.williamson@redhat.com>
> > Cc: Cornelia Huck <cohuck@redhat.com>
> > Cc: kvm@vger.kernel.org
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Acked-by: Eric Auger <eric.auger@redhat.com>

Thanks!

Greg, do I need to do anything else with this series?

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource()
  2020-10-27 17:58 [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Andy Shevchenko
                   ` (3 preceding siblings ...)
  2020-10-27 17:58 ` [PATCH v1 5/5] misc: pvpanic: Replace OF headers by mod_devicetable.h Andy Shevchenko
@ 2020-12-03 13:21 ` Cornelia Huck
  4 siblings, 0 replies; 16+ messages in thread
From: Cornelia Huck @ 2020-12-03 13:21 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Greg Kroah-Hartman, linux-kernel, Eric Auger, Alex Williamson,
	kvm, linux-usb, Peng Hao, Arnd Bergmann

On Tue, 27 Oct 2020 19:58:02 +0200
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> There are at least few existing users of the proposed API which
> retrieves either MEM or IO resource from platform device.
> 
> Make it common to utilize in the existing and new users.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Cc: Eric Auger <eric.auger@redhat.com>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Cc: Cornelia Huck <cohuck@redhat.com>
> Cc: kvm@vger.kernel.org
> Cc: linux-usb@vger.kernel.org
> Cc: Peng Hao <peng.hao2@zte.com.cn>
> Cc: Arnd Bergmann <arnd@arndb.de>
> ---
>  include/linux/platform_device.h | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
> index 77a2aada106d..eb8d74744e29 100644
> --- a/include/linux/platform_device.h
> +++ b/include/linux/platform_device.h
> @@ -52,6 +52,19 @@ extern struct device platform_bus;
>  
>  extern struct resource *platform_get_resource(struct platform_device *,
>  					      unsigned int, unsigned int);
> +static inline
> +struct resource *platform_get_mem_or_io_resource(struct platform_device *pdev,

Minor nit: If I would want to break up the long line, I'd use

static inline struct resource *
platform_get_mem_or_io_resource(...)

> +						 unsigned int num)
> +{
> +	struct resource *res;
> +
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, num);
> +	if (res)
> +		return res;
> +
> +	return platform_get_resource(pdev, IORESOURCE_IO, num);
> +}
> +
>  extern struct device *
>  platform_find_device_by_driver(struct device *start,
>  			       const struct device_driver *drv);

Reviewed-by: Cornelia Huck <cohuck@redhat.com>


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

* Re: [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-10-27 17:58 ` [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource() Andy Shevchenko
  2020-12-03 12:54   ` Auger Eric
@ 2020-12-03 13:22   ` Cornelia Huck
  2020-12-03 18:05   ` Alex Williamson
  2 siblings, 0 replies; 16+ messages in thread
From: Cornelia Huck @ 2020-12-03 13:22 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Greg Kroah-Hartman, linux-kernel, Eric Auger, Alex Williamson, kvm

On Tue, 27 Oct 2020 19:58:03 +0200
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> Switch to use new platform_get_mem_or_io_resource() instead of
> home grown analogue.
> 
> Cc: Eric Auger <eric.auger@redhat.com>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Cc: Cornelia Huck <cohuck@redhat.com>
> Cc: kvm@vger.kernel.org
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/vfio/platform/vfio_platform.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)

Reviewed-by: Cornelia Huck <cohuck@redhat.com>


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

* Re: [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-10-27 17:58 ` [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource() Andy Shevchenko
  2020-12-03 12:54   ` Auger Eric
  2020-12-03 13:22   ` Cornelia Huck
@ 2020-12-03 18:05   ` Alex Williamson
  2 siblings, 0 replies; 16+ messages in thread
From: Alex Williamson @ 2020-12-03 18:05 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Greg Kroah-Hartman, linux-kernel, Eric Auger, Cornelia Huck, kvm

On Tue, 27 Oct 2020 19:58:03 +0200
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> Switch to use new platform_get_mem_or_io_resource() instead of
> home grown analogue.
> 
> Cc: Eric Auger <eric.auger@redhat.com>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Cc: Cornelia Huck <cohuck@redhat.com>
> Cc: kvm@vger.kernel.org
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/vfio/platform/vfio_platform.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)

Acked-by: Alex Williamson <alex.williamson@redhat.com>


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

* Re: [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-12-03 13:07     ` Andy Shevchenko
@ 2020-12-09 14:47       ` Greg Kroah-Hartman
  2020-12-09 16:48         ` Andy Shevchenko
  0 siblings, 1 reply; 16+ messages in thread
From: Greg Kroah-Hartman @ 2020-12-09 14:47 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Auger Eric, linux-kernel, Alex Williamson, Cornelia Huck, kvm

On Thu, Dec 03, 2020 at 03:07:19PM +0200, Andy Shevchenko wrote:
> On Thu, Dec 03, 2020 at 01:54:38PM +0100, Auger Eric wrote:
> > Hi Andy,
> > 
> > On 10/27/20 6:58 PM, Andy Shevchenko wrote:
> > > Switch to use new platform_get_mem_or_io_resource() instead of
> > > home grown analogue.
> > > 
> > > Cc: Eric Auger <eric.auger@redhat.com>
> > > Cc: Alex Williamson <alex.williamson@redhat.com>
> > > Cc: Cornelia Huck <cohuck@redhat.com>
> > > Cc: kvm@vger.kernel.org
> > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > Acked-by: Eric Auger <eric.auger@redhat.com>
> 
> Thanks!
> 
> Greg, do I need to do anything else with this series?

Have them taken by the vfio maintainers?  I'm not that person :)

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

* Re: [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-12-09 14:47       ` Greg Kroah-Hartman
@ 2020-12-09 16:48         ` Andy Shevchenko
  2020-12-09 16:53           ` Greg Kroah-Hartman
  0 siblings, 1 reply; 16+ messages in thread
From: Andy Shevchenko @ 2020-12-09 16:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Auger Eric, linux-kernel, Alex Williamson, Cornelia Huck, kvm

On Wed, Dec 09, 2020 at 03:47:06PM +0100, Greg Kroah-Hartman wrote:
> On Thu, Dec 03, 2020 at 03:07:19PM +0200, Andy Shevchenko wrote:
> > On Thu, Dec 03, 2020 at 01:54:38PM +0100, Auger Eric wrote:
> > > On 10/27/20 6:58 PM, Andy Shevchenko wrote:
> > > > Switch to use new platform_get_mem_or_io_resource() instead of
> > > > home grown analogue.
> > > > 
> > > > Cc: Eric Auger <eric.auger@redhat.com>
> > > > Cc: Alex Williamson <alex.williamson@redhat.com>
> > > > Cc: Cornelia Huck <cohuck@redhat.com>
> > > > Cc: kvm@vger.kernel.org
> > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > Acked-by: Eric Auger <eric.auger@redhat.com>
> > 
> > Thanks!
> > 
> > Greg, do I need to do anything else with this series?
> 
> Have them taken by the vfio maintainers?  I'm not that person :)

But it can't be done with a first patch that provides a new API.
The rest seems under your realm, if I didn't miss anything.
Btw, VFIO agreed on the change (as per given tags).

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-12-09 16:48         ` Andy Shevchenko
@ 2020-12-09 16:53           ` Greg Kroah-Hartman
  2020-12-09 18:22             ` Andy Shevchenko
  0 siblings, 1 reply; 16+ messages in thread
From: Greg Kroah-Hartman @ 2020-12-09 16:53 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Auger Eric, linux-kernel, Alex Williamson, Cornelia Huck, kvm

On Wed, Dec 09, 2020 at 06:48:16PM +0200, Andy Shevchenko wrote:
> On Wed, Dec 09, 2020 at 03:47:06PM +0100, Greg Kroah-Hartman wrote:
> > On Thu, Dec 03, 2020 at 03:07:19PM +0200, Andy Shevchenko wrote:
> > > On Thu, Dec 03, 2020 at 01:54:38PM +0100, Auger Eric wrote:
> > > > On 10/27/20 6:58 PM, Andy Shevchenko wrote:
> > > > > Switch to use new platform_get_mem_or_io_resource() instead of
> > > > > home grown analogue.
> > > > > 
> > > > > Cc: Eric Auger <eric.auger@redhat.com>
> > > > > Cc: Alex Williamson <alex.williamson@redhat.com>
> > > > > Cc: Cornelia Huck <cohuck@redhat.com>
> > > > > Cc: kvm@vger.kernel.org
> > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > > > Acked-by: Eric Auger <eric.auger@redhat.com>
> > > 
> > > Thanks!
> > > 
> > > Greg, do I need to do anything else with this series?
> > 
> > Have them taken by the vfio maintainers?  I'm not that person :)
> 
> But it can't be done with a first patch that provides a new API.
> The rest seems under your realm, if I didn't miss anything.
> Btw, VFIO agreed on the change (as per given tags).

Ok, can you resend all of these, with the vfio tags added, so I know to
take them all?

thanks,

greg k-h

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

* Re: [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource()
  2020-12-09 16:53           ` Greg Kroah-Hartman
@ 2020-12-09 18:22             ` Andy Shevchenko
  0 siblings, 0 replies; 16+ messages in thread
From: Andy Shevchenko @ 2020-12-09 18:22 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Auger Eric, linux-kernel, Alex Williamson, Cornelia Huck, kvm

On Wed, Dec 09, 2020 at 05:53:45PM +0100, Greg Kroah-Hartman wrote:
> On Wed, Dec 09, 2020 at 06:48:16PM +0200, Andy Shevchenko wrote:
> > On Wed, Dec 09, 2020 at 03:47:06PM +0100, Greg Kroah-Hartman wrote:
> > > On Thu, Dec 03, 2020 at 03:07:19PM +0200, Andy Shevchenko wrote:
> > > > On Thu, Dec 03, 2020 at 01:54:38PM +0100, Auger Eric wrote:

...

> > > > Greg, do I need to do anything else with this series?

> > > Have them taken by the vfio maintainers?  I'm not that person :)

> > But it can't be done with a first patch that provides a new API.
> > The rest seems under your realm, if I didn't miss anything.
> > Btw, VFIO agreed on the change (as per given tags).

> Ok, can you resend all of these, with the vfio tags added, so I know to
> take them all?

Sure. Will do soon.

-- 
With Best Regards,
Andy Shevchenko



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

end of thread, other threads:[~2020-12-09 18:23 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-27 17:58 [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Andy Shevchenko
2020-10-27 17:58 ` [PATCH v1 2/5] vfio: platform: Switch to use platform_get_mem_or_io_resource() Andy Shevchenko
2020-12-03 12:54   ` Auger Eric
2020-12-03 13:07     ` Andy Shevchenko
2020-12-09 14:47       ` Greg Kroah-Hartman
2020-12-09 16:48         ` Andy Shevchenko
2020-12-09 16:53           ` Greg Kroah-Hartman
2020-12-09 18:22             ` Andy Shevchenko
2020-12-03 13:22   ` Cornelia Huck
2020-12-03 18:05   ` Alex Williamson
2020-10-27 17:58 ` [PATCH v1 3/5] usb: host: sl811: " Andy Shevchenko
2020-10-27 17:58 ` [PATCH v1 4/5] misc: pvpanic: Combine ACPI and platform drivers Andy Shevchenko
     [not found]   ` <CAK8P3a3XgTD2bFej0=WsD3a=uMur36_C71EiOvw3wb5A9QPAfQ@mail.gmail.com>
2020-10-28 15:51     ` Arnd Bergmann
2020-10-28 16:27       ` Andy Shevchenko
2020-10-27 17:58 ` [PATCH v1 5/5] misc: pvpanic: Replace OF headers by mod_devicetable.h Andy Shevchenko
2020-12-03 13:21 ` [PATCH v1 1/5] driver core: platform: Introduce platform_get_mem_or_io_resource() Cornelia Huck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).