Hi Heinrich,
Am 16.05.23 um 14:21 schrieb Heinrich Schuchardt:
On 5/16/23 10:27, Josua Mayer wrote:
populate_serial_number is not used internally for the tlv_eeprom
command, but rather provided as a library function for external use..
Remove the devnum that had recently been added by mistake, returning the
function to its original signature.
Instead place a 0-initialised member variable inside the function to
same purpose, along with a node that it only supports reading from the
%s/node/note/
Good find!
first EEPROM in the system.
Fixes: dfda0c0 ("cmd: tlv_eeprom: remove use of global variable
current_dev")
Signed-off-by: Josua Mayer <jo...@solid-run.com>
Cc: Stefan Roese <s...@denx.de>
Cc: Baruch Siach <bar...@tkos.co.il>
Cc: Heinrich Schuchardt <xypron.g...@gmx.de>
---
cmd/tlv_eeprom.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c
index 79796394c5c..0ca4d714645 100644
--- a/cmd/tlv_eeprom.c
+++ b/cmd/tlv_eeprom.c
@@ -1100,11 +1100,12 @@ int mac_read_from_eeprom(void)
*
* This function must be called after relocation.
*/
-int populate_serial_number(int devnum)
+int populate_serial_number(void)
If populate_serial_number() is to be used as a library function, it
should live in lib/ or possibly in drivers/misc/. The definition needs
to be provided in an include file. Otherwise the function should be
deleted.
Where will this library function be used?
I don't know for sure. GitHub search finds its use in board files on
some old ONIE u-boot forks.
Main purpose of this patch right now is to undo my accidental change and
restore the default behaviour:
The previous instance of devnum variable inside tlv_eeprom.c would have
had value 0 by default.
Shouldn't the EEPROM with the serial number be identified via the
device-tree?
Something like that would be nice.
However we also want to use identical device-tree between Linux and U-Boot.
I am not sure if we have such indication.
Best regards
Heinrich
{
char serialstr[257];
int eeprom_index;
struct tlvinfo_tlv *eeprom_tlv;
+ int devnum = 0; // TODO: support multiple EEPROMs
if (env_get("serial#"))
return 0;
- Josua Mayer