summaryrefslogtreecommitdiff
path: root/drivers/amba
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2011-03-24 16:12:40 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-05-26 10:33:34 +0100
commit97ceed1fc29b601e64af98fd785e25fec4383b12 (patch)
treecf41b16581d495d8e3eaea0a393348db9e7646ea /drivers/amba
parente536fbe18f803b6bf9f2ea2d54d918e2b09724d8 (diff)
ARM: 6829/1: amba: make hardcoded periphid override hardware
This makes a hardcoded periphid from the platform override any magic number found in the hardware. This shall henceforth be used when the information found in the hardware is either missing, i.e. not encoding the CID with the magic cookie 0xb105f00d, or incorrect such that the revision number should have been bumped in hardware, but the silicon designer has failed to do so. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/amba')
-rw-r--r--drivers/amba/bus.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c
index 7025593a58c8..d74926e0939e 100644
--- a/drivers/amba/bus.c
+++ b/drivers/amba/bus.c
@@ -603,6 +603,10 @@ int amba_device_register(struct amba_device *dev, struct resource *parent)
if (ret)
goto err_out;
+ /* Hard-coded primecell ID instead of plug-n-play */
+ if (dev->periphid != 0)
+ goto skip_probe;
+
/*
* Dynamically calculate the size of the resource
* and use this for iomap
@@ -643,6 +647,7 @@ int amba_device_register(struct amba_device *dev, struct resource *parent)
if (ret)
goto err_release;
+ skip_probe:
ret = device_add(&dev->dev);
if (ret)
goto err_release;