net: dsa: realtek: convert subdrivers into modules
authorLuiz Angelo Daros de Luca <luizluca@gmail.com>
Fri, 28 Jan 2022 06:05:01 +0000 (03:05 -0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Jan 2022 15:02:49 +0000 (15:02 +0000)
Preparing for multiple interfaces support, the drivers
must be independent of realtek-smi.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Tested-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/realtek/Kconfig
drivers/net/dsa/realtek/Makefile
drivers/net/dsa/realtek/realtek-smi.c [moved from drivers/net/dsa/realtek/realtek-smi-core.c with 97% similarity]
drivers/net/dsa/realtek/rtl8365mb.c
drivers/net/dsa/realtek/rtl8366-core.c [moved from drivers/net/dsa/realtek/rtl8366.c with 100% similarity]
drivers/net/dsa/realtek/rtl8366rb.c

index 1c62212..cd1aa95 100644 (file)
@@ -2,8 +2,6 @@
 menuconfig NET_DSA_REALTEK
        tristate "Realtek Ethernet switch family support"
        depends on NET_DSA
-       select NET_DSA_TAG_RTL4_A
-       select NET_DSA_TAG_RTL8_4
        select FIXED_PHY
        select IRQ_DOMAIN
        select REALTEK_PHY
@@ -18,3 +16,21 @@ config NET_DSA_REALTEK_SMI
        help
          Select to enable support for registering switches connected
          through SMI.
+
+config NET_DSA_REALTEK_RTL8365MB
+       tristate "Realtek RTL8365MB switch subdriver"
+       default y
+       depends on NET_DSA_REALTEK
+       depends on NET_DSA_REALTEK_SMI
+       select NET_DSA_TAG_RTL8_4
+       help
+         Select to enable support for Realtek RTL8365MB
+
+config NET_DSA_REALTEK_RTL8366RB
+       tristate "Realtek RTL8366RB switch subdriver"
+       default y
+       depends on NET_DSA_REALTEK
+       depends on NET_DSA_REALTEK_SMI
+       select NET_DSA_TAG_RTL4_A
+       help
+         Select to enable support for Realtek RTL8366RB
index 323b921..8b5a4ab 100644 (file)
@@ -1,3 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
 obj-$(CONFIG_NET_DSA_REALTEK_SMI)      += realtek-smi.o
-realtek-smi-objs                       := realtek-smi-core.o rtl8366.o rtl8366rb.o rtl8365mb.o
+obj-$(CONFIG_NET_DSA_REALTEK_RTL8366RB) += rtl8366.o
+rtl8366-objs                           := rtl8366-core.o rtl8366rb.o
+obj-$(CONFIG_NET_DSA_REALTEK_RTL8365MB) += rtl8365mb.o
similarity index 97%
rename from drivers/net/dsa/realtek/realtek-smi-core.c
rename to drivers/net/dsa/realtek/realtek-smi.c
index 5fb86ae..04df06e 100644 (file)
@@ -494,19 +494,23 @@ static void realtek_smi_shutdown(struct platform_device *pdev)
 }
 
 static const struct of_device_id realtek_smi_of_match[] = {
+#if IS_ENABLED(CONFIG_NET_DSA_REALTEK_RTL8366RB)
        {
                .compatible = "realtek,rtl8366rb",
                .data = &rtl8366rb_variant,
        },
+#endif
        {
                /* FIXME: add support for RTL8366S and more */
                .compatible = "realtek,rtl8366s",
                .data = NULL,
        },
+#if IS_ENABLED(CONFIG_NET_DSA_REALTEK_RTL8365MB)
        {
                .compatible = "realtek,rtl8365mb",
                .data = &rtl8365mb_variant,
        },
+#endif
        { /* sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, realtek_smi_of_match);
@@ -522,4 +526,6 @@ static struct platform_driver realtek_smi_driver = {
 };
 module_platform_driver(realtek_smi_driver);
 
+MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+MODULE_DESCRIPTION("Driver for Realtek ethernet switch connected via SMI interface");
 MODULE_LICENSE("GPL");
index a50cae2..f917630 100644 (file)
@@ -1986,3 +1986,7 @@ const struct realtek_variant rtl8365mb_variant = {
        .chip_data_sz = sizeof(struct rtl8365mb),
 };
 EXPORT_SYMBOL_GPL(rtl8365mb_variant);
+
+MODULE_AUTHOR("Alvin Šipraga <alsi@bang-olufsen.dk>");
+MODULE_DESCRIPTION("Driver for RTL8365MB-VC ethernet switch");
+MODULE_LICENSE("GPL");
index b301408..7dea8db 100644 (file)
@@ -1816,3 +1816,7 @@ const struct realtek_variant rtl8366rb_variant = {
        .chip_data_sz = sizeof(struct rtl8366rb),
 };
 EXPORT_SYMBOL_GPL(rtl8366rb_variant);
+
+MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
+MODULE_DESCRIPTION("Driver for RTL8366RB ethernet switch");
+MODULE_LICENSE("GPL");