diff options
author | hayeswang <hayeswang@realtek.com> | 2014-09-04 04:15:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-05 15:17:00 -0400 |
commit | 8ba789ab13157c82dbdbd4215eac42660a384646 (patch) | |
tree | 12469498f07662dae4f1cdc6dda28d51061618a4 /drivers/net | |
parent | b52b727594f0a1433039e7afe389d07075152548 (diff) |
r8152: change the location of rtl8152_set_mac_address
Exchange the location of rtl8152_set_mac_address() and
set_ethernet_addr(). Then, the set_ethernet_addr() could
set the MAC address by calling rtl8152_set_mac_address()
later.
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/usb/r8152.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 80b0179bff1f..b5ff93306288 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c | |||
@@ -975,6 +975,23 @@ void write_mii_word(struct net_device *netdev, int phy_id, int reg, int val) | |||
975 | static int | 975 | static int |
976 | r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags); | 976 | r8152_submit_rx(struct r8152 *tp, struct rx_agg *agg, gfp_t mem_flags); |
977 | 977 | ||
978 | static int rtl8152_set_mac_address(struct net_device *netdev, void *p) | ||
979 | { | ||
980 | struct r8152 *tp = netdev_priv(netdev); | ||
981 | struct sockaddr *addr = p; | ||
982 | |||
983 | if (!is_valid_ether_addr(addr->sa_data)) | ||
984 | return -EADDRNOTAVAIL; | ||
985 | |||
986 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); | ||
987 | |||
988 | ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG); | ||
989 | pla_ocp_write(tp, PLA_IDR, BYTE_EN_SIX_BYTES, 8, addr->sa_data); | ||
990 | ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML); | ||
991 | |||
992 | return 0; | ||
993 | } | ||
994 | |||
978 | static inline void set_ethernet_addr(struct r8152 *tp) | 995 | static inline void set_ethernet_addr(struct r8152 *tp) |
979 | { | 996 | { |
980 | struct net_device *dev = tp->netdev; | 997 | struct net_device *dev = tp->netdev; |
@@ -1003,23 +1020,6 @@ static inline void set_ethernet_addr(struct r8152 *tp) | |||
1003 | } | 1020 | } |
1004 | } | 1021 | } |
1005 | 1022 | ||
1006 | static int rtl8152_set_mac_address(struct net_device *netdev, void *p) | ||
1007 | { | ||
1008 | struct r8152 *tp = netdev_priv(netdev); | ||
1009 | struct sockaddr *addr = p; | ||
1010 | |||
1011 | if (!is_valid_ether_addr(addr->sa_data)) | ||
1012 | return -EADDRNOTAVAIL; | ||
1013 | |||
1014 | memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); | ||
1015 | |||
1016 | ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_CONFIG); | ||
1017 | pla_ocp_write(tp, PLA_IDR, BYTE_EN_SIX_BYTES, 8, addr->sa_data); | ||
1018 | ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CRWECR, CRWECR_NORAML); | ||
1019 | |||
1020 | return 0; | ||
1021 | } | ||
1022 | |||
1023 | static void read_bulk_callback(struct urb *urb) | 1023 | static void read_bulk_callback(struct urb *urb) |
1024 | { | 1024 | { |
1025 | struct net_device *netdev; | 1025 | struct net_device *netdev; |