Revert "base/platform: Only insert MEM and IO resources"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Jun 2015 15:38:29 +0000 (08:38 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Jun 2015 15:38:29 +0000 (08:38 -0700)
This reverts commit 36d4b29260753ad78b1ce4363145332c02519adc as it
breaks working machines.

Cc: Rob Herring <robh@kernel.org>
Cc: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/platform.c

index 46a56f6..063f0ab 100644 (file)
@@ -341,23 +341,19 @@ int platform_device_add(struct platform_device *pdev)
 
        for (i = 0; i < pdev->num_resources; i++) {
                struct resource *p, *r = &pdev->resource[i];
-               unsigned long type = resource_type(r);
 
                if (r->name == NULL)
                        r->name = dev_name(&pdev->dev);
 
-               if (!(type == IORESOURCE_MEM || type == IORESOURCE_IO))
-                       continue;
-
                p = r->parent;
                if (!p) {
-                       if (type == IORESOURCE_MEM)
+                       if (resource_type(r) == IORESOURCE_MEM)
                                p = &iomem_resource;
-                       else if (type == IORESOURCE_IO)
+                       else if (resource_type(r) == IORESOURCE_IO)
                                p = &ioport_resource;
                }
 
-               if (insert_resource(p, r)) {
+               if (p && insert_resource(p, r)) {
                        dev_err(&pdev->dev, "failed to claim resource %d\n", i);
                        ret = -EBUSY;
                        goto failed;