mirror of
https://github.com/linux-sunxi/u-boot-sunxi.git
synced 2024-02-12 11:16:03 +08:00
dm: spi: Clean up detection of sandbox SPI emulator
Now that we don't have to deal with the command-line flag we can simplify the code for detecting the emulator. Remove the lookup based on the SPI specification, relying just on the device tree to locate the emulator. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@ -36,7 +36,6 @@ enum state_terminal_raw {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct sandbox_spi_info {
|
struct sandbox_spi_info {
|
||||||
const char *spec;
|
|
||||||
struct udevice *emul;
|
struct udevice *emul;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -115,24 +115,22 @@ static int sandbox_sf_probe(struct udevice *dev)
|
|||||||
const struct spi_flash_info *data;
|
const struct spi_flash_info *data;
|
||||||
struct sandbox_spi_flash_plat_data *pdata = dev_get_platdata(dev);
|
struct sandbox_spi_flash_plat_data *pdata = dev_get_platdata(dev);
|
||||||
struct sandbox_state *state = state_get_current();
|
struct sandbox_state *state = state_get_current();
|
||||||
|
struct dm_spi_slave_platdata *slave_plat;
|
||||||
struct udevice *bus = dev->parent;
|
struct udevice *bus = dev->parent;
|
||||||
const char *spec = NULL;
|
const char *spec = NULL;
|
||||||
|
struct udevice *emul;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int cs = -1;
|
int cs = -1;
|
||||||
int i;
|
|
||||||
|
|
||||||
debug("%s: bus %d, looking for emul=%p: ", __func__, bus->seq, dev);
|
debug("%s: bus %d, looking for emul=%p: ", __func__, bus->seq, dev);
|
||||||
if (bus->seq >= 0 && bus->seq < CONFIG_SANDBOX_SPI_MAX_BUS) {
|
ret = sandbox_spi_get_emul(state, bus, dev, &emul);
|
||||||
for (i = 0; i < CONFIG_SANDBOX_SPI_MAX_CS; i++) {
|
if (ret) {
|
||||||
if (state->spi[bus->seq][i].emul == dev)
|
|
||||||
cs = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (cs == -1) {
|
|
||||||
printf("Error: Unknown chip select for device '%s'\n",
|
printf("Error: Unknown chip select for device '%s'\n",
|
||||||
dev->name);
|
dev->name);
|
||||||
return -EINVAL;
|
return ret;
|
||||||
}
|
}
|
||||||
|
slave_plat = dev_get_parent_platdata(dev);
|
||||||
|
cs = slave_plat->cs;
|
||||||
debug("found at cs %d\n", cs);
|
debug("found at cs %d\n", cs);
|
||||||
|
|
||||||
if (!pdata->filename) {
|
if (!pdata->filename) {
|
||||||
|
Reference in New Issue
Block a user