| From b065eb241bb4db6c028fe7a0b37c438038664cca Mon Sep 17 00:00:00 2001 |
| From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Date: Fri, 7 Jun 2013 14:05:59 +0000 |
| Subject: sh_eth: get R8A777x support out of #ifdef |
| |
| Get the R-Car code/data in the driver out of #ifdef by adding "r8a777x-ether" to |
| the platfrom driver's ID table; since it's the last #ifdef, we remove CARDNAME |
| from the ID table and no longer check the driver data before assigning it to |
| 'mdp->cd'... |
| Change the Ether platform device's name in the ARM platform code accordingly. |
| |
| Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| (cherry picked from commit 589ebdef7e3107401bf96a9c660753d397329ee9) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| |
| Conflicts: |
| arch/arm/mach-shmobile/clock-r8a7778.c |
| arch/arm/mach-shmobile/clock-r8a7779.c |
| --- |
| arch/arm/mach-shmobile/clock-r8a7778.c | 2 +- |
| arch/arm/mach-shmobile/clock-r8a7779.c | 2 +- |
| drivers/net/ethernet/renesas/sh_eth.c | 14 +++++--------- |
| 3 files changed, 7 insertions(+), 11 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/clock-r8a7778.c b/arch/arm/mach-shmobile/clock-r8a7778.c |
| index dea199d4..c4bf2d8f 100644 |
| --- a/arch/arm/mach-shmobile/clock-r8a7778.c |
| +++ b/arch/arm/mach-shmobile/clock-r8a7778.c |
| @@ -148,7 +148,7 @@ static struct clk_lookup lookups[] = { |
| CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP323]), /* SDHI0 */ |
| CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP322]), /* SDHI1 */ |
| CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP321]), /* SDHI2 */ |
| - CLKDEV_DEV_ID("sh-eth", &mstp_clks[MSTP114]), /* Ether */ |
| + CLKDEV_DEV_ID("r8a777x-ether", &mstp_clks[MSTP114]), /* Ether */ |
| CLKDEV_DEV_ID("r8a7778-vin.0", &mstp_clks[MSTP110]), /* VIN0 */ |
| CLKDEV_DEV_ID("r8a7778-vin.1", &mstp_clks[MSTP109]), /* VIN1 */ |
| CLKDEV_DEV_ID("ehci-platform", &mstp_clks[MSTP100]), /* USB EHCI port0/1 */ |
| diff --git a/arch/arm/mach-shmobile/clock-r8a7779.c b/arch/arm/mach-shmobile/clock-r8a7779.c |
| index 6070f3a4..bd6ad922 100644 |
| --- a/arch/arm/mach-shmobile/clock-r8a7779.c |
| +++ b/arch/arm/mach-shmobile/clock-r8a7779.c |
| @@ -172,7 +172,7 @@ static struct clk_lookup lookups[] = { |
| CLKDEV_DEV_ID("rcar-pcie", &mstp_clks[MSTP116]), /* PCIe */ |
| CLKDEV_DEV_ID("sata_rcar", &mstp_clks[MSTP115]), /* SATA */ |
| CLKDEV_DEV_ID("fc600000.sata", &mstp_clks[MSTP115]), /* SATA w/DT */ |
| - CLKDEV_DEV_ID("sh-eth", &mstp_clks[MSTP114]), /* Ether */ |
| + CLKDEV_DEV_ID("r8a777x-ether", &mstp_clks[MSTP114]), /* Ether */ |
| CLKDEV_DEV_ID("r8a7779-vin.0", &mstp_clks[MSTP110]), /* VIN0 */ |
| CLKDEV_DEV_ID("r8a7779-vin.1", &mstp_clks[MSTP109]), /* VIN1 */ |
| CLKDEV_DEV_ID("r8a7779-vin.2", &mstp_clks[MSTP108]), /* VIN2 */ |
| diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c |
| index 4af9cdba..0e1f89bb 100644 |
| --- a/drivers/net/ethernet/renesas/sh_eth.c |
| +++ b/drivers/net/ethernet/renesas/sh_eth.c |
| @@ -356,8 +356,7 @@ static void __maybe_unused sh_eth_set_duplex(struct net_device *ndev) |
| } |
| |
| /* There is CPU dependent code */ |
| -#if defined(CONFIG_ARCH_R8A7778) || defined(CONFIG_ARCH_R8A7779) |
| -static void sh_eth_set_rate(struct net_device *ndev) |
| +static void sh_eth_set_rate_r8a777x(struct net_device *ndev) |
| { |
| struct sh_eth_private *mdp = netdev_priv(ndev); |
| |
| @@ -374,9 +373,9 @@ static void sh_eth_set_rate(struct net_device *ndev) |
| } |
| |
| /* R8A7778/9 */ |
| -static struct sh_eth_cpu_data sh_eth_my_cpu_data = { |
| +static struct sh_eth_cpu_data r8a777x_data = { |
| .set_duplex = sh_eth_set_duplex, |
| - .set_rate = sh_eth_set_rate, |
| + .set_rate = sh_eth_set_rate_r8a777x, |
| |
| .ecsr_value = ECSR_PSRTO | ECSR_LCHNG | ECSR_ICD, |
| .ecsipr_value = ECSIPR_PSRTOIP | ECSIPR_LCHNGIP | ECSIPR_ICDIP, |
| @@ -393,7 +392,6 @@ static struct sh_eth_cpu_data sh_eth_my_cpu_data = { |
| .tpauser = 1, |
| .hw_swap = 1, |
| }; |
| -#endif |
| |
| static void sh_eth_set_rate_sh7724(struct net_device *ndev) |
| { |
| @@ -2577,9 +2575,7 @@ static int sh_eth_drv_probe(struct platform_device *pdev) |
| mdp->reg_offset = sh_eth_get_register_offset(pd->register_type); |
| |
| /* set cpu data */ |
| - mdp->cd = &sh_eth_my_cpu_data; |
| - if (id->driver_data) |
| - mdp->cd = (struct sh_eth_cpu_data *)id->driver_data; |
| + mdp->cd = (struct sh_eth_cpu_data *)id->driver_data; |
| sh_eth_set_default_cpu_data(mdp->cd); |
| |
| /* set function */ |
| @@ -2704,7 +2700,7 @@ static struct platform_device_id sh_eth_id_table[] = { |
| { "sh7757-gether", (kernel_ulong_t)&sh7757_data_giga }, |
| { "sh7763-gether", (kernel_ulong_t)&sh7763_data }, |
| { "r8a7740-gether", (kernel_ulong_t)&r8a7740_data }, |
| - { CARDNAME }, |
| + { "r8a777x-ether", (kernel_ulong_t)&r8a777x_data }, |
| { } |
| }; |
| MODULE_DEVICE_TABLE(platform, sh_eth_id_table); |
| -- |
| 1.8.4.3.gca3854a |
| |