lkml.org 
[lkml]   [2018]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 196/254] SolutionEngine771x: fix Ether platform data
    3.16.55-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

    commit 195e2addbce09e5afbc766efc1e6567c9ce840d3 upstream.

    The 'sh_eth' driver's probe() method would fail on the SolutionEngine7710
    board and crash on SolutionEngine7712 board as the platform code is
    hopelessly behind the driver's platform data -- it passes the PHY address
    instead of 'struct sh_eth_plat_data *'; pass the latter to the driver in
    order to fix the bug...

    Fixes: 71557a37adb5 ("[netdrvr] sh_eth: Add SH7619 support")
    Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    arch/sh/boards/mach-se/770x/setup.c | 10 ++++++++--
    1 file changed, 8 insertions(+), 2 deletions(-)

    --- a/arch/sh/boards/mach-se/770x/setup.c
    +++ b/arch/sh/boards/mach-se/770x/setup.c
    @@ -8,6 +8,7 @@
    */
    #include <linux/init.h>
    #include <linux/platform_device.h>
    +#include <linux/sh_eth.h>
    #include <mach-se/mach/se.h>
    #include <mach-se/mach/mrshpc.h>
    #include <asm/machvec.h>
    @@ -114,6 +115,11 @@ static struct platform_device heartbeat_
    #if defined(CONFIG_CPU_SUBTYPE_SH7710) ||\
    defined(CONFIG_CPU_SUBTYPE_SH7712)
    /* SH771X Ethernet driver */
    +static struct sh_eth_plat_data sh_eth_plat = {
    + .phy = PHY_ID,
    + .phy_interface = PHY_INTERFACE_MODE_MII,
    +};
    +
    static struct resource sh_eth0_resources[] = {
    [0] = {
    .start = SH_ETH0_BASE,
    @@ -131,7 +137,7 @@ static struct platform_device sh_eth0_de
    .name = "sh771x-ether",
    .id = 0,
    .dev = {
    - .platform_data = PHY_ID,
    + .platform_data = &sh_eth_plat,
    },
    .num_resources = ARRAY_SIZE(sh_eth0_resources),
    .resource = sh_eth0_resources,
    @@ -154,7 +160,7 @@ static struct platform_device sh_eth1_de
    .name = "sh771x-ether",
    .id = 1,
    .dev = {
    - .platform_data = PHY_ID,
    + .platform_data = &sh_eth_plat,
    },
    .num_resources = ARRAY_SIZE(sh_eth1_resources),
    .resource = sh_eth1_resources,
    \
     
     \ /
      Last update: 2018-02-28 17:26    [W:4.053 / U:0.276 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site