Skip to contentSkip to conversation

powerpc/eeprom: cleanup mac command

PATCH Superseded York Sun 2 participants 4 messages Aug 11, 2011

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore

York Sun

author
#0 lore raw

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
index d2ed036..e139a34 100644
@@ -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
index 1884c2a..bd9cc19 100644
@@ -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
#1 lore raw

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.

author
#2 lore raw

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

#3 lore raw

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