aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass2018-06-11 13:07:16 -0600
committerSimon Glass2018-07-09 09:11:00 -0600
commit008dcddf9937bd2576f98b48eb5bf0f60ad36014 (patch)
tree751ddfe6e97f7e2e2df1d6f542e77d0d34fa5503
parentd677b00cb62a4cf4d4a24468f218581b4f57c2fe (diff)
dm: spi: Update sandbox SPI emulation driver to use ofnode
Update the parameters sandbox_sf_bind_emul to support livetree. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/mtd/spi/sandbox.c9
-rw-r--r--include/spi_flash.h2
-rw-r--r--test/dm/spi.c8
3 files changed, 10 insertions, 9 deletions
diff --git a/drivers/mtd/spi/sandbox.c b/drivers/mtd/spi/sandbox.c
index f23c0e13e0c..1b6c0282513 100644
--- a/drivers/mtd/spi/sandbox.c
+++ b/drivers/mtd/spi/sandbox.c
@@ -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;
diff --git a/include/spi_flash.h b/include/spi_flash.h
index 22533311c54..0ec98fb55df 100644
--- a/include/spi_flash.h
+++ b/include/spi_flash.h
@@ -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);
diff --git a/test/dm/spi.c b/test/dm/spi.c
index 252b87431fb..ffd789cd7fb 100644
--- a/test/dm/spi.c
+++ b/test/dm/spi.c
@@ -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));