]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: ethernet: provide soc family in register config
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Tue, 16 Dec 2025 09:58:22 +0000 (10:58 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Tue, 23 Dec 2025 16:59:12 +0000 (17:59 +0100)
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>
target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c
target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h

index eb110840e8e34818ef59fd4c65a03b38df961ed1..c475036958b20fd49ee7f971907f459ee41f2ad7 100644 (file)
@@ -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,
index 54de5ff9b046410b08535a9454064c9328605f14..9b94140ca9ae63cac2343d26cd2cdfd2dcdaefcb 100644 (file)
@@ -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;