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

Commit 06a64f91 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by David S. Miller
Browse files

SH7619: fix Ether support



The 'sh_eth' driver's probe will crash as the platform code is hopelessly behind
the platform data -- it passes PHY ID instead of 'struct sh_eth_plat_data *'.
Strangely, both commit d88a3ea6 (SH7619 add ethernet controler support) that
added the platform code and commit 71557a37 ([netdrvr] sh_eth: Add  SH7619
support)  were done  in about  the same time, yet the latter one added 'struct
sh_eth_plat_data' and the platform code didn't ever get updated...

Add the proper platform data and fix off-by-one memory resource end error, while
at it...

Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ea857f28
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#include <linux/init.h>
#include <linux/serial.h>
#include <linux/serial_sci.h>
#include <linux/sh_eth.h>
#include <linux/sh_timer.h>
#include <linux/io.h>

@@ -110,10 +111,17 @@ static struct platform_device scif2_device = {
	},
};

static struct sh_eth_plat_data eth_platform_data = {
	.phy		= 1,
	.edmac_endian	= EDMAC_LITTLE_ENDIAN,
	.register_type	= SH_ETH_REG_FAST_SH3_SH2,
	.phy_interace	= PHY_INTERFACE_MODE_MII,
};

static struct resource eth_resources[] = {
	[0] = {
		.start = 0xfb000000,
		.end =   0xfb0001c8,
		.end = 0xfb0001c7,
		.flags = IORESOURCE_MEM,
	},
	[1] = {
@@ -127,7 +135,7 @@ static struct platform_device eth_device = {
	.name = "sh7619-ether",
	.id = -1,
	.dev = {
		.platform_data = (void *)1,
		.platform_data = &eth_platform_data,
	},
	.num_resources = ARRAY_SIZE(eth_resources),
	.resource = eth_resources,