Commit 03157ac31eb4a8883382a212b161d2e6c5059fbf
Committed by
David S. Miller
1 parent
efb90e43ff
Exists in
master
and in
7 other branches
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); |