}
}
if (cs == -1) {
- printf("Error: Unknown chip select for device '%s'",
+ printf("Error: Unknown chip select for device '%s'\n",
dev->name);
return -EINVAL;
}
assert(bus->seq != -1);
if (bus->seq < CONFIG_SANDBOX_SPI_MAX_BUS)
spec = state->spi[bus->seq][cs].spec;
- if (!spec)
- return -ENOENT;
+ 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;
}
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;
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;
return 0;
error:
+ debug("%s: Got error %d\n", __func__, ret);
return ret;
}
int ret;
while (size > 0) {
- todo = min(size, sizeof(sandbox_sf_0xff));
+ todo = min(size, (int)sizeof(sandbox_sf_0xff));
ret = os_write(sbsf->fd, sandbox_sf_0xff, todo);
if (ret != todo)
return ret;
* 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>");
void sandbox_sf_unbind_emul(struct sandbox_state *state, int busnum, int cs)
{
+ struct udevice *dev;
+
+ dev = state->spi[busnum][cs].emul;
+ device_remove(dev);
+ device_unbind(dev);
state->spi[busnum][cs].emul = NULL;
}
__func__, busnum, cs);
return ret;
}
+ debug("%s: Setting up spec '%s' for bus %d, cs %d\n",
+ __func__, spec, busnum, cs);
}
}
}