]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/virtio/virtio_mmio.c
Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux.git] / drivers / virtio / virtio_mmio.c
index e09edb5c5e0653dad74bb765e1c88d6d7535e04d..97d5725fd9a2640c82b68dda89183ea5c8581388 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);