mirror of
https://github.com/torvalds/linux.git
synced 2024-12-22 02:52:56 +00:00
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>
This commit is contained in:
parent
a57e2e84b6
commit
616de35da9
@ -3,7 +3,6 @@ config B43
|
|||||||
depends on SSB_POSSIBLE && MAC80211 && WLAN_80211 && HAS_DMA
|
depends on SSB_POSSIBLE && MAC80211 && WLAN_80211 && HAS_DMA
|
||||||
select SSB
|
select SSB
|
||||||
select FW_LOADER
|
select FW_LOADER
|
||||||
select HW_RANDOM
|
|
||||||
---help---
|
---help---
|
||||||
b43 is a driver for the Broadcom 43xx series wireless devices.
|
b43 is a driver for the Broadcom 43xx series wireless devices.
|
||||||
|
|
||||||
@ -106,6 +105,13 @@ config B43_RFKILL
|
|||||||
depends on B43 && (RFKILL = y || RFKILL = B43) && RFKILL_INPUT && (INPUT_POLLDEV = y || INPUT_POLLDEV = B43)
|
depends on B43 && (RFKILL = y || RFKILL = B43) && RFKILL_INPUT && (INPUT_POLLDEV = y || INPUT_POLLDEV = B43)
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
# This config option automatically enables b43 HW-RNG support,
|
||||||
|
# if the HW-RNG core is enabled.
|
||||||
|
config B43_HWRNG
|
||||||
|
bool
|
||||||
|
depends on B43 && (HW_RANDOM = y || HW_RANDOM = B43)
|
||||||
|
default y
|
||||||
|
|
||||||
config B43_DEBUG
|
config B43_DEBUG
|
||||||
bool "Broadcom 43xx debugging"
|
bool "Broadcom 43xx debugging"
|
||||||
depends on B43
|
depends on B43
|
||||||
|
@ -625,9 +625,11 @@ struct b43_wl {
|
|||||||
/* Stats about the wireless interface */
|
/* Stats about the wireless interface */
|
||||||
struct ieee80211_low_level_stats ieee_stats;
|
struct ieee80211_low_level_stats ieee_stats;
|
||||||
|
|
||||||
|
#ifdef CONFIG_B43_HWRNG
|
||||||
struct hwrng rng;
|
struct hwrng rng;
|
||||||
u8 rng_initialized;
|
bool rng_initialized;
|
||||||
char rng_name[30 + 1];
|
char rng_name[30 + 1];
|
||||||
|
#endif /* CONFIG_B43_HWRNG */
|
||||||
|
|
||||||
/* The RF-kill button */
|
/* The RF-kill button */
|
||||||
struct b43_rfkill rfkill;
|
struct b43_rfkill rfkill;
|
||||||
|
@ -2980,6 +2980,7 @@ static void b43_security_init(struct b43_wldev *dev)
|
|||||||
b43_clear_keys(dev);
|
b43_clear_keys(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_B43_HWRNG
|
||||||
static int b43_rng_read(struct hwrng *rng, u32 *data)
|
static int b43_rng_read(struct hwrng *rng, u32 *data)
|
||||||
{
|
{
|
||||||
struct b43_wl *wl = (struct b43_wl *)rng->priv;
|
struct b43_wl *wl = (struct b43_wl *)rng->priv;
|
||||||
@ -2995,17 +2996,21 @@ static int b43_rng_read(struct hwrng *rng, u32 *data)
|
|||||||
|
|
||||||
return (sizeof(u16));
|
return (sizeof(u16));
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_B43_HWRNG */
|
||||||
|
|
||||||
static void b43_rng_exit(struct b43_wl *wl)
|
static void b43_rng_exit(struct b43_wl *wl)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_B43_HWRNG
|
||||||
if (wl->rng_initialized)
|
if (wl->rng_initialized)
|
||||||
hwrng_unregister(&wl->rng);
|
hwrng_unregister(&wl->rng);
|
||||||
|
#endif /* CONFIG_B43_HWRNG */
|
||||||
}
|
}
|
||||||
|
|
||||||
static int b43_rng_init(struct b43_wl *wl)
|
static int b43_rng_init(struct b43_wl *wl)
|
||||||
{
|
{
|
||||||
int err;
|
int err = 0;
|
||||||
|
|
||||||
|
#ifdef CONFIG_B43_HWRNG
|
||||||
snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name),
|
snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name),
|
||||||
"%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy));
|
"%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy));
|
||||||
wl->rng.name = wl->rng_name;
|
wl->rng.name = wl->rng_name;
|
||||||
@ -3018,6 +3023,7 @@ static int b43_rng_init(struct b43_wl *wl)
|
|||||||
b43err(wl, "Failed to register the random "
|
b43err(wl, "Failed to register the random "
|
||||||
"number generator (%d)\n", err);
|
"number generator (%d)\n", err);
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_B43_HWRNG */
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user