arch/mips/rb532: replace mac_addr parsing
PATCH v3 1/1 arch/mips/rb532: replace mac_addr parsing
Replace parse_mac_addr with mac_pton().
Signed-off-by Daniel Walter <[email protected]>
---
Changes since v2
Use mac_pton() instead of sscanf()
added error handling in case could not be parsed
---
Patch applies against current linux-git
--- arch/mips/rb532/devices.c | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-)
---
arch/mips/rb532/devices.c +4 -23
@@ -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,10 @@ 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); +if (!mac_pton (s, korina_dev0_data.mac)) { +printk (KERN_ERR "Invalid mac\n" ); +return -EINVAL ; + }return 0 ; }
Quoted 4 lines · Daniel Walter
Replace
parse_mac_addrwithmac_pton().Signed-off-by Daniel Walter <[email protected]>
Reviewed-by James Hogan <[email protected]>
Cheers
James
Quoted 56 lines
---
Changes since v2
Usemac_pton()instead ofsscanf()
added error handling in case could not be parsed
---
Patch applies against current linux-git--- arch/mips/rb532/devices.c | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-)---
arch/mips/rb532/devices.c +4
-23@@ -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,10 @@ 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); +if (!mac_pton (s, korina_dev0_data.mac)) { +printk (KERN_ERR "Invalid mac\n" ); +return -EINVAL ; + }return 0 ; }