]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ARM: ux500: remap BB offset dynamically
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 14 May 2015 07:35:46 +0000 (09:35 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 18 May 2015 13:06:34 +0000 (15:06 +0200)
Instead of relying on static maps, remap the BB chip ID
offset dynamically.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/mach-ux500/cpu-db8500.c

index 391d329a7e88cf7aa55f39ff668477997baeb30d..0b3ebbf38702a5b229645a15ac93afbd99fab87c 100644 (file)
@@ -104,14 +104,18 @@ static struct arm_pmu_platdata db8500_pmu_platdata = {
 
 static const char *db8500_read_soc_id(void)
 {
-       void __iomem *uid = __io_address(U8500_BB_UID_BASE);
+       void __iomem *uid;
 
+       uid = ioremap(U8500_BB_UID_BASE, 0x20);
+       if (!uid)
+               return NULL;
        /* Throw these device-specific numbers into the entropy pool */
        add_device_randomness(uid, 0x14);
        return kasprintf(GFP_KERNEL, "%08x%08x%08x%08x%08x",
                         readl((u32 *)uid+0),
                         readl((u32 *)uid+1), readl((u32 *)uid+2),
                         readl((u32 *)uid+3), readl((u32 *)uid+4));
+       iounmap(uid);
 }
 
 static struct device * __init db8500_soc_device_init(void)