diff mbox series

[04/11] sandbox: Disable I2C emulators in SPL

Message ID 20210121205716.964652-5-sjg@chromium.org
State Accepted
Commit d85f2c4f2970d0ec2f5f075de734afd11200d153
Delegated to: Simon Glass
Headers show
Series More minor clean-ups and improvements | expand

Commit Message

Simon Glass Jan. 21, 2021, 8:57 p.m. UTC
These cannot work with of-platdata since they currently need the
devicetree at runtime. Disable the emulators and the sandbox I2C driver
that needs them. We can enable these later, if needed for testing.

Switch the of_plat_parent test over to use a simple bus instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/sandbox/dts/sandbox.dtsi | 10 +++++++---
 configs/sandbox_spl_defconfig |  1 -
 drivers/i2c/Makefile          |  2 ++
 test/dm/of_platdata.c         |  8 ++++----
 4 files changed, 13 insertions(+), 8 deletions(-)

Comments

Heiko Schocher Jan. 26, 2021, 5:19 a.m. UTC | #1
Hello Simon,

Am 21.01.21 um 21:57 schrieb Simon Glass:
> These cannot work with of-platdata since they currently need the
> devicetree at runtime. Disable the emulators and the sandbox I2C driver
> that needs them. We can enable these later, if needed for testing.
> 
> Switch the of_plat_parent test over to use a simple bus instead.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  arch/sandbox/dts/sandbox.dtsi | 10 +++++++---
>  configs/sandbox_spl_defconfig |  1 -
>  drivers/i2c/Makefile          |  2 ++
>  test/dm/of_platdata.c         |  8 ++++----
>  4 files changed, 13 insertions(+), 8 deletions(-)

Reviewed-by: Heiko Schocher <hs@denx.de>

bye,
Heiko
Simon Glass Jan. 30, 2021, 9:27 p.m. UTC | #2
Hello Simon,

Am 21.01.21 um 21:57 schrieb Simon Glass:
> These cannot work with of-platdata since they currently need the
> devicetree at runtime. Disable the emulators and the sandbox I2C driver
> that needs them. We can enable these later, if needed for testing.
>
> Switch the of_plat_parent test over to use a simple bus instead.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  arch/sandbox/dts/sandbox.dtsi | 10 +++++++---
>  configs/sandbox_spl_defconfig |  1 -
>  drivers/i2c/Makefile          |  2 ++
>  test/dm/of_platdata.c         |  8 ++++----
>  4 files changed, 13 insertions(+), 8 deletions(-)

Reviewed-by: Heiko Schocher <hs@denx.de>

bye,
Heiko
diff mbox series

Patch

diff --git a/arch/sandbox/dts/sandbox.dtsi b/arch/sandbox/dts/sandbox.dtsi
index d842f021760..dc933f3bfc7 100644
--- a/arch/sandbox/dts/sandbox.dtsi
+++ b/arch/sandbox/dts/sandbox.dtsi
@@ -260,10 +260,14 @@ 
 		stringarray = "pre-proper";
 	};
 
-	spl-test7 {
+	test-bus {
+		compatible = "simple-bus";
 		u-boot,dm-spl;
-		compatible = "sandbox,spl-test";
-		stringarray = "spl";
+		spl-test7 {
+			u-boot,dm-spl;
+			compatible = "sandbox,spl-test";
+			stringarray = "spl";
+		};
 	};
 
 	square {
diff --git a/configs/sandbox_spl_defconfig b/configs/sandbox_spl_defconfig
index d193b18f47e..61dae34a6a2 100644
--- a/configs/sandbox_spl_defconfig
+++ b/configs/sandbox_spl_defconfig
@@ -101,7 +101,6 @@  CONFIG_SYSCON=y
 CONFIG_SPL_SYSCON=y
 CONFIG_DEVRES=y
 CONFIG_DEBUG_DEVRES=y
-# CONFIG_SPL_SIMPLE_BUS is not set
 CONFIG_ADC=y
 CONFIG_ADC_SANDBOX=y
 CONFIG_AXI=y
diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index 1aac5c481e2..29aab0f9e30 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -39,7 +39,9 @@  obj-$(CONFIG_SYS_I2C_RCAR_I2C) += rcar_i2c.o
 obj-$(CONFIG_SYS_I2C_RCAR_IIC) += rcar_iic.o
 obj-$(CONFIG_SYS_I2C_ROCKCHIP) += rk_i2c.o
 obj-$(CONFIG_SYS_I2C_S3C24X0) += s3c24x0_i2c.o exynos_hs_i2c.o
+ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_SYS_I2C_SANDBOX) += sandbox_i2c.o i2c-emul-uclass.o
+endif
 obj-$(CONFIG_SYS_I2C_SH) += sh_i2c.o
 obj-$(CONFIG_SYS_I2C_SOFT) += soft_i2c.o
 obj-$(CONFIG_SYS_I2C_STM32F7) += stm32f7_i2c.o
diff --git a/test/dm/of_platdata.c b/test/dm/of_platdata.c
index cfc43a5b038..26c50922c56 100644
--- a/test/dm/of_platdata.c
+++ b/test/dm/of_platdata.c
@@ -210,11 +210,11 @@  DM_TEST(dm_test_of_plat_phandle, UT_TESTF_SCAN_PDATA);
 /* Test that device parents are correctly set up */
 static int dm_test_of_plat_parent(struct unit_test_state *uts)
 {
-	struct udevice *rtc, *i2c;
+	struct udevice *dev, *bus;
 
-	ut_assertok(uclass_first_device_err(UCLASS_RTC, &rtc));
-	ut_assertok(uclass_first_device_err(UCLASS_I2C, &i2c));
-	ut_asserteq_ptr(i2c, dev_get_parent(rtc));
+	ut_assertok(uclass_first_device_err(UCLASS_SIMPLE_BUS, &bus));
+	ut_assertok(device_first_child_err(bus, &dev));
+	ut_asserteq_ptr(bus, dev_get_parent(dev));
 
 	return 0;
 }