diff options
author | Andy Shevchenko <andy.shevchenko@gmail.com> | 2013-09-03 15:13:43 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-04 14:41:55 -0400 |
commit | 8390f81482e3bbf756dce3a5121f164140fd0412 (patch) | |
tree | 52919d1889dd3a9ba9a495e04bbed40a35cd082f /drivers/atm/nicstar.c | |
parent | 0cf915809ce775cba3f08de5df1fb89bdbd95a28 (diff) | |
download | linux-8390f81482e3bbf756dce3a5121f164140fd0412.tar.bz2 |
atm: nicstar: re-use native mac_pton() helper
There is a nice helper to parse MAC. Let's use it and remove custom
implementation.
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/atm/nicstar.c')
-rw-r--r-- | drivers/atm/nicstar.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c index 6587dc295eb0..409502a78e7e 100644 --- a/drivers/atm/nicstar.c +++ b/drivers/atm/nicstar.c @@ -153,7 +153,6 @@ static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void __user * arg); static void which_list(ns_dev * card, struct sk_buff *skb); #endif static void ns_poll(unsigned long arg); -static int ns_parse_mac(char *mac, unsigned char *esi); static void ns_phy_put(struct atm_dev *dev, unsigned char value, unsigned long addr); static unsigned char ns_phy_get(struct atm_dev *dev, unsigned long addr); @@ -779,7 +778,7 @@ static int ns_init_card(int i, struct pci_dev *pcidev) return error; } - if (ns_parse_mac(mac[i], card->atmdev->esi)) { + if (mac[i] == NULL || mac_pton(mac[i], card->atmdev->esi)) { nicstar_read_eprom(card->membase, NICSTAR_EPROM_MAC_ADDR_OFFSET, card->atmdev->esi, 6); if (memcmp(card->atmdev->esi, "\x00\x00\x00\x00\x00\x00", 6) == @@ -2802,29 +2801,6 @@ static void ns_poll(unsigned long arg) PRINTK("nicstar: Leaving ns_poll().\n"); } -static int ns_parse_mac(char *mac, unsigned char *esi) -{ - int i, j; - short byte1, byte0; - - if (mac == NULL || esi == NULL) - return -1; - j = 0; - for (i = 0; i < 6; i++) { - if ((byte1 = hex_to_bin(mac[j++])) < 0) - return -1; - if ((byte0 = hex_to_bin(mac[j++])) < 0) - return -1; - esi[i] = (unsigned char)(byte1 * 16 + byte0); - if (i < 5) { - if (mac[j++] != ':') - return -1; - } - } - return 0; -} - - static void ns_phy_put(struct atm_dev *dev, unsigned char value, unsigned long addr) { |