Replace parse_mac_addr with sscanf.
Signed-off-by: Daniel Walter <[email protected]>
---
Changes since v1:
sending in the working patch
Patch applies against current linux-tree
---
arch/mips/rb532/devices.c | 30 +++++++-----------------------
1 file changed, 7 insertions(+), 23 deletions(-)
---
diff --git a/arch/mips/rb532/devices.c b/arch/mips/rb532/devices.c
index 3af00b2..6e32819b 100644
--- a/arch/mips/rb532/devices.c
+++ b/arch/mips/rb532/devices.c
@@ -250,28 +250,6 @@ static struct platform_device *rb532_devs[] = {
&rb532_wdt
};
-static void __init parse_mac_addr(char *macstr)
-{
- int i, h, l;
-
- for (i = 0; i < 6; i++) {
- if (i != 5 && *(macstr + 2) != ':')
- return;
-
- h = hex_to_bin(*macstr++);
- if (h == -1)
- return;
-
- l = hex_to_bin(*macstr++);
- if (l == -1)
- return;
-
- macstr++;
- korina_dev0_data.mac[i] = (h << 4) + l;
- }
-}
-
-
/* NAND definitions */
#define NAND_CHIP_DELAY 25
@@ -333,7 +311,13 @@ static int __init plat_setup_devices(void)
static int __init setup_kmac(char *s)
{
printk(KERN_INFO "korina mac = %s\n", s);
- parse_mac_addr(s);
+ sscanf(s, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx",
+ &korina_dev0_data.mac[0],
+ &korina_dev0_data.mac[1],
+ &korina_dev0_data.mac[2],
+ &korina_dev0_data.mac[3],
+ &korina_dev0_data.mac[4],
+ &korina_dev0_data.mac[5]);
return 0;
}
Hi Daniel,
On 24/06/14 09:45, Daniel Walter wrote:
> @@ -333,7 +311,13 @@ static int __init plat_setup_devices(void)
> static int __init setup_kmac(char *s)
> {
> printk(KERN_INFO "korina mac = %s\n", s);
> - parse_mac_addr(s);
> + sscanf(s, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx",
> + &korina_dev0_data.mac[0],
> + &korina_dev0_data.mac[1],
> + &korina_dev0_data.mac[2],
> + &korina_dev0_data.mac[3],
> + &korina_dev0_data.mac[4],
> + &korina_dev0_data.mac[5]);
Does it make sense to go one better and use mac_pton() for this?
Cheers
James