aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500/cpu-db8500.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-10-03 08:26:12 -0400
committerLinus Walleij <linus.walleij@linaro.org>2012-10-15 07:53:55 -0400
commit4040d10a3d44023703f81083bb90a3eb45a39eee (patch)
tree8c78be2e2a3fed3856e79e2a0a375357c2dfb9f6 /arch/arm/mach-ux500/cpu-db8500.c
parenta3a6c6a3a13c8fc946da86d0314f4c0d013e749d (diff)
ARM: ux500: add DB serial number to entropy pool
This throws the DB (digital baseband, ASIC) serial number, process type etc into the entropy pool by way of the device_add_randomness() call. This should make every device have a unique pool state upon boot. Cc: Theodore Tso <tytso@mit.edu> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500/cpu-db8500.c')
-rw-r--r--arch/arm/mach-ux500/cpu-db8500.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index bcdfe6b1d45..50202a163e5 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -17,6 +17,8 @@
17#include <linux/platform_device.h> 17#include <linux/platform_device.h>
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/mfd/abx500/ab8500.h> 19#include <linux/mfd/abx500/ab8500.h>
20#include <linux/platform_data/usb-musb-ux500.h>
21#include <linux/random.h>
20 22
21#include <asm/pmu.h> 23#include <asm/pmu.h>
22#include <asm/mach/map.h> 24#include <asm/mach/map.h>
@@ -24,7 +26,6 @@
24#include <mach/hardware.h> 26#include <mach/hardware.h>
25#include <mach/setup.h> 27#include <mach/setup.h>
26#include <mach/devices.h> 28#include <mach/devices.h>
27#include <linux/platform_data/usb-musb-ux500.h>
28#include <mach/db8500-regs.h> 29#include <mach/db8500-regs.h>
29 30
30#include "devices-db8500.h" 31#include "devices-db8500.h"
@@ -187,6 +188,8 @@ static const char *db8500_read_soc_id(void)
187{ 188{
188 void __iomem *uid = __io_address(U8500_BB_UID_BASE); 189 void __iomem *uid = __io_address(U8500_BB_UID_BASE);
189 190
191 /* Throw these device-specific numbers into the entropy pool */
192 add_device_randomness(uid, 0x14);
190 return kasprintf(GFP_KERNEL, "%08x%08x%08x%08x%08x", 193 return kasprintf(GFP_KERNEL, "%08x%08x%08x%08x%08x",
191 readl((u32 *)uid+1), 194 readl((u32 *)uid+1),
192 readl((u32 *)uid+1), readl((u32 *)uid+2), 195 readl((u32 *)uid+1), readl((u32 *)uid+2),