forked from Openwrt/openwrt
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.88 Manually rebased: - bcm27xx/patches-6.6/950-0327-media-i2c-ov7251-Make-the-enable-GPIO-optional.patch[1] - bcm27xx/patches-6.6/950-0521-PCI-brcmstb-Add-BCM2712-support.patch[2] - generic/hack-6.6/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch[3] - generic/pending-6.6/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch[4] All other patches automatically rebased. 1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=f249c05416ea0bef24c9dbed0e653d2fad87b127 2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=1fea7726276e5d6526ecd4e7ccb4c91a6135deb5 3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=95f17738b86fd198924d874a5639bcdc49c7e5b8 4. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.88&id=a2874f0dff63829d1f540003e2d83adb610ee64a Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/18607 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
75 lines
1.9 KiB
Diff
75 lines
1.9 KiB
Diff
From 82985725e071f2a5735052f18e109a32aeac3a0b Mon Sep 17 00:00:00 2001
|
|
From: David Bauer <mail@david-bauer.net>
|
|
Date: Sun, 26 Jul 2020 02:38:31 +0200
|
|
Subject: [PATCH] net: usb: r8152: add LED configuration from OF
|
|
|
|
This adds the ability to configure the LED configuration register using
|
|
OF. This way, the correct value for board specific LED configuration can
|
|
be determined.
|
|
|
|
Signed-off-by: David Bauer <mail@david-bauer.net>
|
|
---
|
|
drivers/net/usb/r8152.c | 23 +++++++++++++++++++++++
|
|
1 file changed, 23 insertions(+)
|
|
|
|
--- a/drivers/net/usb/r8152.c
|
|
+++ b/drivers/net/usb/r8152.c
|
|
@@ -11,6 +11,7 @@
|
|
#include <linux/mii.h>
|
|
#include <linux/ethtool.h>
|
|
#include <linux/usb.h>
|
|
+#include <linux/of.h>
|
|
#include <linux/crc32.h>
|
|
#include <linux/if_vlan.h>
|
|
#include <linux/uaccess.h>
|
|
@@ -7045,6 +7046,22 @@ static void rtl_tally_reset(struct r8152
|
|
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
|
}
|
|
|
|
+static int r8152_led_configuration(struct r8152 *tp)
|
|
+{
|
|
+ u32 led_data;
|
|
+ int ret;
|
|
+
|
|
+ ret = of_property_read_u32(tp->udev->dev.of_node, "realtek,led-data",
|
|
+ &led_data);
|
|
+
|
|
+ if (ret)
|
|
+ return ret;
|
|
+
|
|
+ ocp_write_word(tp, MCU_TYPE_PLA, PLA_LEDSEL, led_data);
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
static void r8152b_init(struct r8152 *tp)
|
|
{
|
|
u32 ocp_data;
|
|
@@ -7086,6 +7103,8 @@ static void r8152b_init(struct r8152 *tp
|
|
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
|
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
|
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
|
+
|
|
+ r8152_led_configuration(tp);
|
|
}
|
|
|
|
static void r8153_init(struct r8152 *tp)
|
|
@@ -7226,6 +7245,8 @@ static void r8153_init(struct r8152 *tp)
|
|
tp->coalesce = COALESCE_SLOW;
|
|
break;
|
|
}
|
|
+
|
|
+ r8152_led_configuration(tp);
|
|
}
|
|
|
|
static void r8153b_init(struct r8152 *tp)
|
|
@@ -7308,6 +7329,8 @@ static void r8153b_init(struct r8152 *tp
|
|
rtl_tally_reset(tp);
|
|
|
|
tp->coalesce = 15000; /* 15 us */
|
|
+
|
|
+ r8152_led_configuration(tp);
|
|
}
|
|
|
|
static void r8153c_init(struct r8152 *tp)
|