mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 06:37:59 +00:00
b43: only hardcode LED behavior if SPROM doesn't encode any
Only hardcode the LED behavior if the SROM doesn't provide any for all LEDs of the card. This avoids instantiating LED triggers for unconnected LEDs, while (hopefully) keeping things working for old cards with a blank SROM. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
035ddbc59f
commit
508f1222ba
1 changed files with 6 additions and 2 deletions
|
@ -222,7 +222,7 @@ static void b43_led_get_sprominfo(struct b43_wldev *dev,
|
|||
sprom[2] = dev->dev->bus_sprom->gpio2;
|
||||
sprom[3] = dev->dev->bus_sprom->gpio3;
|
||||
|
||||
if (sprom[led_index] == 0xFF) {
|
||||
if ((sprom[0] & sprom[1] & sprom[2] & sprom[3]) == 0xff) {
|
||||
/* There is no LED information in the SPROM
|
||||
* for this LED. Hardcode it here. */
|
||||
*activelow = false;
|
||||
|
@ -250,7 +250,11 @@ static void b43_led_get_sprominfo(struct b43_wldev *dev,
|
|||
return;
|
||||
}
|
||||
} else {
|
||||
*behaviour = sprom[led_index] & B43_LED_BEHAVIOUR;
|
||||
/* keep LED disabled if no mapping is defined */
|
||||
if (sprom[led_index] == 0xff)
|
||||
*behaviour = B43_LED_OFF;
|
||||
else
|
||||
*behaviour = sprom[led_index] & B43_LED_BEHAVIOUR;
|
||||
*activelow = !!(sprom[led_index] & B43_LED_ACTIVELOW);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue