From: Patrick Bruenn <p.bru...@beckhoff.com> Add two more gpio-leds to sandbox test device tree with default-state property set to "on"/"off". Add dm_test_led_default_state() to check that these new LED's are set to LEDST_ON and LEDST_OFF.
dm: led: add testcase for "default-state" property Add two more gpio-leds to sandbox test device tree with default-state property set to "on"/"off". Add dm_test_led_default_state() to check that these new LED's are set to LEDST_ON and LEDST_OFF. Signed-off-by: Patrick Bruenn <p.bru...@beckhoff.com> --- patman complains about: test/dm/led.c:45: check: Please use a blank line after function/struct/union/enum declarations. I compared with other DM_TEST() usage and decided to ignore this check. Should we fix the macro, patman or keep ignoring this? Changes in v4: - gpio_a pin 4 is already use by dm_test_gpio_phandles() -> we switch to use pin 5 and 6 - adjust dm_test_led_base() to the fact that we have two more LEDs, now Changes in v3: None Changes in v2: None arch/sandbox/dts/test.dts | 12 ++++++++++++ test/dm/led.c | 20 +++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index 06d0e8ce85..2f104af960 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -254,6 +254,18 @@ gpios = <&gpio_a 2 0>; label = "sandbox:green"; }; + + default_on { + gpios = <&gpio_a 5 0>; + label = "sandbox:default_on"; + default-state = "on"; + }; + + default_off { + gpios = <&gpio_a 6 0>; + label = "sandbox:default_off"; + default-state = "off"; + }; }; mbox: mbox { diff --git a/test/dm/led.c b/test/dm/led.c index fde700be38..af05cd78b6 100644 --- a/test/dm/led.c +++ b/test/dm/led.c @@ -22,12 +22,30 @@ static int dm_test_led_base(struct unit_test_state *uts) ut_assertok(uclass_get_device(UCLASS_LED, 0, &dev)); ut_assertok(uclass_get_device(UCLASS_LED, 1, &dev)); ut_assertok(uclass_get_device(UCLASS_LED, 2, &dev)); - ut_asserteq(-ENODEV, uclass_get_device(UCLASS_LED, 3, &dev)); + ut_assertok(uclass_get_device(UCLASS_LED, 3, &dev)); + ut_assertok(uclass_get_device(UCLASS_LED, 4, &dev)); + ut_asserteq(-ENODEV, uclass_get_device(UCLASS_LED, 5, &dev)); return 0; } DM_TEST(dm_test_led_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); +/* Test of the LED 'default-state' device tree property */ +static int dm_test_led_default_state(struct unit_test_state *uts) +{ + struct udevice *dev; + + /* Check that we handle the default-state property correctly. */ + ut_assertok(led_get_by_label("sandbox:default_on", &dev)); + ut_asserteq(LEDST_ON, led_get_state(dev)); + + ut_assertok(led_get_by_label("sandbox:default_off", &dev)); + ut_asserteq(LEDST_OFF, led_get_state(dev)); + + return 0; +} +DM_TEST(dm_test_led_default_state, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + /* Test of the led uclass using the led_gpio driver */ static int dm_test_led_gpio(struct unit_test_state *uts) { -- 2.11.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot