xilinx: fru: Replace spaces with \0 in detected name
FRU spec expected \0 for unused symbols but unfortunately a lot of boards are using spaces instead of \0. That's why after saving it to desc->name name is checked again and all spaces are converted to \0. This will ensure that names can be used for string manipulations like concatenation. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
edd530651a
commit
530560b6f8
@ -168,7 +168,7 @@ static bool xilinx_detect_legacy(u8 *buffer)
|
|||||||
static int xilinx_read_eeprom_fru(struct udevice *dev, char *name,
|
static int xilinx_read_eeprom_fru(struct udevice *dev, char *name,
|
||||||
struct xilinx_board_description *desc)
|
struct xilinx_board_description *desc)
|
||||||
{
|
{
|
||||||
int ret, eeprom_size;
|
int i, ret, eeprom_size;
|
||||||
u8 *fru_content;
|
u8 *fru_content;
|
||||||
|
|
||||||
/* FIXME this is shortcut - if eeprom type is wrong it will fail */
|
/* FIXME this is shortcut - if eeprom type is wrong it will fail */
|
||||||
@ -207,6 +207,10 @@ static int xilinx_read_eeprom_fru(struct udevice *dev, char *name,
|
|||||||
sizeof(desc->manufacturer));
|
sizeof(desc->manufacturer));
|
||||||
strncpy(desc->name, (char *)fru_data.brd.product_name,
|
strncpy(desc->name, (char *)fru_data.brd.product_name,
|
||||||
sizeof(desc->name));
|
sizeof(desc->name));
|
||||||
|
for (i = 0; i < sizeof(desc->name); i++) {
|
||||||
|
if (desc->name[i] == ' ')
|
||||||
|
desc->name[i] = '\0';
|
||||||
|
}
|
||||||
strncpy(desc->revision, (char *)fru_data.brd.rev,
|
strncpy(desc->revision, (char *)fru_data.brd.rev,
|
||||||
sizeof(desc->revision));
|
sizeof(desc->revision));
|
||||||
strncpy(desc->serial, (char *)fru_data.brd.serial_number,
|
strncpy(desc->serial, (char *)fru_data.brd.serial_number,
|
||||||
|
Loading…
Reference in New Issue
Block a user