Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12414db1 authored by Kim Phillips's avatar Kim Phillips Committed by Jeff Garzik
Browse files

Add support for the Davicom DM9161A PHY



Distinguish between the Davicom DM9161A PHY and the DM9161E.

Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent f30cac6f
Loading
Loading
Loading
Loading
+26 −8
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ static int dm9161_ack_interrupt(struct phy_device *phydev)
	return (err < 0) ? err : 0;
}

static struct phy_driver dm9161_driver = {
static struct phy_driver dm9161e_driver = {
	.phy_id		= 0x0181b880,
	.name		= "Davicom DM9161E",
	.phy_id_mask	= 0x0ffffff0,
@@ -150,6 +150,17 @@ static struct phy_driver dm9161_driver = {
	.driver		= { .owner = THIS_MODULE,},
};

static struct phy_driver dm9161a_driver = {
	.phy_id		= 0x0181b8a0,
	.name		= "Davicom DM9161A",
	.phy_id_mask	= 0x0ffffff0,
	.features	= PHY_BASIC_FEATURES,
	.config_init	= dm9161_config_init,
	.config_aneg	= dm9161_config_aneg,
	.read_status	= genphy_read_status,
	.driver		= { .owner = THIS_MODULE,},
};

static struct phy_driver dm9131_driver = {
	.phy_id		= 0x00181b80,
	.name		= "Davicom DM9131",
@@ -167,24 +178,31 @@ static int __init davicom_init(void)
{
	int ret;

	ret = phy_driver_register(&dm9161_driver);
	ret = phy_driver_register(&dm9161e_driver);
	if (ret)
		goto err1;

	ret = phy_driver_register(&dm9131_driver);
	ret = phy_driver_register(&dm9161a_driver);
	if (ret)
		goto err2;

	ret = phy_driver_register(&dm9131_driver);
	if (ret)
		goto err3;
	return 0;

 err3:
	phy_driver_unregister(&dm9161a_driver);
 err2:
	phy_driver_unregister(&dm9161_driver);
	phy_driver_unregister(&dm9161e_driver);
 err1:
	return ret;
}

static void __exit davicom_exit(void)
{
	phy_driver_unregister(&dm9161_driver);
	phy_driver_unregister(&dm9161e_driver);
	phy_driver_unregister(&dm9161a_driver);
	phy_driver_unregister(&dm9131_driver);
}