powerpc/eeprom: cleanup mac command
PATCH v3 1/1 powerpc/eeprom: cleanup mac command
Change the help message to be more helpful. Print argument format. Fix MAX_NUM_PORTS to comply with v1 NXID format. Use decimal for port count.
--- board/freescale/common/sys_eeprom.c | 4 ++-- common/cmd_mac.c | 29 +++++++++++++++++------------ 2 files changed, 19 insertions(+), 14 deletions(-)
board/freescale/common/sys_eeprom.c +2 -2
@@ -34,7 +34,7 @@#endif #ifdef CONFIG_SYS_I2C_EEPROM_NXID -#define MAX_NUM_PORTS 23 +#define MAX_NUM_PORTS 31#define NXID_VERSION 1#endif
@@ -398,7 +398,7 @@ int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])set_date (argv[2 ]);break ;case 'p' :/* MAC table size */ - e.mac_count =simple_strtoul (argv[2 ],NULL ,16 ); + e.mac_count =simple_strtoul (argv[2 ],NULL ,10 );update_crc ();break ; case '0' ... '9': /* "mac 0" through "mac 22" */
common/cmd_mac.c +17 -12
@@ -29,21 +29,26 @@ extern int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);U_BOOT_CMD ( mac,3 ,1 , do_mac,"display and program the system ID and MAC addresses in EEPROM" , -"[read|save|id|num|errata|date|ports|0|1|2|3|4|5|6|7]\n" + "without argument\n" + " - show content of system ID and MAC addresses\n" "read\n" -" - show content of EEPROM\n" + " - read EEPROM without showing\n" "mac save\n" " - save to the EEPROM\n" "mac id\n" -" - program system id\n" -"mac num\n" -" - program system serial number\n" -"mac errata\n" -" - program errata data\n" -"mac date\n" -" - program date\n" -"mac ports\n" + " - program system id (fixed)\n" + "mac num <string>\n" + " - program <string> as system serial number\n" + "mac errata <string>\n" + " - program <string> as errata data\n" + "mac date <YYMMDDhhmmss>\n" + " - program timestamp\n" + "mac ports <n>\n" " - program the number of ports\n" -"mac X\n" -" - program the MAC address for port X [X=0...7]" + "mac <n> <XX:XX:XX:XX:XX:XX>\n" +#ifdef CONFIG_SYS_I2C_EEPROM_NXID + " - program the MAC address for port n [n=0...30]" +#else +" - program the MAC address for port n [n=0...7]" +#endif );
Signature · 1 line
1.7.0.4
PATCH v3 1/1 powerpc/eeprom: cleanup mac command
board/freescale/common/sys_eeprom.c int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) · line 401
Quoted 2 lines · York Sun
board/freescale/common/sys_eeprom.c +1
-1- e.mac_count =simple_strtoul (argv[2 ],NULL ,16 ); + e.mac_count =simple_strtoul (argv[2 ],NULL ,10 );
You forgot the MAC address index. There's another use of strtoul in the code that needs to be fixed.
Also, if you use "0" instead of "10", then it should be able to handle hex as well, just in case someone wants to use it.
PATCH v3 1/1 powerpc/eeprom: cleanup mac command
Quoted 6 lines · On Thu, 2011-08-11 at 09:55 -0500, Tabi Timur-B04825 wrote:
board/freescale/common/sys_eeprom.c int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) · line 401
Quoted 2 lines · York Sun
board/freescale/common/sys_eeprom.c +1
-1- e.mac_count =simple_strtoul (argv[2 ],NULL ,16 ); + e.mac_count =simple_strtoul (argv[2 ],NULL ,10 );You forgot the MAC address index. There's another use of strtoul in the code that needs to be fixed.
I didn't forget the index. It is base 10 already.
Quoted 3 lines
Also, if you use "0" instead of "10", then it should be able to handle hex as well, just in case someone wants to use it.
That's not a bad idea. I will change to "0" but leave the mac address as hex.
York
PATCH v3 1/1 powerpc/eeprom: cleanup mac command
I see two calls to simple_stroul, and both have 16 in them.
--
Timur Tabi
Linux kernel developer at Freescale
________________________________________
From: sun york-R58495
Sent: Thursday, August 11, 2011 10:03 AM
To: Tabi Timur-B04825
Cc: u-boot at lists.denx.de
Subject: Re: [u-boot-release] [Patch v3] powerpc/eeprom: cleanup mac command
Quoted 6 lines · On Thu, 2011-08-11 at 09:55 -0500, Tabi Timur-B04825 wrote:
board/freescale/common/sys_eeprom.c int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) · line 401
Quoted 2 lines · York Sun
board/freescale/common/sys_eeprom.c +1
-1- e.mac_count =simple_strtoul (argv[2 ],NULL ,16 ); + e.mac_count =simple_strtoul (argv[2 ],NULL ,10 );You forgot the MAC address index. There's another use of strtoul in the code that needs to be fixed.
I didn't forget the index. It is base 10 already.
Quoted 3 lines
Also, if you use "0" instead of "10", then it should be able to handle hex as well, just in case someone wants to use it.
That's not a bad idea. I will change to "0" but leave the mac address as hex.
York