summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-07-05 22:39:08 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-07-05 22:39:08 +0100
commit557dca5f48a45df88a73e69ee0700cfd4e2358c9 (patch)
treea84d89d63e5b3a3bf72bbf7aaa0ac907ec5ce6a5
parent65b1bfc13e8f50034187e339aa12b81cd6785bd5 (diff)
downloadlinux-3.10-557dca5f48a45df88a73e69ee0700cfd4e2358c9.tar.gz
linux-3.10-557dca5f48a45df88a73e69ee0700cfd4e2358c9.tar.bz2
linux-3.10-557dca5f48a45df88a73e69ee0700cfd4e2358c9.zip
[ARM] amba: fix amba device resources
AMBA device resources were being reported as: 10004000-10004fff : <BAD> This is because dev_name() was returning NULL prior to device_register. Ensure that the struct device is properly initialized, and the name is set before adding it to the device tree. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--drivers/amba/bus.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c
index 3d763fdf99b..24665067301 100644
--- a/drivers/amba/bus.c
+++ b/drivers/amba/bus.c
@@ -207,6 +207,16 @@ int amba_device_register(struct amba_device *dev, struct resource *parent)
void __iomem *tmp;
int i, ret;
+ device_initialize(&dev->dev);
+
+ /*
+ * Copy from device_add
+ */
+ if (dev->dev.init_name) {
+ dev_set_name(&dev->dev, "%s", dev->dev.init_name);
+ dev->dev.init_name = NULL;
+ }
+
dev->dev.release = amba_device_release;
dev->dev.bus = &amba_bustype;
dev->dev.dma_mask = &dev->dma_mask;
@@ -240,7 +250,7 @@ int amba_device_register(struct amba_device *dev, struct resource *parent)
goto err_release;
}
- ret = device_register(&dev->dev);
+ ret = device_add(&dev->dev);
if (ret)
goto err_release;