virtio-mmio: convert to devm_platform_ioremap_resource
authorYangtao Li <tiny.windzz@gmail.com>
Sun, 22 Dec 2019 19:08:39 +0000 (19:08 +0000)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 6 Feb 2020 08:40:26 +0000 (03:40 -0500)
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@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_mmio.c

index e09edb5..97d5725 100644 (file)
@@ -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);