swconfig: fix Broadcom b53 support

This commit fixes a bug in the main swconfig patch where a function
needed by the b53 driver is not exported.
Additionally it adds OF support to the b53_mdio driver for devicetree-
based probing

Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
This commit is contained in:
Tobias Schramm 2019-12-03 22:30:00 +01:00 committed by David Bauer
parent 35ba9304c6
commit 8f9cd1af0f
2 changed files with 33 additions and 0 deletions

View File

@ -370,6 +370,26 @@ 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,
@ -381,6 +401,10 @@ 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 */
@ -394,6 +418,10 @@ 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 */
@ -407,6 +435,10 @@ 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)

View File

@ -1256,6 +1256,7 @@ 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)