Yangtao Li
2019-Dec-22 19:08 UTC
[PATCH] virtio-mmio: convert to devm_platform_ioremap_resource
Use devm_platform_ioremap_resource() to simplify code, which contains platform_get_resource, devm_request_mem_region and devm_ioremap. Signed-off-by: Yangtao Li <tiny.windzz at gmail.com> --- drivers/virtio/virtio_mmio.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c index e09edb5c5e06..97d5725fd9a2 100644 --- a/drivers/virtio/virtio_mmio.c +++ b/drivers/virtio/virtio_mmio.c @@ -531,18 +531,9 @@ static void virtio_mmio_release_dev(struct device *_d) static int virtio_mmio_probe(struct platform_device *pdev) { struct virtio_mmio_device *vm_dev; - struct resource *mem; unsigned long magic; int rc; - mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) - return -EINVAL; - - if (!devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name)) - return -EBUSY; - vm_dev = devm_kzalloc(&pdev->dev, sizeof(*vm_dev), GFP_KERNEL); if (!vm_dev) return -ENOMEM; @@ -554,9 +545,9 @@ static int virtio_mmio_probe(struct platform_device *pdev) INIT_LIST_HEAD(&vm_dev->virtqueues); spin_lock_init(&vm_dev->lock); - vm_dev->base = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (vm_dev->base == NULL) - return -EFAULT; + vm_dev->base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(vm_dev->base)) + return PTR_ERR(vm_dev->base); /* Check magic value */ magic = readl(vm_dev->base + VIRTIO_MMIO_MAGIC_VALUE); -- 2.17.1
Jason Wang
2019-Dec-23 08:43 UTC
[PATCH] virtio-mmio: convert to devm_platform_ioremap_resource
On 2019/12/23 ??3:08, Yangtao Li wrote:> Use devm_platform_ioremap_resource() to simplify code, which > contains platform_get_resource, devm_request_mem_region and > devm_ioremap. > > Signed-off-by: Yangtao Li <tiny.windzz at gmail.com> > --- > drivers/virtio/virtio_mmio.c | 15 +++------------ > 1 file changed, 3 insertions(+), 12 deletions(-) > > diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c > index e09edb5c5e06..97d5725fd9a2 100644 > --- a/drivers/virtio/virtio_mmio.c > +++ b/drivers/virtio/virtio_mmio.c > @@ -531,18 +531,9 @@ static void virtio_mmio_release_dev(struct device *_d) > static int virtio_mmio_probe(struct platform_device *pdev) > { > struct virtio_mmio_device *vm_dev; > - struct resource *mem; > unsigned long magic; > int rc; > > - mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); > - if (!mem) > - return -EINVAL; > - > - if (!devm_request_mem_region(&pdev->dev, mem->start, > - resource_size(mem), pdev->name)) > - return -EBUSY; > - > vm_dev = devm_kzalloc(&pdev->dev, sizeof(*vm_dev), GFP_KERNEL); > if (!vm_dev) > return -ENOMEM; > @@ -554,9 +545,9 @@ static int virtio_mmio_probe(struct platform_device *pdev) > INIT_LIST_HEAD(&vm_dev->virtqueues); > spin_lock_init(&vm_dev->lock); > > - vm_dev->base = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); > - if (vm_dev->base == NULL) > - return -EFAULT; > + vm_dev->base = devm_platform_ioremap_resource(pdev, 0); > + if (IS_ERR(vm_dev->base)) > + return PTR_ERR(vm_dev->base); > > /* Check magic value */ > magic = readl(vm_dev->base + VIRTIO_MMIO_MAGIC_VALUE);Acked-by: Jason Wang <jasowang at redhat.com>