Using phy_drivers_register multiple phy drivers can be registered at once which makes the code easier to read.
Signed-off-by: Helmut Schaa <[email protected]> --- .../generic/files/drivers/net/phy/b53/b53_mdio.c | 56 +++++----------------- 1 file changed, 13 insertions(+), 43 deletions(-) diff --git a/target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c b/target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c index b7e6b59..3257acd 100644 --- a/target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c +++ b/target/linux/generic/files/drivers/net/phy/b53/b53_mdio.c @@ -341,8 +341,9 @@ static int b53_phy_read_status(struct phy_device *phydev) return 0; } -/* BCM5325, BCM539x */ -static struct phy_driver b53_phy_driver_id1 = { +static struct phy_driver b53_phy_drivers[] = { +{ + /* BCM5325, BCM539x */ .phy_id = 0x0143bc00, .name = "Broadcom B53 (1)", .phy_id_mask = 0x1ffffc00, @@ -355,10 +356,8 @@ static struct phy_driver b53_phy_driver_id1 = { .driver = { .owner = THIS_MODULE, }, -}; - -/* BCM53125 */ -static struct phy_driver b53_phy_driver_id2 = { +}, { + /* BCM53125 */ .phy_id = 0x03625c00, .name = "Broadcom B53 (2)", .phy_id_mask = 0x1ffffc00, @@ -371,10 +370,8 @@ static struct phy_driver b53_phy_driver_id2 = { .driver = { .owner = THIS_MODULE, }, -}; - -/* BCM5365 */ -static struct phy_driver b53_phy_driver_id3 = { +}, { + /* BCM5365 */ .phy_id = 0x00406000, .name = "Broadcom B53 (3)", .phy_id_mask = 0x1ffffc00, @@ -387,10 +384,8 @@ static struct phy_driver b53_phy_driver_id3 = { .driver = { .owner = THIS_MODULE, }, -}; - -/* BCM53128 */ -static struct phy_driver b53_phy_driver_id4 = { +}, { + /* BCM53128 */ .phy_id = 0x03625e14, .name = "Broadcom B53 (4)", .phy_id_mask = 0x1ffffc00, @@ -403,43 +398,18 @@ static struct phy_driver b53_phy_driver_id4 = { .driver = { .owner = THIS_MODULE, }, -}; +} }; int __init b53_phy_driver_register(void) { - int ret; - - ret = phy_driver_register(&b53_phy_driver_id1); - if (ret) - return ret; - - ret = phy_driver_register(&b53_phy_driver_id2); - if (ret) - goto err1; - - ret = phy_driver_register(&b53_phy_driver_id3); - if (ret) - goto err2; - - ret = phy_driver_register(&b53_phy_driver_id4); - if (!ret) - return 0; - - phy_driver_unregister(&b53_phy_driver_id3); -err2: - phy_driver_unregister(&b53_phy_driver_id2); -err1: - phy_driver_unregister(&b53_phy_driver_id1); - return ret; + return phy_drivers_register(b53_phy_drivers, + ARRAY_SIZE(b53_phy_drivers)); } void __exit b53_phy_driver_unregister(void) { - phy_driver_unregister(&b53_phy_driver_id4); - phy_driver_unregister(&b53_phy_driver_id3); - phy_driver_unregister(&b53_phy_driver_id2); - phy_driver_unregister(&b53_phy_driver_id1); + phy_drivers_unregister(b53_phy_drivers, ARRAY_SIZE(b53_phy_drivers)); } module_init(b53_phy_driver_register); -- 1.8.1.4 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
