Commit 03157ac31eb4a8883382a212b161d2e6c5059fbf

Authored by Nate Case
Committed by David S. Miller
1 parent efb90e43ff

PHYLIB: Add BCM5482 PHY support

This Broadcom PHY is similar to other bcm54xx devices.

Signed-off-by: Nate Case <ncase@xes-inc.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 1 changed file with 20 additions and 0 deletions Side-by-side Diff

drivers/net/phy/broadcom.c
... ... @@ -141,6 +141,20 @@
141 141 .driver = { .owner = THIS_MODULE },
142 142 };
143 143  
  144 +static struct phy_driver bcm5482_driver = {
  145 + .phy_id = 0x0143bcb0,
  146 + .phy_id_mask = 0xfffffff0,
  147 + .name = "Broadcom BCM5482",
  148 + .features = PHY_GBIT_FEATURES,
  149 + .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
  150 + .config_init = bcm54xx_config_init,
  151 + .config_aneg = genphy_config_aneg,
  152 + .read_status = genphy_read_status,
  153 + .ack_interrupt = bcm54xx_ack_interrupt,
  154 + .config_intr = bcm54xx_config_intr,
  155 + .driver = { .owner = THIS_MODULE },
  156 +};
  157 +
144 158 static int __init broadcom_init(void)
145 159 {
146 160 int ret;
147 161  
... ... @@ -154,8 +168,13 @@
154 168 ret = phy_driver_register(&bcm5461_driver);
155 169 if (ret)
156 170 goto out_5461;
  171 + ret = phy_driver_register(&bcm5482_driver);
  172 + if (ret)
  173 + goto out_5482;
157 174 return ret;
158 175  
  176 +out_5482:
  177 + phy_driver_unregister(&bcm5461_driver);
159 178 out_5461:
160 179 phy_driver_unregister(&bcm5421_driver);
161 180 out_5421:
... ... @@ -166,6 +185,7 @@
166 185  
167 186 static void __exit broadcom_exit(void)
168 187 {
  188 + phy_driver_unregister(&bcm5482_driver);
169 189 phy_driver_unregister(&bcm5461_driver);
170 190 phy_driver_unregister(&bcm5421_driver);
171 191 phy_driver_unregister(&bcm5411_driver);