|
|
|
@ -142,13 +142,15 @@ static int sandbox_sf_probe(struct udevice *dev) |
|
|
|
|
if (bus->seq < CONFIG_SANDBOX_SPI_MAX_BUS) |
|
|
|
|
spec = state->spi[bus->seq][cs].spec; |
|
|
|
|
if (!spec) { |
|
|
|
|
debug("%s: No spec found for bus %d, cs %d\n", |
|
|
|
|
__func__, bus->seq, cs); |
|
|
|
|
ret = -ENOENT; |
|
|
|
|
goto error; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
file = strchr(spec, ':'); |
|
|
|
|
if (!file) { |
|
|
|
|
printf("sandbox_sf: unable to parse file\n"); |
|
|
|
|
printf("%s: unable to parse file\n", __func__); |
|
|
|
|
ret = -EINVAL; |
|
|
|
|
goto error; |
|
|
|
|
} |
|
|
|
@ -174,7 +176,7 @@ static int sandbox_sf_probe(struct udevice *dev) |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
if (!data->name) { |
|
|
|
|
printf("sandbox_sf: unknown flash '%*s'\n", (int)idname_len, |
|
|
|
|
printf("%s: unknown flash '%*s'\n", __func__, (int)idname_len, |
|
|
|
|
spec); |
|
|
|
|
ret = -EINVAL; |
|
|
|
|
goto error; |
|
|
|
@ -185,8 +187,7 @@ static int sandbox_sf_probe(struct udevice *dev) |
|
|
|
|
|
|
|
|
|
sbsf->fd = os_open(pdata->filename, 02); |
|
|
|
|
if (sbsf->fd == -1) { |
|
|
|
|
free(sbsf); |
|
|
|
|
printf("sandbox_sf: unable to open file '%s'\n", |
|
|
|
|
printf("%s: unable to open file '%s'\n", __func__, |
|
|
|
|
pdata->filename); |
|
|
|
|
ret = -EIO; |
|
|
|
|
goto error; |
|
|
|
@ -553,6 +554,9 @@ static int sandbox_cmdline_cb_spi_sf(struct sandbox_state *state, |
|
|
|
|
* yet. Perhaps we can figure something out. |
|
|
|
|
*/ |
|
|
|
|
state->spi[bus][cs].spec = spec; |
|
|
|
|
debug("%s: Setting up spec '%s' for bus %ld, cs %ld\n", __func__, |
|
|
|
|
spec, bus, cs); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
SANDBOX_CMDLINE_OPT(spi_sf, 1, "connect a SPI flash: <bus>:<cs>:<id>:<file>"); |
|
|
|
@ -671,6 +675,8 @@ int dm_scan_other(bool pre_reloc_only) |
|
|
|
|
__func__, busnum, cs); |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
debug("%s: Setting up spec '%s' for bus %d, cs %d\n", |
|
|
|
|
__func__, spec, busnum, cs); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|