diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2013-10-18 07:10:08 -0400 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2013-11-26 05:09:24 -0500 |
commit | 017cecee99d897ae426f3948e7b970eb4f95e1f4 (patch) | |
tree | 449551864d0ded68749b52dc6b60142c9666d187 /arch/m68k | |
parent | 7a15dd5c4b9d916cb1734dfd79dbdd5773772abb (diff) |
m68k: Add infrastructure for machine-specific random_get_entropy()
On m68k, get_cycles() (the default implementation for random_get_entropy())
always returns zero, providing no entropy for the random driver.
Add a hook where platforms can provide their own implementation, and wire
it up in the infrastructure provided by commit
61875f30daf60305712e25b209ef41ced2635bad ("random: allow architectures to
optionally define random_get_entropy()").
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68k')
-rw-r--r-- | arch/m68k/include/asm/timex.h | 10 | ||||
-rw-r--r-- | arch/m68k/kernel/time.c | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/arch/m68k/include/asm/timex.h b/arch/m68k/include/asm/timex.h index 6759dad954f6..efc1f4892357 100644 --- a/arch/m68k/include/asm/timex.h +++ b/arch/m68k/include/asm/timex.h | |||
@@ -28,4 +28,14 @@ static inline cycles_t get_cycles(void) | |||
28 | return 0; | 28 | return 0; |
29 | } | 29 | } |
30 | 30 | ||
31 | extern unsigned long (*mach_random_get_entropy)(void); | ||
32 | |||
33 | static inline unsigned long random_get_entropy(void) | ||
34 | { | ||
35 | if (mach_random_get_entropy) | ||
36 | return mach_random_get_entropy(); | ||
37 | return 0; | ||
38 | } | ||
39 | #define random_get_entropy random_get_entropy | ||
40 | |||
31 | #endif | 41 | #endif |
diff --git a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c index 7eb9792009f8..958f1adb9d0c 100644 --- a/arch/m68k/kernel/time.c +++ b/arch/m68k/kernel/time.c | |||
@@ -28,6 +28,10 @@ | |||
28 | #include <linux/timex.h> | 28 | #include <linux/timex.h> |
29 | #include <linux/profile.h> | 29 | #include <linux/profile.h> |
30 | 30 | ||
31 | |||
32 | unsigned long (*mach_random_get_entropy)(void); | ||
33 | |||
34 | |||
31 | /* | 35 | /* |
32 | * timer_interrupt() needs to keep up the real-time clock, | 36 | * timer_interrupt() needs to keep up the real-time clock, |
33 | * as well as call the "xtime_update()" routine every clocktick | 37 | * as well as call the "xtime_update()" routine every clocktick |