]> Pileus Git - ~andy/linux/blobdiff - drivers/net/phy/broadcom.c
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / drivers / net / phy / broadcom.c
index 60338ff6309248c85cba042ca17c68d38c38b2ea..f8c90ea751083456e7e07135aaa16a215e23f43b 100644 (file)
@@ -682,7 +682,8 @@ static int brcm_fet_config_intr(struct phy_device *phydev)
        return err;
 }
 
-static struct phy_driver bcm5411_driver = {
+static struct phy_driver broadcom_drivers[] = {
+{
        .phy_id         = PHY_ID_BCM5411,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM5411",
@@ -695,9 +696,7 @@ static struct phy_driver bcm5411_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm5421_driver = {
+}, {
        .phy_id         = PHY_ID_BCM5421,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM5421",
@@ -710,9 +709,7 @@ static struct phy_driver bcm5421_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm5461_driver = {
+}, {
        .phy_id         = PHY_ID_BCM5461,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM5461",
@@ -725,9 +722,7 @@ static struct phy_driver bcm5461_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm5464_driver = {
+}, {
        .phy_id         = PHY_ID_BCM5464,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM5464",
@@ -740,9 +735,7 @@ static struct phy_driver bcm5464_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm5481_driver = {
+}, {
        .phy_id         = PHY_ID_BCM5481,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM5481",
@@ -755,9 +748,7 @@ static struct phy_driver bcm5481_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm5482_driver = {
+}, {
        .phy_id         = PHY_ID_BCM5482,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM5482",
@@ -770,9 +761,7 @@ static struct phy_driver bcm5482_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm50610_driver = {
+}, {
        .phy_id         = PHY_ID_BCM50610,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM50610",
@@ -785,9 +774,7 @@ static struct phy_driver bcm50610_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm50610m_driver = {
+}, {
        .phy_id         = PHY_ID_BCM50610M,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM50610M",
@@ -800,9 +787,7 @@ static struct phy_driver bcm50610m_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm57780_driver = {
+}, {
        .phy_id         = PHY_ID_BCM57780,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM57780",
@@ -815,9 +800,7 @@ static struct phy_driver bcm57780_driver = {
        .ack_interrupt  = bcm54xx_ack_interrupt,
        .config_intr    = bcm54xx_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcmac131_driver = {
+}, {
        .phy_id         = PHY_ID_BCMAC131,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCMAC131",
@@ -830,9 +813,7 @@ static struct phy_driver bcmac131_driver = {
        .ack_interrupt  = brcm_fet_ack_interrupt,
        .config_intr    = brcm_fet_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
-
-static struct phy_driver bcm5241_driver = {
+}, {
        .phy_id         = PHY_ID_BCM5241,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM5241",
@@ -845,84 +826,18 @@ static struct phy_driver bcm5241_driver = {
        .ack_interrupt  = brcm_fet_ack_interrupt,
        .config_intr    = brcm_fet_config_intr,
        .driver         = { .owner = THIS_MODULE },
-};
+} };
 
 static int __init broadcom_init(void)
 {
-       int ret;
-
-       ret = phy_driver_register(&bcm5411_driver);
-       if (ret)
-               goto out_5411;
-       ret = phy_driver_register(&bcm5421_driver);
-       if (ret)
-               goto out_5421;
-       ret = phy_driver_register(&bcm5461_driver);
-       if (ret)
-               goto out_5461;
-       ret = phy_driver_register(&bcm5464_driver);
-       if (ret)
-               goto out_5464;
-       ret = phy_driver_register(&bcm5481_driver);
-       if (ret)
-               goto out_5481;
-       ret = phy_driver_register(&bcm5482_driver);
-       if (ret)
-               goto out_5482;
-       ret = phy_driver_register(&bcm50610_driver);
-       if (ret)
-               goto out_50610;
-       ret = phy_driver_register(&bcm50610m_driver);
-       if (ret)
-               goto out_50610m;
-       ret = phy_driver_register(&bcm57780_driver);
-       if (ret)
-               goto out_57780;
-       ret = phy_driver_register(&bcmac131_driver);
-       if (ret)
-               goto out_ac131;
-       ret = phy_driver_register(&bcm5241_driver);
-       if (ret)
-               goto out_5241;
-       return ret;
-
-out_5241:
-       phy_driver_unregister(&bcmac131_driver);
-out_ac131:
-       phy_driver_unregister(&bcm57780_driver);
-out_57780:
-       phy_driver_unregister(&bcm50610m_driver);
-out_50610m:
-       phy_driver_unregister(&bcm50610_driver);
-out_50610:
-       phy_driver_unregister(&bcm5482_driver);
-out_5482:
-       phy_driver_unregister(&bcm5481_driver);
-out_5481:
-       phy_driver_unregister(&bcm5464_driver);
-out_5464:
-       phy_driver_unregister(&bcm5461_driver);
-out_5461:
-       phy_driver_unregister(&bcm5421_driver);
-out_5421:
-       phy_driver_unregister(&bcm5411_driver);
-out_5411:
-       return ret;
+       return phy_drivers_register(broadcom_drivers,
+               ARRAY_SIZE(broadcom_drivers));
 }
 
 static void __exit broadcom_exit(void)
 {
-       phy_driver_unregister(&bcm5241_driver);
-       phy_driver_unregister(&bcmac131_driver);
-       phy_driver_unregister(&bcm57780_driver);
-       phy_driver_unregister(&bcm50610m_driver);
-       phy_driver_unregister(&bcm50610_driver);
-       phy_driver_unregister(&bcm5482_driver);
-       phy_driver_unregister(&bcm5481_driver);
-       phy_driver_unregister(&bcm5464_driver);
-       phy_driver_unregister(&bcm5461_driver);
-       phy_driver_unregister(&bcm5421_driver);
-       phy_driver_unregister(&bcm5411_driver);
+       phy_drivers_unregister(broadcom_drivers,
+               ARRAY_SIZE(broadcom_drivers));
 }
 
 module_init(broadcom_init);