[PATCH] net: phy: Add support for SMSC LAN8740 PHY

Subsystems: ethernet phy library, networking drivers, the rest

STALE3893d

3 messages, 2 authors, 2016-01-09 · open the first message on its own page

[PATCH] net: phy: Add support for SMSC LAN8740 PHY

From: Joshua Henderson <hidden>
Date: 2016-01-09 00:50:07

LAN8740 has a different phy_id than LAN8710/LAN8720.

Signed-off-by: Joshua Henderson <redacted>
---
 drivers/net/phy/smsc.c |   24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
index dc2da87..34021a5 100644
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
@@ -264,6 +264,29 @@ static struct phy_driver smsc_phy_driver[] = {
 	.resume		= genphy_resume,
 
 	.driver		= { .owner = THIS_MODULE, }
+}, {
+	.phy_id		= 0x0007c110,
+	.phy_id_mask	= 0xfffffff0,
+	.name		= "SMSC LAN8740",
+
+	.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	= lan87xx_read_status,
+	.config_init	= smsc_phy_config_init,
+	.soft_reset	= smsc_phy_reset,
+
+	/* IRQ related */
+	.ack_interrupt	= smsc_phy_ack_interrupt,
+	.config_intr	= smsc_phy_config_intr,
+
+	.suspend	= genphy_suspend,
+	.resume		= genphy_resume,
+
+	.driver		= { .owner = THIS_MODULE, }
 } };
 
 module_phy_driver(smsc_phy_driver);
@@ -278,6 +301,7 @@ static struct mdio_device_id __maybe_unused smsc_tbl[] = {
 	{ 0x0007c0c0, 0xfffffff0 },
 	{ 0x0007c0d0, 0xfffffff0 },
 	{ 0x0007c0f0, 0xfffffff0 },
+	{ 0x0007c110, 0xfffffff0 },
 	{ }
 };
 
-- 
1.7.9.5

Re: [PATCH] net: phy: Add support for SMSC LAN8740 PHY

From: Andrew Lunn <andrew@lunn.ch>
Date: 2016-01-09 01:36:59

On Fri, Jan 08, 2016 at 05:57:20PM -0700, Joshua Henderson wrote:
quoted hunk
LAN8740 has a different phy_id than LAN8710/LAN8720.

Signed-off-by: Joshua Henderson <redacted>
---
 drivers/net/phy/smsc.c |   24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
index dc2da87..34021a5 100644
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
@@ -264,6 +264,29 @@ static struct phy_driver smsc_phy_driver[] = {
 	.resume		= genphy_resume,
 
 	.driver		= { .owner = THIS_MODULE, }
+}, {
+	.phy_id		= 0x0007c110,
+	.phy_id_mask	= 0xfffffff0,
+	.name		= "SMSC LAN8740",
+
+	.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	= lan87xx_read_status,
+	.config_init	= smsc_phy_config_init,
+	.soft_reset	= smsc_phy_reset,
+
+	/* IRQ related */
+	.ack_interrupt	= smsc_phy_ack_interrupt,
+	.config_intr	= smsc_phy_config_intr,
+
+	.suspend	= genphy_suspend,
+	.resume		= genphy_resume,
+
+	.driver		= { .owner = THIS_MODULE, }
 } };
Hi Joshua

You should remove this .driver line. The core sets it now.

    Andrew

Re: [PATCH] net: phy: Add support for SMSC LAN8740 PHY

From: Joshua Henderson <hidden>
Date: 2016-01-09 11:43:58

On 1/8/2016 6:36 PM, Andrew Lunn wrote:
On Fri, Jan 08, 2016 at 05:57:20PM -0700, Joshua Henderson wrote:
quoted
LAN8740 has a different phy_id than LAN8710/LAN8720.

Signed-off-by: Joshua Henderson <redacted>
---
 drivers/net/phy/smsc.c |   24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
index dc2da87..34021a5 100644
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
@@ -264,6 +264,29 @@ static struct phy_driver smsc_phy_driver[] = {
 	.resume		= genphy_resume,
 
 	.driver		= { .owner = THIS_MODULE, }
+}, {
+	.phy_id		= 0x0007c110,
+	.phy_id_mask	= 0xfffffff0,
+	.name		= "SMSC LAN8740",
+
+	.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	= lan87xx_read_status,
+	.config_init	= smsc_phy_config_init,
+	.soft_reset	= smsc_phy_reset,
+
+	/* IRQ related */
+	.ack_interrupt	= smsc_phy_ack_interrupt,
+	.config_intr	= smsc_phy_config_intr,
+
+	.suspend	= genphy_suspend,
+	.resume		= genphy_resume,
+
+	.driver		= { .owner = THIS_MODULE, }
 } };
Hi Joshua

You should remove this .driver line. The core sets it now.

    Andrew
Got it.  I'll apply against net-next.

Thanks,
Josh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help