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

Commit e072b639 authored by Steve Glendinning's avatar Steve Glendinning Committed by David S. Miller
Browse files

phy: add new LAN8710 and LAN8720 device ids to smsc phy driver



LAN8710 and LAN8720 are two new 10/100 ethernet PHY models. The two
share the same phy id, this patch adds it to the smsc phy driver.

Signed-off-by: default avatarSteve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 61fa9dcf
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -159,6 +159,30 @@ static struct phy_driver lan911x_int_driver = {
	.driver		= { .owner = THIS_MODULE, }
};

static struct phy_driver lan8710_driver = {
	.phy_id		= 0x0007c0f0, /* OUI=0x00800f, Model#=0x0f */
	.phy_id_mask	= 0xfffffff0,
	.name		= "SMSC LAN8710/LAN8720",

	.features	= (PHY_BASIC_FEATURES | SUPPORTED_Pause
				| SUPPORTED_Asym_Pause),
	.flags		= PHY_HAS_INTERRUPT | PHY_HAS_MAGICANEG,

	/* basic functions */
	.config_aneg	= genphy_config_aneg,
	.read_status	= genphy_read_status,
	.config_init	= smsc_phy_config_init,

	/* IRQ related */
	.ack_interrupt	= smsc_phy_ack_interrupt,
	.config_intr	= smsc_phy_config_intr,

	.suspend	= genphy_suspend,
	.resume		= genphy_resume,

	.driver		= { .owner = THIS_MODULE, }
};

static int __init smsc_init(void)
{
	int ret;
@@ -179,8 +203,14 @@ static int __init smsc_init(void)
	if (ret)
		goto err4;

	ret = phy_driver_register (&lan8710_driver);
	if (ret)
		goto err5;

	return 0;

err5:
	phy_driver_unregister (&lan911x_int_driver);
err4:
	phy_driver_unregister (&lan8700_driver);
err3:
@@ -193,6 +223,7 @@ err1:

static void __exit smsc_exit(void)
{
	phy_driver_unregister (&lan8710_driver);
	phy_driver_unregister (&lan911x_int_driver);
	phy_driver_unregister (&lan8700_driver);
	phy_driver_unregister (&lan8187_driver);