Patchwork [3/3] smsc911x: add flag SMSC911X_USE_INTERPHY

login
register
mail settings
Submitter Richard Zhao
Date March 24, 2009, 6:47 a.m.
Message ID <4e090d470903232347g2b6e91a7o385af2e66f05a936@mail.gmail.com>
Download mbox | patch
Permalink /patch/24943/
State Rejected
Delegated to: David Miller
Headers show

Comments

Richard Zhao - March 24, 2009, 6:47 a.m.
mx31pdk board don't have external PHY, but it wrongly pull up MDIO.
So, add flag SMSC911X_USE_INTERPHY to force using internal PHY.

Signed-off-by: Richard Zhao <linuxzsc@gmail.com>
Sascha Hauer - March 24, 2009, 7:51 a.m.
Hi Richard,

On Tue, Mar 24, 2009 at 02:47:25PM +0800, Richard Zhao wrote:
> mx31pdk board don't have external PHY, but it wrongly pull up MDIO.
> So, add flag SMSC911X_USE_INTERPHY to force using internal PHY.

This patch is outdated. Linux-next already contains a
SMSC911X_FORCE_INTERNAL_PHY for exactly this reason.

Sascha

> 
> Signed-off-by: Richard Zhao <linuxzsc@gmail.com>
> 
> diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
> index d1590ac..60f7b74 100644
> --- a/drivers/net/smsc911x.c
> +++ b/drivers/net/smsc911x.c
> @@ -831,10 +831,12 @@ static int __devinit smsc911x_mii_init(struct
> platform_device *pdev,
>  	case 0x01150000:
>  	case 0x117A0000:
>  	case 0x115A0000:
> -		/* External PHY supported, try to autodetect */
> -		if (smsc911x_phy_initialise_external(pdata) < 0) {
> -			SMSC_TRACE(HW, "No external PHY detected, "
> -				"using internal PHY");
> +		if (!(pdata->config & SMSC911X_USE_INTERPHY)) {
> +			/* External PHY supported, try to autodetect */
> +			if (smsc911x_phy_initialise_external(pdata) < 0) {
> +				SMSC_TRACE(HW, "No external PHY detected, "
> +					"using internal PHY");
> +			}
>  		}
>  		break;
>  	default:
> diff --git a/include/linux/smsc911x.h b/include/linux/smsc911x.h
> index 1cbf031..42b088d 100644
> --- a/include/linux/smsc911x.h
> +++ b/include/linux/smsc911x.h
> @@ -43,5 +43,6 @@ struct smsc911x_platform_config {
>  /* Constants for flags */
>  #define SMSC911X_USE_16BIT 			(BIT(0))
>  #define SMSC911X_USE_32BIT 			(BIT(1))
> +#define SMSC911X_USE_INTERPHY 			(BIT(2))
> 
>  #endif /* __LINUX_SMSC911X_H__ */
> -- 
> 1.5.6.3
>
Richard Zhao - March 24, 2009, 8:36 a.m.
On Tue, Mar 24, 2009 at 3:51 PM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> Hi Richard,
>
> On Tue, Mar 24, 2009 at 02:47:25PM +0800, Richard Zhao wrote:
>> mx31pdk board don't have external PHY, but it wrongly pull up MDIO.
>> So, add flag SMSC911X_USE_INTERPHY to force using internal PHY.
>
> This patch is outdated. Linux-next already contains a
> SMSC911X_FORCE_INTERNAL_PHY for exactly this reason.
>
> Sascha
>
Hi Sascha,

Sorry I didn't check linux-next. Do I need always to create mxc
patches based on linux-nex?
And I don't know why the smsc911x patch commited on Feb 1 on
linux-next still not be merged to mainline?

Thanks
Richard
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sascha Hauer - March 24, 2009, 8:52 a.m.
On Tue, Mar 24, 2009 at 04:36:08PM +0800, Richard Zhao wrote:
> On Tue, Mar 24, 2009 at 3:51 PM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> > Hi Richard,
> >
> > On Tue, Mar 24, 2009 at 02:47:25PM +0800, Richard Zhao wrote:
> >> mx31pdk board don't have external PHY, but it wrongly pull up MDIO.
> >> So, add flag SMSC911X_USE_INTERPHY to force using internal PHY.
> >
> > This patch is outdated. Linux-next already contains a
> > SMSC911X_FORCE_INTERNAL_PHY for exactly this reason.
> >
> > Sascha
> >
> Hi Sascha,
> 
> Sorry I didn't check linux-next. Do I need always to create mxc
> patches based on linux-nex?

No, but you should keep an eye on it to check for changes.

> And I don't know why the smsc911x patch commited on Feb 1 on
> linux-next still not be merged to mainline?

Have a look at Documentation/development-process in the Kernel sources.

Sascha
David Miller - March 24, 2009, 9:18 a.m.
From: Richard Zhao <linuxzsc@gmail.com>
Date: Tue, 24 Mar 2009 16:36:08 +0800

> On Tue, Mar 24, 2009 at 3:51 PM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> > Hi Richard,
> >
> > On Tue, Mar 24, 2009 at 02:47:25PM +0800, Richard Zhao wrote:
> >> mx31pdk board don't have external PHY, but it wrongly pull up MDIO.
> >> So, add flag SMSC911X_USE_INTERPHY to force using internal PHY.
> >
> > This patch is outdated. Linux-next already contains a
> > SMSC911X_FORCE_INTERNAL_PHY for exactly this reason.
> >
> > Sascha
> >
> Hi Sascha,
> 
> Sorry I didn't check linux-next. Do I need always to create mxc
> patches based on linux-nex?
> And I don't know why the smsc911x patch commited on Feb 1 on
> linux-next still not be merged to mainline?

Because it was not a critical regression fix, so it goes
to net-next-2.6 until the merge window opens up.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index d1590ac..60f7b74 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -831,10 +831,12 @@  static int __devinit smsc911x_mii_init(struct
platform_device *pdev,
 	case 0x01150000:
 	case 0x117A0000:
 	case 0x115A0000:
-		/* External PHY supported, try to autodetect */
-		if (smsc911x_phy_initialise_external(pdata) < 0) {
-			SMSC_TRACE(HW, "No external PHY detected, "
-				"using internal PHY");
+		if (!(pdata->config & SMSC911X_USE_INTERPHY)) {
+			/* External PHY supported, try to autodetect */
+			if (smsc911x_phy_initialise_external(pdata) < 0) {
+				SMSC_TRACE(HW, "No external PHY detected, "
+					"using internal PHY");
+			}
 		}
 		break;
 	default:
diff --git a/include/linux/smsc911x.h b/include/linux/smsc911x.h
index 1cbf031..42b088d 100644
--- a/include/linux/smsc911x.h
+++ b/include/linux/smsc911x.h
@@ -43,5 +43,6 @@  struct smsc911x_platform_config {
 /* Constants for flags */
 #define SMSC911X_USE_16BIT 			(BIT(0))
 #define SMSC911X_USE_32BIT 			(BIT(1))
+#define SMSC911X_USE_INTERPHY 			(BIT(2))

 #endif /* __LINUX_SMSC911X_H__ */