aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy
diff options
context:
space:
mode:
authorNate Case <ncase@xes-inc.com>2008-01-29 11:19:00 -0500
committerDavid S. Miller <davem@davemloft.net>2008-02-03 07:26:28 -0500
commit03157ac31eb4a8883382a212b161d2e6c5059fbf (patch)
tree6d720fe0bf5bd462603fcf70e1c3a4bdf6ac2ba8 /drivers/net/phy
parentefb90e43ffee4045efe76de90773c4a5963515a3 (diff)
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>
Diffstat (limited to 'drivers/net/phy')
-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 29666c85ed55..5b80358af658 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -141,6 +141,20 @@ static struct phy_driver bcm5461_driver = {
141 .driver = { .owner = THIS_MODULE }, 141 .driver = { .owner = THIS_MODULE },
142}; 142};
143 143
144static 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
144static int __init broadcom_init(void) 158static int __init broadcom_init(void)
145{ 159{
146 int ret; 160 int ret;
@@ -154,8 +168,13 @@ static int __init broadcom_init(void)
154 ret = phy_driver_register(&bcm5461_driver); 168 ret = phy_driver_register(&bcm5461_driver);
155 if (ret) 169 if (ret)
156 goto out_5461; 170 goto out_5461;
171 ret = phy_driver_register(&bcm5482_driver);
172 if (ret)
173 goto out_5482;
157 return ret; 174 return ret;
158 175
176out_5482:
177 phy_driver_unregister(&bcm5461_driver);
159out_5461: 178out_5461:
160 phy_driver_unregister(&bcm5421_driver); 179 phy_driver_unregister(&bcm5421_driver);
161out_5421: 180out_5421:
@@ -166,6 +185,7 @@ out_5411:
166 185
167static void __exit broadcom_exit(void) 186static void __exit broadcom_exit(void)
168{ 187{
188 phy_driver_unregister(&bcm5482_driver);
169 phy_driver_unregister(&bcm5461_driver); 189 phy_driver_unregister(&bcm5461_driver);
170 phy_driver_unregister(&bcm5421_driver); 190 phy_driver_unregister(&bcm5421_driver);
171 phy_driver_unregister(&bcm5411_driver); 191 phy_driver_unregister(&bcm5411_driver);