Commit 8390f814 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by David S. Miller

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: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0cf91580
...@@ -153,7 +153,6 @@ static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void __user * arg); ...@@ -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); static void which_list(ns_dev * card, struct sk_buff *skb);
#endif #endif
static void ns_poll(unsigned long arg); 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, static void ns_phy_put(struct atm_dev *dev, unsigned char value,
unsigned long addr); unsigned long addr);
static unsigned char ns_phy_get(struct atm_dev *dev, 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) ...@@ -779,7 +778,7 @@ static int ns_init_card(int i, struct pci_dev *pcidev)
return error; 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, nicstar_read_eprom(card->membase, NICSTAR_EPROM_MAC_ADDR_OFFSET,
card->atmdev->esi, 6); card->atmdev->esi, 6);
if (memcmp(card->atmdev->esi, "\x00\x00\x00\x00\x00\x00", 6) == if (memcmp(card->atmdev->esi, "\x00\x00\x00\x00\x00\x00", 6) ==
...@@ -2802,29 +2801,6 @@ static void ns_poll(unsigned long arg) ...@@ -2802,29 +2801,6 @@ static void ns_poll(unsigned long arg)
PRINTK("nicstar: Leaving ns_poll().\n"); 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, static void ns_phy_put(struct atm_dev *dev, unsigned char value,
unsigned long addr) unsigned long addr)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment