diff options
author | Shengzhou Liu <Shengzhou.Liu@freescale.com> | 2013-08-22 04:24:19 (GMT) |
---|---|---|
committer | Rivera Jose-B46482 <German.Rivera@freescale.com> | 2013-09-27 13:49:09 (GMT) |
commit | ca1c15a3718590d5ada9b9948bea1779bd734790 (patch) | |
tree | 99b2d04fa2aca33f4c2abd21f4b0e9d0f47fefab /drivers/net/phy | |
parent | 550caca6175758eb2c4b7772e80751c569e8bbbc (diff) | |
download | linux-fsl-qoriq-ca1c15a3718590d5ada9b9948bea1779bd734790.tar.xz |
net/phy: update AT803x driver to add support for AT8033
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Change-Id: I841731e258b147b425aec91224e1fff6ed4d4239
Reviewed-on: http://git.am.freescale.net:8181/4363
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Zang Tiefei-R61911 <tie-fei.zang@freescale.com>
Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r-- | drivers/net/phy/at803x.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index 45cbc10..88ecb85 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -123,6 +123,21 @@ static struct phy_driver at8035_driver = { }, }; +/* ATHEROS 8033 */ +static struct phy_driver at8033_driver = { + .phy_id = 0x004dd074, + .name = "Atheros 8033 ethernet", + .phy_id_mask = 0xffffffef, + .config_init = at803x_config_init, + .features = PHY_GBIT_FEATURES, + .flags = PHY_HAS_INTERRUPT, + .config_aneg = &genphy_config_aneg, + .read_status = &genphy_read_status, + .driver = { + .owner = THIS_MODULE, + }, +}; + /* ATHEROS 8030 */ static struct phy_driver at8030_driver = { .phy_id = 0x004dd076, @@ -146,12 +161,17 @@ static int __init atheros_init(void) if (ret) goto err1; - ret = phy_driver_register(&at8030_driver); + ret = phy_driver_register(&at8033_driver); if (ret) goto err2; - return 0; + ret = phy_driver_register(&at8030_driver); + if (ret) + goto err3; + return 0; +err3: + phy_driver_unregister(&at8033_driver); err2: phy_driver_unregister(&at8035_driver); err1: @@ -161,6 +181,7 @@ err1: static void __exit atheros_exit(void) { phy_driver_unregister(&at8035_driver); + phy_driver_unregister(&at8033_driver); phy_driver_unregister(&at8030_driver); } @@ -169,6 +190,7 @@ module_exit(atheros_exit); static struct mdio_device_id __maybe_unused atheros_tbl[] = { { 0x004dd076, 0xffffffef }, + { 0x004dd074, 0xffffffef }, { 0x004dd072, 0xffffffef }, { } }; |