diff options
author | Michael Buesch <mb@bu3sch.de> | 2009-03-29 07:19:31 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-22 16:54:29 -0400 |
commit | 616de35da94df8748771a014ef898360d5f4d0c8 (patch) | |
tree | 69c38769384816051cd6dce12b611c49809bc9d8 /drivers/net/wireless/b43/main.c | |
parent | a57e2e84b65d1b89c4b1effeceb27b181226b950 (diff) |
b43: Do not "select" HW_RANDOM
Auto-depend on HW_RANDOM, rather than "select"ing it.
This way the user has the choice to enable or disable HWRNG support.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 79b685e300c7..09e0c60d96df 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -2980,6 +2980,7 @@ static void b43_security_init(struct b43_wldev *dev) | |||
2980 | b43_clear_keys(dev); | 2980 | b43_clear_keys(dev); |
2981 | } | 2981 | } |
2982 | 2982 | ||
2983 | #ifdef CONFIG_B43_HWRNG | ||
2983 | static int b43_rng_read(struct hwrng *rng, u32 *data) | 2984 | static int b43_rng_read(struct hwrng *rng, u32 *data) |
2984 | { | 2985 | { |
2985 | struct b43_wl *wl = (struct b43_wl *)rng->priv; | 2986 | struct b43_wl *wl = (struct b43_wl *)rng->priv; |
@@ -2995,17 +2996,21 @@ static int b43_rng_read(struct hwrng *rng, u32 *data) | |||
2995 | 2996 | ||
2996 | return (sizeof(u16)); | 2997 | return (sizeof(u16)); |
2997 | } | 2998 | } |
2999 | #endif /* CONFIG_B43_HWRNG */ | ||
2998 | 3000 | ||
2999 | static void b43_rng_exit(struct b43_wl *wl) | 3001 | static void b43_rng_exit(struct b43_wl *wl) |
3000 | { | 3002 | { |
3003 | #ifdef CONFIG_B43_HWRNG | ||
3001 | if (wl->rng_initialized) | 3004 | if (wl->rng_initialized) |
3002 | hwrng_unregister(&wl->rng); | 3005 | hwrng_unregister(&wl->rng); |
3006 | #endif /* CONFIG_B43_HWRNG */ | ||
3003 | } | 3007 | } |
3004 | 3008 | ||
3005 | static int b43_rng_init(struct b43_wl *wl) | 3009 | static int b43_rng_init(struct b43_wl *wl) |
3006 | { | 3010 | { |
3007 | int err; | 3011 | int err = 0; |
3008 | 3012 | ||
3013 | #ifdef CONFIG_B43_HWRNG | ||
3009 | snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name), | 3014 | snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name), |
3010 | "%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy)); | 3015 | "%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy)); |
3011 | wl->rng.name = wl->rng_name; | 3016 | wl->rng.name = wl->rng_name; |
@@ -3018,6 +3023,7 @@ static int b43_rng_init(struct b43_wl *wl) | |||
3018 | b43err(wl, "Failed to register the random " | 3023 | b43err(wl, "Failed to register the random " |
3019 | "number generator (%d)\n", err); | 3024 | "number generator (%d)\n", err); |
3020 | } | 3025 | } |
3026 | #endif /* CONFIG_B43_HWRNG */ | ||
3021 | 3027 | ||
3022 | return err; | 3028 | return err; |
3023 | } | 3029 | } |