| From f034001aeab26d3c9a71bf136dac4878ec8f4011 Mon Sep 17 00:00:00 2001 |
| From: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> |
| Date: Thu, 6 Jun 2013 09:48:09 +0000 |
| Subject: sh_eth: remove SH_ETH_HAS_TSU |
| |
| Remove SH_ETH_HAS_TSU #define's and #ifdef's. Set three 'struct net_device_ops' |
| methods that depend on the presence of TSU basing on the 'tsu' field of 'struct |
| sh_eth_cpu_data'. |
| |
| Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> |
| [Sergei: made two method assignments one-liners, added the changelog, reworded |
| the subject, changing the prefix.] |
| Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| (cherry picked from commit 9f86134155047720a3685cda21467f68695152d2) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/net/ethernet/renesas/sh_eth.c | 20 ++++++++------------ |
| 1 file changed, 8 insertions(+), 12 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c |
| index 1dba3c9d..c821339a 100644 |
| --- a/drivers/net/ethernet/renesas/sh_eth.c |
| +++ b/drivers/net/ethernet/renesas/sh_eth.c |
| @@ -433,7 +433,6 @@ static struct sh_eth_cpu_data sh_eth_my_cpu_data = { |
| }; |
| #elif defined(CONFIG_CPU_SUBTYPE_SH7757) |
| #define SH_ETH_HAS_BOTH_MODULES 1 |
| -#define SH_ETH_HAS_TSU 1 |
| static int sh_eth_check_reset(struct net_device *ndev); |
| |
| static void sh_eth_set_rate(struct net_device *ndev) |
| @@ -595,7 +594,6 @@ static struct sh_eth_cpu_data *sh_eth_get_cpu_data(struct sh_eth_private *mdp) |
| } |
| |
| #elif defined(CONFIG_CPU_SUBTYPE_SH7734) || defined(CONFIG_CPU_SUBTYPE_SH7763) |
| -#define SH_ETH_HAS_TSU 1 |
| static int sh_eth_check_reset(struct net_device *ndev); |
| static void sh_eth_reset_hw_crc(struct net_device *ndev); |
| |
| @@ -696,7 +694,6 @@ static void sh_eth_reset_hw_crc(struct net_device *ndev) |
| } |
| |
| #elif defined(CONFIG_ARCH_R8A7740) |
| -#define SH_ETH_HAS_TSU 1 |
| static int sh_eth_check_reset(struct net_device *ndev); |
| |
| static void sh_eth_chip_reset(struct net_device *ndev) |
| @@ -794,7 +791,6 @@ static struct sh_eth_cpu_data sh_eth_my_cpu_data = { |
| }; |
| #elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712) |
| #define SH_ETH_RESET_DEFAULT 1 |
| -#define SH_ETH_HAS_TSU 1 |
| static struct sh_eth_cpu_data sh_eth_my_cpu_data = { |
| .eesipr_value = DMAC_M_RFRMER | DMAC_M_ECI | 0x003fffff, |
| .tsu = 1, |
| @@ -2116,7 +2112,6 @@ static int sh_eth_do_ioctl(struct net_device *ndev, struct ifreq *rq, |
| return phy_mii_ioctl(phydev, rq, cmd); |
| } |
| |
| -#if defined(SH_ETH_HAS_TSU) |
| /* For TSU_POSTn. Please refer to the manual about this (strange) bitfields */ |
| static void *sh_eth_tsu_get_post_reg_offset(struct sh_eth_private *mdp, |
| int entry) |
| @@ -2459,7 +2454,6 @@ static int sh_eth_vlan_rx_kill_vid(struct net_device *ndev, |
| |
| return 0; |
| } |
| -#endif /* SH_ETH_HAS_TSU */ |
| |
| /* SuperH's TSU register init function */ |
| static void sh_eth_tsu_init(struct sh_eth_private *mdp) |
| @@ -2598,16 +2592,11 @@ static const u16 *sh_eth_get_register_offset(int register_type) |
| return reg_offset; |
| } |
| |
| -static const struct net_device_ops sh_eth_netdev_ops = { |
| +static struct net_device_ops sh_eth_netdev_ops = { |
| .ndo_open = sh_eth_open, |
| .ndo_stop = sh_eth_close, |
| .ndo_start_xmit = sh_eth_start_xmit, |
| .ndo_get_stats = sh_eth_get_stats, |
| -#if defined(SH_ETH_HAS_TSU) |
| - .ndo_set_rx_mode = sh_eth_set_multicast_list, |
| - .ndo_vlan_rx_add_vid = sh_eth_vlan_rx_add_vid, |
| - .ndo_vlan_rx_kill_vid = sh_eth_vlan_rx_kill_vid, |
| -#endif |
| .ndo_tx_timeout = sh_eth_tx_timeout, |
| .ndo_do_ioctl = sh_eth_do_ioctl, |
| .ndo_validate_addr = eth_validate_addr, |
| @@ -2688,6 +2677,13 @@ static int sh_eth_drv_probe(struct platform_device *pdev) |
| sh_eth_set_default_cpu_data(mdp->cd); |
| |
| /* set function */ |
| + if (mdp->cd->tsu) { |
| + sh_eth_netdev_ops.ndo_set_rx_mode = sh_eth_set_multicast_list; |
| + sh_eth_netdev_ops.ndo_vlan_rx_add_vid = sh_eth_vlan_rx_add_vid; |
| + sh_eth_netdev_ops.ndo_vlan_rx_kill_vid = |
| + sh_eth_vlan_rx_kill_vid; |
| + } |
| + |
| ndev->netdev_ops = &sh_eth_netdev_ops; |
| SET_ETHTOOL_OPS(ndev, &sh_eth_ethtool_ops); |
| ndev->watchdog_timeo = TX_TIMEOUT; |
| -- |
| 1.8.4.3.gca3854a |
| |