openwrtv4/package/kernel/mac80211/patches/610-rt2x00-change-led-polarity-from-OF.patch
Daniel Golle 399d5cf532 mac80211: rt2x00: import upstream changes and rebase our patches
Some of our local patches have been accepted upstream. And there are
some more relevant changes (mostly for rt2800usb). Import them and
rebase our remaining local patches on top.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-03-30 18:31:02 +02:00

40 lines
1.3 KiB
Diff

--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -36,6 +36,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
+#include <linux/of.h>
#include "rt2x00.h"
#include "rt2800lib.h"
@@ -9261,6 +9262,17 @@ static int rt2800_init_eeprom(struct rt2
rt2800_init_led(rt2x00dev, &rt2x00dev->led_assoc, LED_TYPE_ASSOC);
rt2800_init_led(rt2x00dev, &rt2x00dev->led_qual, LED_TYPE_QUALITY);
+ {
+ struct device_node *np = rt2x00dev->dev->of_node;
+ unsigned int led_polarity;
+
+ /* Allow overriding polarity from OF */
+ if (!of_property_read_u32(np, "ralink,led-polarity",
+ &led_polarity))
+ rt2x00_set_field16(&eeprom, EEPROM_FREQ_LED_POLARITY,
+ led_polarity);
+ }
+
rt2x00dev->led_mcu_reg = eeprom;
#endif /* CPTCFG_RT2X00_LIB_LEDS */
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00leds.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00leds.c
@@ -109,6 +109,9 @@ static int rt2x00leds_register_led(struc
led->led_dev.name = name;
led->led_dev.brightness = LED_OFF;
+ if (rt2x00_is_soc(rt2x00dev))
+ led->led_dev.brightness_set(&led->led_dev, LED_OFF);
+
retval = led_classdev_register(device, &led->led_dev);
if (retval) {
rt2x00_err(rt2x00dev, "Failed to register led handler\n");