dm: spi: Update sandbox SPI emulation driver to use ofnode
authorSimon Glass <sjg@chromium.org>
Mon, 11 Jun 2018 19:07:16 +0000 (13:07 -0600)
committerSimon Glass <sjg@chromium.org>
Mon, 9 Jul 2018 15:11:00 +0000 (09:11 -0600)
Update the parameters sandbox_sf_bind_emul to support livetree.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/mtd/spi/sandbox.c
include/spi_flash.h
test/dm/spi.c

index f23c0e13e0c87124682dee147e530dad737a56c7..1b6c0282513171342799d50d0794cf7c70b60c2b 100644 (file)
@@ -556,7 +556,7 @@ static int sandbox_cmdline_cb_spi_sf(struct sandbox_state *state,
 SANDBOX_CMDLINE_OPT(spi_sf, 1, "connect a SPI flash: <bus>:<cs>:<id>:<file>");
 
 int sandbox_sf_bind_emul(struct sandbox_state *state, int busnum, int cs,
-                        struct udevice *bus, int of_offset, const char *spec)
+                        struct udevice *bus, ofnode node, const char *spec)
 {
        struct udevice *emul;
        char name[20], *str;
@@ -575,7 +575,7 @@ int sandbox_sf_bind_emul(struct sandbox_state *state, int busnum, int cs,
        str = strdup(name);
        if (!str)
                return -ENOMEM;
-       ret = device_bind(bus, drv, str, NULL, of_offset, &emul);
+       ret = device_bind_ofnode(bus, drv, str, NULL, node, &emul);
        if (ret) {
                free(str);
                printf("Cannot create emul device for spec '%s' (err=%d)\n",
@@ -620,7 +620,8 @@ static int sandbox_sf_bind_bus_cs(struct sandbox_state *state, int busnum,
        if (ret)
                return ret;
 
-       return sandbox_sf_bind_emul(state, busnum, cs, bus, -1, spec);
+       return sandbox_sf_bind_emul(state, busnum, cs, bus, ofnode_null(),
+                                   spec);
 }
 
 int sandbox_spi_get_emul(struct sandbox_state *state,
@@ -638,7 +639,7 @@ int sandbox_spi_get_emul(struct sandbox_state *state,
                debug("%s: busnum=%u, cs=%u: binding SPI flash emulation: ",
                      __func__, busnum, cs);
                ret = sandbox_sf_bind_emul(state, busnum, cs, bus,
-                                          dev_of_offset(slave), slave->name);
+                                          dev_ofnode(slave), slave->name);
                if (ret) {
                        debug("failed (err=%d)\n", ret);
                        return ret;
index 22533311c54afe066073e18dbb8a103039f6f3c5..0ec98fb55df5b63300f5941ad831840400211a7c 100644 (file)
@@ -185,7 +185,7 @@ static inline int spi_flash_erase(struct spi_flash *flash, u32 offset,
 struct sandbox_state;
 
 int sandbox_sf_bind_emul(struct sandbox_state *state, int busnum, int cs,
-                        struct udevice *bus, int of_offset, const char *spec);
+                        struct udevice *bus, ofnode node, const char *spec);
 
 void sandbox_sf_unbind_emul(struct sandbox_state *state, int busnum, int cs);
 
index 252b87431fb0439620a7236ec83f73de6e684df4..ffd789cd7fb382f4390604e6adc5634004552e78 100644 (file)
@@ -23,7 +23,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)
        struct udevice *bus, *dev;
        const int busnum = 0, cs = 0, mode = 0, speed = 1000000, cs_b = 1;
        struct spi_cs_info info;
-       int of_offset;
+       ofnode node;
 
        ut_asserteq(-ENODEV, uclass_find_device_by_seq(UCLASS_SPI, busnum,
                                                       false, &bus));
@@ -34,7 +34,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)
         */
        ut_asserteq(0, uclass_get_device_by_seq(UCLASS_SPI, busnum, &bus));
        ut_assertok(spi_cs_info(bus, cs, &info));
-       of_offset = dev_of_offset(info.dev);
+       node = dev_ofnode(info.dev);
        device_remove(info.dev, DM_REMOVE_NORMAL);
        device_unbind(info.dev);
 
@@ -65,7 +65,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)
        ut_asserteq_ptr(NULL, info.dev);
 
        /* Add the emulation and try again */
-       ut_assertok(sandbox_sf_bind_emul(state, busnum, cs, bus, of_offset,
+       ut_assertok(sandbox_sf_bind_emul(state, busnum, cs, bus, node,
                                         "name"));
        ut_assertok(spi_find_bus_and_cs(busnum, cs, &bus, &dev));
        ut_assertok(spi_get_bus_and_cs(busnum, cs, speed, mode,
@@ -75,7 +75,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)
        ut_asserteq_ptr(info.dev, slave->dev);
 
        /* We should be able to add something to another chip select */
-       ut_assertok(sandbox_sf_bind_emul(state, busnum, cs_b, bus, of_offset,
+       ut_assertok(sandbox_sf_bind_emul(state, busnum, cs_b, bus, node,
                                         "name"));
        ut_assertok(spi_get_bus_and_cs(busnum, cs_b, speed, mode,
                                       "spi_flash_std", "name", &bus, &slave));