aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy/broadcom.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-02-04 10:43:36 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2008-02-04 10:43:36 -0500
commita2e4e108c511738fb3bc2bb2fedd593da9913764 (patch)
tree49e4084a383ed43e2d86a36176e197f6b7412a45 /drivers/net/phy/broadcom.c
parenta6cc48eeea438b9d9e05943beebc31c52e76d32f (diff)
parenta80f509f4a4f41ea8693733124470ad63a12664a (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (77 commits) [IPV6]: Reorg struct ifmcaddr6 to save some bytes [INET_TIMEWAIT_SOCK]: Reorganize struct inet_timewait_sock to save some bytes [DCCP]: Reorganize struct dccp_sock to save 8 bytes [INET6]: Reorganize struct inet6_dev to save 8 bytes [SOCK] proto: Add hashinfo member to struct proto EMAC driver: Fix bug: The clock divisor is set to all ones at reset. EMAC driver: fix bug - invalidate data cache of new_skb->data range when cache is WB EMAC driver: add power down mode EMAC driver: ADSP-BF52x arch/mach support EMAC driver: use simpler comment headers and strip out information that is maintained in the scm's log EMAC driver: bf537 MAC multicast hash filtering patch EMAC driver: define MDC_CLK=2.5MHz and caculate mdc_div according to SCLK. EMAC driver: shorten the mdelay value to solve netperf performance issue [netdrvr] sis190: build fix sky2: fix Wake On Lan interaction with BIOS sky2: restore multicast addresses after recovery pci-skeleton: Misc fixes to build neatly phylib: Add Realtek 821x eth PHY support natsemi: Update locking documentation PHYLIB: Locking fixes for PHY I/O potentially sleeping ...
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 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);