Browse Source

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>
Linus Walleij 14 years ago
parent
commit
97ceed1fc2
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/amba/bus.c

+ 5 - 0
drivers/amba/bus.c

@@ -603,6 +603,10 @@ int amba_device_register(struct amba_device *dev, struct resource *parent)
 	if (ret)
 	if (ret)
 		goto err_out;
 		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
 	 * Dynamically calculate the size of the resource
 	 * and use this for iomap
 	 * and use this for iomap
@@ -643,6 +647,7 @@ int amba_device_register(struct amba_device *dev, struct resource *parent)
 	if (ret)
 	if (ret)
 		goto err_release;
 		goto err_release;
 
 
+ skip_probe:
 	ret = device_add(&dev->dev);
 	ret = device_add(&dev->dev);
 	if (ret)
 	if (ret)
 		goto err_release;
 		goto err_release;