diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-07-05 22:39:08 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-07-05 22:39:08 +0100 |
commit | 557dca5f48a45df88a73e69ee0700cfd4e2358c9 (patch) | |
tree | a84d89d63e5b3a3bf72bbf7aaa0ac907ec5ce6a5 | |
parent | 65b1bfc13e8f50034187e339aa12b81cd6785bd5 (diff) | |
download | op-kernel-dev-557dca5f48a45df88a73e69ee0700cfd4e2358c9.zip op-kernel-dev-557dca5f48a45df88a73e69ee0700cfd4e2358c9.tar.gz |
[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.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index 3d763fd..2466506 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; |