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>
Signed-off-by: David S. Miller <davem@davemloft.net>
 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] = {
 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 = {