[PATCH] Revert "swconfig: fix Broadcom b53 support"
Rafał Miłecki
zajec5 at gmail.com
Sun Oct 3 22:12:36 PDT 2021
From: Rafał Miłecki <rafal at milecki.pl>
This reverts commit 8f9cd1af0f9c325a902dbd0e79e12015372e6bb0.
That commit was meant to add a single EXPORT_SYMBOL_GPL() but it
actually also added few .of_match_table-s. One commit should handle one
thing and should not introduce unrelated changes.
Regarding actual changes:
1. EXPORT_SYMBOL_GPL is not required as we don't build swconfig drivers
as modules.
2. PHY drivers must not have .of_match_table. That is allowed for MDIO
drivers. This could work for some time (although is didn't for me on
bcm53xx) but does not with kernel 5.10. It causes a soft lockup and
upstream developers confirmed it's an unsupported design.
Link: https://lore.kernel.org/netdev/2b1dc053-8c9a-e3e4-b450-eecdfca3fe16@gmail.com/t/#mf80e472f35ee23f7a75cbf5b1e101a17ab3a64a3
Cc: Tobias Schramm <tobleminer at gmail.com>
Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
.../files/drivers/net/phy/b53/b53_mdio.c | 32 -------------------
.../generic/files/drivers/net/phy/swconfig.c | 1 -
2 files changed, 33 deletions(-)
diff --git a/target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c b/target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c
index 98cdbffe73..6ec23a49a3 100644
--- a/target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c
+++ b/target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c
@@ -361,26 +361,6 @@ static int b53_phy_read_status(struct phy_device *phydev)
return 0;
}
-static const struct of_device_id b53_of_match_1[] = {
- { .compatible = "brcm,bcm5325" },
- { .compatible = "brcm,bcm5395" },
- { .compatible = "brcm,bcm5397" },
- { .compatible = "brcm,bcm5398" },
- { /* sentinel */ },
-};
-
-static const struct of_device_id b53_of_match_2[] = {
- { .compatible = "brcm,bcm53115" },
- { .compatible = "brcm,bcm53125" },
- { .compatible = "brcm,bcm53128" },
- { /* sentinel */ },
-};
-
-static const struct of_device_id b53_of_match_3[] = {
- { .compatible = "brcm,bcm5365" },
- { /* sentinel */ },
-};
-
/* BCM5325, BCM539x */
static struct phy_driver b53_phy_driver_id1 = {
.phy_id = 0x0143bc00,
@@ -392,10 +372,6 @@ static struct phy_driver b53_phy_driver_id1 = {
.config_aneg = b53_phy_config_aneg,
.config_init = b53_phy_config_init,
.read_status = b53_phy_read_status,
- .mdiodrv.driver = {
- .name = "bcm539x",
- .of_match_table = b53_of_match_1,
- },
};
/* BCM53125, BCM53128 */
@@ -409,10 +385,6 @@ static struct phy_driver b53_phy_driver_id2 = {
.config_aneg = b53_phy_config_aneg,
.config_init = b53_phy_config_init,
.read_status = b53_phy_read_status,
- .mdiodrv.driver = {
- .name = "bcm531xx",
- .of_match_table = b53_of_match_2,
- },
};
/* BCM5365 */
@@ -426,10 +398,6 @@ static struct phy_driver b53_phy_driver_id3 = {
.config_aneg = b53_phy_config_aneg,
.config_init = b53_phy_config_init,
.read_status = b53_phy_read_status,
- .mdiodrv.driver = {
- .name = "bcm5365",
- .of_match_table = b53_of_match_3,
- },
};
int __init b53_phy_driver_register(void)
diff --git a/target/linux/generic/files/drivers/net/phy/swconfig.c b/target/linux/generic/files/drivers/net/phy/swconfig.c
index a734e57608..f506daaf91 100644
--- a/target/linux/generic/files/drivers/net/phy/swconfig.c
+++ b/target/linux/generic/files/drivers/net/phy/swconfig.c
@@ -1222,7 +1222,6 @@ switch_generic_set_link(struct switch_dev *dev, int port,
return 0;
}
-EXPORT_SYMBOL_GPL(switch_generic_set_link);
static int __init
swconfig_init(void)
--
2.26.2
More information about the openwrt-devel
mailing list