summaryrefslogtreecommitdiff
path: root/drivers/net/phy
diff options
context:
space:
mode:
authorShengzhou Liu <Shengzhou.Liu@freescale.com>2013-08-22 04:24:19 (GMT)
committerRivera Jose-B46482 <German.Rivera@freescale.com>2013-09-27 13:49:09 (GMT)
commitca1c15a3718590d5ada9b9948bea1779bd734790 (patch)
tree99b2d04fa2aca33f4c2abd21f4b0e9d0f47fefab /drivers/net/phy
parent550caca6175758eb2c4b7772e80751c569e8bbbc (diff)
downloadlinux-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.c26
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 },
{ }
};