summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Stockhausen2025-12-16 09:58:22 +0000
committerHauke Mehrtens2025-12-23 16:59:12 +0000
commitbbafac0816d46b4868a3360469483dfd271c046b (patch)
tree346cd6f2f1da38148ac707be4e9e7db974321f71
parent20a25b9ffac228c05ba0b5fb0d524a8b013897c9 (diff)
downloadopenwrt-bbafac0816d46b4868a3360469483dfd271c046b.tar.gz
realtek: ethernet: provide soc family in register config
The ethernet driver currently determines the family from the soc_info structure. To avoid the dependency add the family to the local register structure. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/21183 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c4
-rw-r--r--target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c
index eb110840e8..c475036958 100644
--- a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c
+++ b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c
@@ -448,6 +448,7 @@ static irqreturn_t rtl93xx_net_irq(int irq, void *dev_id)
}
static const struct rtl838x_eth_reg rtl838x_reg = {
+ .family_id = RTL8380_FAMILY_ID,
.net_irq = rtl83xx_net_irq,
.mac_port_ctrl = rtl838x_mac_port_ctrl,
.dma_if_intr_sts = RTL838X_DMA_IF_INTR_STS,
@@ -473,6 +474,7 @@ static const struct rtl838x_eth_reg rtl838x_reg = {
};
static const struct rtl838x_eth_reg rtl839x_reg = {
+ .family_id = RTL8390_FAMILY_ID,
.net_irq = rtl83xx_net_irq,
.mac_port_ctrl = rtl839x_mac_port_ctrl,
.dma_if_intr_sts = RTL839X_DMA_IF_INTR_STS,
@@ -498,6 +500,7 @@ static const struct rtl838x_eth_reg rtl839x_reg = {
};
static const struct rtl838x_eth_reg rtl930x_reg = {
+ .family_id = RTL9300_FAMILY_ID,
.net_irq = rtl93xx_net_irq,
.mac_port_ctrl = rtl930x_mac_port_ctrl,
.dma_if_intr_rx_runout_sts = RTL930X_DMA_IF_INTR_RX_RUNOUT_STS,
@@ -529,6 +532,7 @@ static const struct rtl838x_eth_reg rtl930x_reg = {
};
static const struct rtl838x_eth_reg rtl931x_reg = {
+ .family_id = RTL9310_FAMILY_ID,
.net_irq = rtl93xx_net_irq,
.mac_port_ctrl = rtl931x_mac_port_ctrl,
.dma_if_intr_rx_runout_sts = RTL931X_DMA_IF_INTR_RX_RUNOUT_STS,
diff --git a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h
index 54de5ff9b0..9b94140ca9 100644
--- a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h
+++ b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h
@@ -436,6 +436,7 @@ struct p_hdr;
struct dsa_tag;
struct rtl838x_eth_reg {
+ int family_id;
irqreturn_t (*net_irq)(int irq, void *dev_id);
int (*mac_port_ctrl)(int port);
int dma_if_intr_sts;