diff mbox

[2/2] SolutionEngine7724: fix Ether support

Message ID 201308180219.09528.sergei.shtylyov@cogentembedded.com (mailing list archive)
State Accepted
Delegated to: Paul Mundt
Headers show

Commit Message

Sergei Shtylyov Aug. 17, 2013, 10:19 p.m. UTC
The Ether platform data is behind the declaration of 'struct sh_eth_plat_data'
as it's lacking the initializers for the 'register_type' and 'phy_interface'
fields -- it means they'll be implicitly and wrongly set to SH_ETH_REG_GIGABIT
and PHY_INTERFACE_MODE_NA. Initialize the fields explicitly and fix off-by-one
error in the Ether memory resource end, while at it...

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: stable@vger.kernel.org

---
 arch/sh/boards/mach-se/7724/setup.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller Aug. 21, 2013, 12:05 a.m. UTC | #1
From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Date: Sun, 18 Aug 2013 02:19:09 +0400

> The Ether platform data is behind the declaration of 'struct sh_eth_plat_data'
> as it's lacking the initializers for the 'register_type' and 'phy_interface'
> fields -- it means they'll be implicitly and wrongly set to SH_ETH_REG_GIGABIT
> and PHY_INTERFACE_MODE_NA. Initialize the fields explicitly and fix off-by-one
> error in the Ether memory resource end, while at it...
> 
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sergei Shtylyov Aug. 21, 2013, 6:58 p.m. UTC | #2
Hello.

On 08/18/2013 02:19 AM, Sergei Shtylyov wrote:

> The Ether platform data is behind the declaration of 'struct sh_eth_plat_data'
> as it's lacking the initializers for the 'register_type' and 'phy_interface'
> fields -- it means they'll be implicitly and wrongly set to SH_ETH_REG_GIGABIT
> and PHY_INTERFACE_MODE_NA. Initialize the fields explicitly and fix off-by-one
> error in the Ether memory resource end, while at it...

> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> Cc: stable@vger.kernel.org

> ---
>   arch/sh/boards/mach-se/7724/setup.c |    4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)

> Index: net/arch/sh/boards/mach-se/7724/setup.c
> ===================================================================
> --- net.orig/arch/sh/boards/mach-se/7724/setup.c
> +++ net/arch/sh/boards/mach-se/7724/setup.c
[...]
> @@ -377,6 +377,8 @@ static struct resource sh_eth_resources[
>   static struct sh_eth_plat_data sh_eth_plat = {
>   	.phy = 0x1f, /* SMSC LAN8187 */
>   	.edmac_endian = EDMAC_LITTLE_ENDIAN,
> +	.register_type = SH_ETH_REG_FAST_SH4,
> +	.phy_interace = PHY_INTERFACE_MODE_MII,

     Darn, "interace" here too, this time spotted by myself. Obviously, I did 
copy&paste the same mistake.

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

Index: net/arch/sh/boards/mach-se/7724/setup.c
===================================================================
--- net.orig/arch/sh/boards/mach-se/7724/setup.c
+++ net/arch/sh/boards/mach-se/7724/setup.c
@@ -365,7 +365,7 @@  static struct platform_device keysc_devi
 static struct resource sh_eth_resources[] = {
 	[0] = {
 		.start = SH_ETH_ADDR,
-		.end   = SH_ETH_ADDR + 0x1FC,
+		.end   = SH_ETH_ADDR + 0x1FC - 1,
 		.flags = IORESOURCE_MEM,
 	},
 	[1] = {
@@ -377,6 +377,8 @@  static struct resource sh_eth_resources[
 static struct sh_eth_plat_data sh_eth_plat = {
 	.phy = 0x1f, /* SMSC LAN8187 */
 	.edmac_endian = EDMAC_LITTLE_ENDIAN,
+	.register_type = SH_ETH_REG_FAST_SH4,
+	.phy_interace = PHY_INTERFACE_MODE_MII,
 };
 
 static struct platform_device sh_eth_device = {