aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/broadcom.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/phy/broadcom.c')
-rw-r--r--drivers/net/phy/broadcom.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index f5310ed3760d..60c5cfe96918 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -176,6 +176,20 @@ static struct phy_driver bcm5461_driver = {
176 .driver = { .owner = THIS_MODULE }, 176 .driver = { .owner = THIS_MODULE },
177}; 177};
178 178
179static struct phy_driver bcm5464_driver = {
180 .phy_id = 0x002060b0,
181 .phy_id_mask = 0xfffffff0,
182 .name = "Broadcom BCM5464",
183 .features = PHY_GBIT_FEATURES,
184 .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
185 .config_init = bcm54xx_config_init,
186 .config_aneg = genphy_config_aneg,
187 .read_status = genphy_read_status,
188 .ack_interrupt = bcm54xx_ack_interrupt,
189 .config_intr = bcm54xx_config_intr,
190 .driver = { .owner = THIS_MODULE },
191};
192
179static struct phy_driver bcm5481_driver = { 193static struct phy_driver bcm5481_driver = {
180 .phy_id = 0x0143bca0, 194 .phy_id = 0x0143bca0,
181 .phy_id_mask = 0xfffffff0, 195 .phy_id_mask = 0xfffffff0,
@@ -217,6 +231,9 @@ static int __init broadcom_init(void)
217 ret = phy_driver_register(&bcm5461_driver); 231 ret = phy_driver_register(&bcm5461_driver);
218 if (ret) 232 if (ret)
219 goto out_5461; 233 goto out_5461;
234 ret = phy_driver_register(&bcm5464_driver);
235 if (ret)
236 goto out_5464;
220 ret = phy_driver_register(&bcm5481_driver); 237 ret = phy_driver_register(&bcm5481_driver);
221 if (ret) 238 if (ret)
222 goto out_5481; 239 goto out_5481;
@@ -228,6 +245,8 @@ static int __init broadcom_init(void)
228out_5482: 245out_5482:
229 phy_driver_unregister(&bcm5481_driver); 246 phy_driver_unregister(&bcm5481_driver);
230out_5481: 247out_5481:
248 phy_driver_unregister(&bcm5464_driver);
249out_5464:
231 phy_driver_unregister(&bcm5461_driver); 250 phy_driver_unregister(&bcm5461_driver);
232out_5461: 251out_5461:
233 phy_driver_unregister(&bcm5421_driver); 252 phy_driver_unregister(&bcm5421_driver);
@@ -241,6 +260,7 @@ static void __exit broadcom_exit(void)
241{ 260{
242 phy_driver_unregister(&bcm5482_driver); 261 phy_driver_unregister(&bcm5482_driver);
243 phy_driver_unregister(&bcm5481_driver); 262 phy_driver_unregister(&bcm5481_driver);
263 phy_driver_unregister(&bcm5464_driver);
244 phy_driver_unregister(&bcm5461_driver); 264 phy_driver_unregister(&bcm5461_driver);
245 phy_driver_unregister(&bcm5421_driver); 265 phy_driver_unregister(&bcm5421_driver);
246 phy_driver_unregister(&bcm5411_driver); 266 phy_driver_unregister(&bcm5411_driver);