mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 09:44:18 +08:00
b43legacy: 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: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
66174bbea0
commit
910cfee363
@ -3,7 +3,6 @@ config B43LEGACY
|
||||
depends on SSB_POSSIBLE && MAC80211 && WLAN_80211 && HAS_DMA
|
||||
select SSB
|
||||
select FW_LOADER
|
||||
select HW_RANDOM
|
||||
---help---
|
||||
b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and
|
||||
BCM4303) and early model 802.11g chips (BCM4306 Ver. 2) used in the
|
||||
@ -51,6 +50,13 @@ config B43LEGACY_RFKILL
|
||||
depends on B43LEGACY && (RFKILL = y || RFKILL = B43LEGACY) && RFKILL_INPUT && (INPUT_POLLDEV = y || INPUT_POLLDEV = B43LEGACY)
|
||||
default y
|
||||
|
||||
# This config option automatically enables b43 HW-RNG support,
|
||||
# if the HW-RNG core is enabled.
|
||||
config B43LEGACY_HWRNG
|
||||
bool
|
||||
depends on B43LEGACY && (HW_RANDOM = y || HW_RANDOM = B43LEGACY)
|
||||
default y
|
||||
|
||||
config B43LEGACY_DEBUG
|
||||
bool "Broadcom 43xx-legacy debugging"
|
||||
depends on B43LEGACY
|
||||
|
@ -596,9 +596,11 @@ struct b43legacy_wl {
|
||||
/* Stats about the wireless interface */
|
||||
struct ieee80211_low_level_stats ieee_stats;
|
||||
|
||||
#ifdef CONFIG_B43LEGACY_HWRNG
|
||||
struct hwrng rng;
|
||||
u8 rng_initialized;
|
||||
char rng_name[30 + 1];
|
||||
#endif
|
||||
|
||||
/* The RF-kill button */
|
||||
struct b43legacy_rfkill rfkill;
|
||||
|
@ -2297,6 +2297,7 @@ static void b43legacy_security_init(struct b43legacy_wldev *dev)
|
||||
dev->max_nr_keys - 8);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_B43LEGACY_HWRNG
|
||||
static int b43legacy_rng_read(struct hwrng *rng, u32 *data)
|
||||
{
|
||||
struct b43legacy_wl *wl = (struct b43legacy_wl *)rng->priv;
|
||||
@ -2312,17 +2313,21 @@ static int b43legacy_rng_read(struct hwrng *rng, u32 *data)
|
||||
|
||||
return (sizeof(u16));
|
||||
}
|
||||
#endif
|
||||
|
||||
static void b43legacy_rng_exit(struct b43legacy_wl *wl)
|
||||
{
|
||||
#ifdef CONFIG_B43LEGACY_HWRNG
|
||||
if (wl->rng_initialized)
|
||||
hwrng_unregister(&wl->rng);
|
||||
#endif
|
||||
}
|
||||
|
||||
static int b43legacy_rng_init(struct b43legacy_wl *wl)
|
||||
{
|
||||
int err;
|
||||
int err = 0;
|
||||
|
||||
#ifdef CONFIG_B43LEGACY_HWRNG
|
||||
snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name),
|
||||
"%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy));
|
||||
wl->rng.name = wl->rng_name;
|
||||
@ -2336,6 +2341,7 @@ static int b43legacy_rng_init(struct b43legacy_wl *wl)
|
||||
"number generator (%d)\n", err);
|
||||
}
|
||||
|
||||
#endif
|
||||
return err;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user