arch/mips rb532: replace mac_addr parsing
PATCH v2 1/1 arch/mips rb532: replace mac_addr parsing
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(-)
---
arch/mips/rb532/devices.c +7 -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,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,
arch/mips/rb532/devices.c static int __init plat_setup_devices(void) · line 320
Quoted 12 lines · Daniel Walter
arch/mips/rb532/devices.c +7
-1@@ -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