From b8f4fb2f3d143ecf2364024e69b417ab1c7f6700 Mon Sep 17 00:00:00 2001 From: Markus Stockhausen Date: Tue, 16 Dec 2025 09:41:37 +0100 Subject: [PATCH] realtek: ethernet: split ethernet compatibles The Realtek Otto ethernet driver currently uses a single compatible for all different models. Split this into the the four well known subtargets. This allows to get rid of the central mach/soc include later. Signed-off-by: Markus Stockhausen Link: https://github.com/openwrt/openwrt/pull/21183 Signed-off-by: Hauke Mehrtens --- target/linux/realtek/dts/rtl838x.dtsi | 2 +- target/linux/realtek/dts/rtl839x.dtsi | 2 +- target/linux/realtek/dts/rtl930x.dtsi | 2 +- target/linux/realtek/dts/rtl931x.dtsi | 2 +- .../realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c | 5 ++++- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/target/linux/realtek/dts/rtl838x.dtsi b/target/linux/realtek/dts/rtl838x.dtsi index 6a872bcb0f..7af572aefc 100644 --- a/target/linux/realtek/dts/rtl838x.dtsi +++ b/target/linux/realtek/dts/rtl838x.dtsi @@ -334,7 +334,7 @@ }; ethernet0: ethernet@1b00a300 { - compatible = "realtek,rtl838x-eth"; + compatible = "realtek,rtl8380-eth"; reg = <0x1b00a300 0x100>; interrupt-parent = <&intc>; interrupts = <24 3>; diff --git a/target/linux/realtek/dts/rtl839x.dtsi b/target/linux/realtek/dts/rtl839x.dtsi index 5e92c5071d..7b6eeae1b1 100644 --- a/target/linux/realtek/dts/rtl839x.dtsi +++ b/target/linux/realtek/dts/rtl839x.dtsi @@ -335,7 +335,7 @@ }; ethernet0: ethernet@1b00a300 { - compatible = "realtek,rtl838x-eth"; + compatible = "realtek,rtl8392-eth"; reg = <0x1b00a300 0x100>; interrupt-parent = <&intc>; diff --git a/target/linux/realtek/dts/rtl930x.dtsi b/target/linux/realtek/dts/rtl930x.dtsi index f358f50417..4a5dd2e17a 100644 --- a/target/linux/realtek/dts/rtl930x.dtsi +++ b/target/linux/realtek/dts/rtl930x.dtsi @@ -331,7 +331,7 @@ }; ethernet0: ethernet@1b00a300 { - compatible = "realtek,rtl838x-eth"; + compatible = "realtek,rtl9301-eth"; reg = <0x1b00a300 0x100>; interrupt-parent = <&intc>; diff --git a/target/linux/realtek/dts/rtl931x.dtsi b/target/linux/realtek/dts/rtl931x.dtsi index d754ebd5a7..6173f912b9 100644 --- a/target/linux/realtek/dts/rtl931x.dtsi +++ b/target/linux/realtek/dts/rtl931x.dtsi @@ -391,7 +391,7 @@ ethernet0: ethernet@1b00a300 { status = "okay"; - compatible = "realtek,rtl838x-eth"; + compatible = "realtek,rtl9311-eth"; reg = <0x1b00a300 0x100>; interrupt-parent = <&gic>; #interrupt-cells = <3>; 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 59ae4fbb24..b30c74b5d6 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 @@ -1856,7 +1856,10 @@ static void rtl838x_eth_remove(struct platform_device *pdev) } static const struct of_device_id rtl838x_eth_of_ids[] = { - { .compatible = "realtek,rtl838x-eth"}, + { .compatible = "realtek,rtl8380-eth" }, + { .compatible = "realtek,rtl8392-eth" }, + { .compatible = "realtek,rtl9301-eth" }, + { .compatible = "realtek,rtl9311-eth" }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, rtl838x_eth_of_ids);