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 <s...@chromium.org>
---

 arch/sandbox/include/asm/state.h |  1 -
 drivers/mtd/spi/sandbox.c        | 18 ++++++++----------
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/arch/sandbox/include/asm/state.h b/arch/sandbox/include/asm/state.h
index d1baba1c3ae..1ccc8e02b9f 100644
--- a/arch/sandbox/include/asm/state.h
+++ b/arch/sandbox/include/asm/state.h
@@ -36,7 +36,6 @@ enum state_terminal_raw {
 };
 
 struct sandbox_spi_info {
-       const char *spec;
        struct udevice *emul;
 };
 
diff --git a/drivers/mtd/spi/sandbox.c b/drivers/mtd/spi/sandbox.c
index 514484eba06..7fef754c634 100644
--- a/drivers/mtd/spi/sandbox.c
+++ b/drivers/mtd/spi/sandbox.c
@@ -115,24 +115,22 @@ static int sandbox_sf_probe(struct udevice *dev)
        const struct spi_flash_info *data;
        struct sandbox_spi_flash_plat_data *pdata = dev_get_platdata(dev);
        struct sandbox_state *state = state_get_current();
+       struct dm_spi_slave_platdata *slave_plat;
        struct udevice *bus = dev->parent;
        const char *spec = NULL;
+       struct udevice *emul;
        int ret = 0;
        int cs = -1;
-       int i;
 
        debug("%s: bus %d, looking for emul=%p: ", __func__, bus->seq, dev);
-       if (bus->seq >= 0 && bus->seq < CONFIG_SANDBOX_SPI_MAX_BUS) {
-               for (i = 0; i < CONFIG_SANDBOX_SPI_MAX_CS; i++) {
-                       if (state->spi[bus->seq][i].emul == dev)
-                               cs = i;
-               }
-       }
-       if (cs == -1) {
+       ret = sandbox_spi_get_emul(state, bus, dev, &emul);
+       if (ret) {
                printf("Error: Unknown chip select for device '%s'\n",
-                      dev->name);
-               return -EINVAL;
+                       dev->name);
+               return ret;
        }
+       slave_plat = dev_get_parent_platdata(dev);
+       cs = slave_plat->cs;
        debug("found at cs %d\n", cs);
 
        if (!pdata->filename) {
-- 
2.19.0.605.g01d371f741-goog

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to