drivers: rename drivers to match compatible string

When using OF_PLATDATA, the bind process between devices and drivers
is performed trying to match compatible string with driver names.
However driver names are not strictly defined, and also there are different
names used when declaring a driver with U_BOOT_DRIVER, the name of the
symbol used in the linker list and the used in the struct driver_info.

In order to make things a bit more clear, rename the drivers names. This
will also help for further OF_PLATDATA improvements, such as checking
for valid driver names.

Signed-off-by: Walter Lozano <walter.lozano@collabora.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Add a fix for sandbox of-platdata to avoid using an invalid ANSI colour:
Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Walter Lozano 2020-06-25 01:10:04 -03:00 committed by Simon Glass
parent 229806f759
commit e3e2470fdd
45 changed files with 106 additions and 120 deletions

View File

@ -220,7 +220,7 @@ static const struct at91_port_platdata at91sam9260_plat[] = {
};
U_BOOT_DEVICES(at91sam9260_gpios) = {
{ "gpio_at91", &at91sam9260_plat[0] },
{ "gpio_at91", &at91sam9260_plat[1] },
{ "gpio_at91", &at91sam9260_plat[2] },
{ "atmel_at91rm9200_gpio", &at91sam9260_plat[0] },
{ "atmel_at91rm9200_gpio", &at91sam9260_plat[1] },
{ "atmel_at91rm9200_gpio", &at91sam9260_plat[2] },
};

View File

@ -176,9 +176,9 @@ static const struct at91_port_platdata at91sam9260_plat[] = {
};
U_BOOT_DEVICES(at91sam9260_gpios) = {
{ "gpio_at91", &at91sam9260_plat[0] },
{ "gpio_at91", &at91sam9260_plat[1] },
{ "gpio_at91", &at91sam9260_plat[2] },
{ "gpio_at91", &at91sam9260_plat[3] },
{ "gpio_at91", &at91sam9260_plat[4] },
{ "atmel_at91rm9200_gpio", &at91sam9260_plat[0] },
{ "atmel_at91rm9200_gpio", &at91sam9260_plat[1] },
{ "atmel_at91rm9200_gpio", &at91sam9260_plat[2] },
{ "atmel_at91rm9200_gpio", &at91sam9260_plat[3] },
{ "atmel_at91rm9200_gpio", &at91sam9260_plat[4] },
};

View File

@ -13,8 +13,8 @@ static const struct udevice_id rk3328_syscon_ids[] = {
{ }
};
U_BOOT_DRIVER(syscon_rk3328) = {
.name = "rk3328_syscon",
U_BOOT_DRIVER(rockchip_rk3328_grf) = {
.name = "rockchip_rk3328_grf",
.id = UCLASS_SYSCON,
.of_match = rk3328_syscon_ids,
};

View File

@ -380,7 +380,7 @@ static const struct davinci_mmc_plat mmc_platdata = {
},
};
U_BOOT_DEVICE(omapl138_mmc) = {
.name = "davinci_mmc",
.name = "ti_da830_mmc",
.platdata = &mmc_platdata,
};

View File

@ -22,7 +22,7 @@ gd_t *gd;
/* Add a simple GPIO device */
U_BOOT_DEVICE(gpio_sandbox) = {
.name = "gpio_sandbox",
.name = "sandbox_gpio",
};
void flush_cache(unsigned long start, unsigned long size)

View File

@ -25,8 +25,8 @@ static const struct udevice_id at91_master_clk_match[] = {
{}
};
U_BOOT_DRIVER(at91_master_clk) = {
.name = "at91-master-clk",
U_BOOT_DRIVER(atmel_at91rm9200_clk_master) = {
.name = "atmel_at91rm9200_clk_master",
.id = UCLASS_CLK,
.of_match = at91_master_clk_match,
.ops = &at91_master_clk_ops,

View File

@ -43,8 +43,8 @@ static const struct udevice_id sam9x5_periph_clk_match[] = {
{}
};
U_BOOT_DRIVER(sam9x5_periph_clk) = {
.name = "sam9x5-periph-clk",
U_BOOT_DRIVER(atmel_at91rm9200_clk_peripheral) = {
.name = "atmel_at91rm9200_clk_peripheral",
.id = UCLASS_MISC,
.of_match = sam9x5_periph_clk_match,
.bind = sam9x5_periph_clk_bind,

View File

@ -25,8 +25,8 @@ static const struct udevice_id at91_pmc_match[] = {
{}
};
U_BOOT_DRIVER(at91_pmc) = {
.name = "at91-pmc",
U_BOOT_DRIVER(atmel_at91rm9200_pmc) = {
.name = "atmel_at91rm9200_pmc",
.id = UCLASS_SIMPLE_BUS,
.of_match = at91_pmc_match,
};

View File

@ -56,8 +56,8 @@ static const struct udevice_id generic_simple_bus_ids[] = {
{ }
};
U_BOOT_DRIVER(simple_bus_drv) = {
.name = "generic_simple_bus",
U_BOOT_DRIVER(simple_bus) = {
.name = "simple_bus",
.id = UCLASS_SIMPLE_BUS,
.of_match = generic_simple_bus_ids,
.flags = DM_FLAG_PRE_RELOC,

View File

@ -624,8 +624,8 @@ static const struct udevice_id at91_gpio_ids[] = {
};
#endif
U_BOOT_DRIVER(gpio_at91) = {
.name = "gpio_at91",
U_BOOT_DRIVER(atmel_at91rm9200_gpio) = {
.name = "atmel_at91rm9200_gpio",
.id = UCLASS_GPIO,
#if CONFIG_IS_ENABLED(OF_CONTROL)
.of_match = at91_gpio_ids,

View File

@ -553,8 +553,8 @@ static int davinci_gpio_ofdata_to_platdata(struct udevice *dev)
return 0;
}
U_BOOT_DRIVER(gpio_davinci) = {
.name = "gpio_davinci",
U_BOOT_DRIVER(ti_dm6441_gpio) = {
.name = "ti_dm6441_gpio",
.id = UCLASS_GPIO,
.ops = &gpio_davinci_ops,
.ofdata_to_platdata = of_match_ptr(davinci_gpio_ofdata_to_platdata),

View File

@ -299,12 +299,8 @@ static const struct udevice_id mxs_gpio_ids[] = {
};
#endif
U_BOOT_DRIVER(gpio_mxs) = {
#ifdef CONFIG_MX28
.name = "fsl_imx28_gpio",
#else /* CONFIG_MX23 */
U_BOOT_DRIVER(fsl_imx23_gpio) = {
.name = "fsl_imx23_gpio",
#endif
.id = UCLASS_GPIO,
.ops = &gpio_mxs_ops,
.probe = mxs_gpio_probe,

View File

@ -172,8 +172,8 @@ static const struct udevice_id rockchip_gpio_ids[] = {
{ }
};
U_BOOT_DRIVER(gpio_rockchip) = {
.name = "gpio_rockchip",
U_BOOT_DRIVER(rockchip_gpio_bank) = {
.name = "rockchip_gpio_bank",
.id = UCLASS_GPIO,
.of_match = rockchip_gpio_ids,
.ops = &gpio_rockchip_ops,

View File

@ -244,8 +244,8 @@ static const struct udevice_id sandbox_gpio_ids[] = {
{ }
};
U_BOOT_DRIVER(gpio_sandbox) = {
.name = "gpio_sandbox",
U_BOOT_DRIVER(sandbox_gpio) = {
.name = "sandbox_gpio",
.id = UCLASS_GPIO,
.of_match = sandbox_gpio_ids,
.ofdata_to_platdata = sandbox_gpio_ofdata_to_platdata,

View File

@ -485,8 +485,8 @@ static const struct udevice_id rockchip_i2c_ids[] = {
{ }
};
U_BOOT_DRIVER(i2c_rockchip) = {
.name = "i2c_rockchip",
U_BOOT_DRIVER(rockchip_rk3066_i2c) = {
.name = "rockchip_rk3066_i2c",
.id = UCLASS_I2C,
.of_match = rockchip_i2c_ids,
.ofdata_to_platdata = rockchip_i2c_ofdata_to_platdata,

View File

@ -225,8 +225,8 @@ static const struct udevice_id cros_ec_kbd_ids[] = {
{ }
};
U_BOOT_DRIVER(cros_ec_kbd) = {
.name = "cros_ec_kbd",
U_BOOT_DRIVER(google_cros_ec_keyb) = {
.name = "google_cros_ec_keyb",
.id = UCLASS_KEYBOARD,
.of_match = cros_ec_kbd_ids,
.probe = cros_ec_kbd_probe,

View File

@ -572,8 +572,8 @@ static const struct udevice_id cros_ec_ids[] = {
{ }
};
U_BOOT_DRIVER(cros_ec_sandbox) = {
.name = "cros_ec_sandbox",
U_BOOT_DRIVER(google_cros_ec_sandbox) = {
.name = "google_cros_ec_sandbox",
.id = UCLASS_CROS_EC,
.of_match = cros_ec_ids,
.probe = cros_ec_probe,

View File

@ -522,7 +522,7 @@ static const struct udevice_id davinci_mmc_ids[] = {
{},
};
#endif
U_BOOT_DRIVER(davinci_mmc_drv) = {
U_BOOT_DRIVER(ti_da830_mmc) = {
.name = "davinci_mmc",
.id = UCLASS_MMC,
#if CONFIG_IS_ENABLED(OF_CONTROL)

View File

@ -711,12 +711,8 @@ static const struct udevice_id mxsmmc_ids[] = {
};
#endif
U_BOOT_DRIVER(mxsmmc) = {
#ifdef CONFIG_MX28
.name = "fsl_imx28_mmc",
#else /* CONFIG_MX23 */
U_BOOT_DRIVER(fsl_imx23_mmc) = {
.name = "fsl_imx23_mmc",
#endif
.id = UCLASS_MMC,
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
.of_match = mxsmmc_ids,

View File

@ -168,7 +168,7 @@ static const struct udevice_id rockchip_dwmmc_ids[] = {
{ }
};
U_BOOT_DRIVER(rockchip_dwmmc_drv) = {
U_BOOT_DRIVER(rockchip_rk3288_dw_mshc) = {
.name = "rockchip_rk3288_dw_mshc",
.id = UCLASS_MMC,
.of_match = rockchip_dwmmc_ids,

View File

@ -68,7 +68,7 @@ int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs,
str = strdup(name);
#endif
ret = spi_get_bus_and_cs(busnum, cs, max_hz, spi_mode,
"spi_flash_std", str, &bus, &slave);
"jedec_spi_nor", str, &bus, &slave);
if (ret)
return ret;

View File

@ -160,8 +160,8 @@ static const struct udevice_id spi_flash_std_ids[] = {
{ }
};
U_BOOT_DRIVER(spi_flash_std) = {
.name = "spi_flash_std",
U_BOOT_DRIVER(jedec_spi_nor) = {
.name = "jedec_spi_nor",
.id = UCLASS_SPI_FLASH,
.of_match = spi_flash_std_ids,
.probe = spi_flash_std_probe,

View File

@ -180,8 +180,8 @@ static const struct udevice_id mxs_pinctrl_match[] = {
{ /* sentinel */ }
};
U_BOOT_DRIVER(mxs_pinctrl) = {
.name = "mxs-pinctrl",
U_BOOT_DRIVER(fsl_imx23_pinctrl) = {
.name = "fsl_imx23_pinctrl",
.id = UCLASS_PINCTRL,
.of_match = of_match_ptr(mxs_pinctrl_match),
.probe = mxs_pinctrl_probe,

View File

@ -519,8 +519,8 @@ static const struct udevice_id at91_pinctrl_match[] = {
{}
};
U_BOOT_DRIVER(at91_pinctrl) = {
.name = "pinctrl_at91",
U_BOOT_DRIVER(atmel_sama5d3_pinctrl) = {
.name = "atmel_sama5d3_pinctrl",
.id = UCLASS_PINCTRL,
.of_match = at91_pinctrl_match,
.probe = at91_pinctrl_probe,

View File

@ -120,7 +120,7 @@ static const struct udevice_id rk3188_pinctrl_ids[] = {
{ }
};
U_BOOT_DRIVER(pinctrl_rk3188) = {
U_BOOT_DRIVER(rockchip_rk3188_pinctrl) = {
.name = "rockchip_rk3188_pinctrl",
.id = UCLASS_PINCTRL,
.of_match = rk3188_pinctrl_ids,

View File

@ -242,7 +242,7 @@ static const struct udevice_id rk3288_pinctrl_ids[] = {
{ }
};
U_BOOT_DRIVER(pinctrl_rk3288) = {
U_BOOT_DRIVER(rockchip_rk3288_pinctrl) = {
.name = "rockchip_rk3288_pinctrl",
.id = UCLASS_PINCTRL,
.of_match = rk3288_pinctrl_ids,

View File

@ -317,7 +317,7 @@ static const struct udevice_id rk3328_pinctrl_ids[] = {
{ }
};
U_BOOT_DRIVER(pinctrl_rk3328) = {
U_BOOT_DRIVER(rockchip_rk3328_pinctrl) = {
.name = "rockchip_rk3328_pinctrl",
.id = UCLASS_PINCTRL,
.of_match = rk3328_pinctrl_ids,

View File

@ -171,7 +171,7 @@ static const struct udevice_id rk3368_pinctrl_ids[] = {
{ }
};
U_BOOT_DRIVER(pinctrl_rk3368) = {
U_BOOT_DRIVER(rockchip_rk3368_pinctrl) = {
.name = "rockchip_rk3368_pinctrl",
.id = UCLASS_PINCTRL,
.of_match = rk3368_pinctrl_ids,

View File

@ -183,8 +183,8 @@ static const struct udevice_id rk8xx_ids[] = {
{ }
};
U_BOOT_DRIVER(pmic_rk8xx) = {
.name = "rk8xx pmic",
U_BOOT_DRIVER(rockchip_rk805) = {
.name = "rockchip_rk805",
.id = UCLASS_PMIC,
.of_match = rk8xx_ids,
#if CONFIG_IS_ENABLED(PMIC_CHILDREN)

View File

@ -82,8 +82,8 @@ static const struct udevice_id fixed_regulator_ids[] = {
{ },
};
U_BOOT_DRIVER(fixed_regulator) = {
.name = "fixed regulator",
U_BOOT_DRIVER(regulator_fixed) = {
.name = "regulator_fixed",
.id = UCLASS_REGULATOR,
.ops = &fixed_regulator_ops,
.of_match = fixed_regulator_ids,

View File

@ -992,7 +992,7 @@ static const struct udevice_id rk3368_dmc_ids[] = {
{ }
};
U_BOOT_DRIVER(dmc_rk3368) = {
U_BOOT_DRIVER(rockchip_rk3368_dmc) = {
.name = "rockchip_rk3368_dmc",
.id = UCLASS_RAM,
.of_match = rk3368_dmc_ids,

View File

@ -945,7 +945,7 @@ static const struct udevice_id rk3188_dmc_ids[] = {
{ }
};
U_BOOT_DRIVER(dmc_rk3188) = {
U_BOOT_DRIVER(rockchip_rk3188_dmc) = {
.name = "rockchip_rk3188_dmc",
.id = UCLASS_RAM,
.of_match = rk3188_dmc_ids,

View File

@ -1113,7 +1113,7 @@ static const struct udevice_id rk3288_dmc_ids[] = {
{ }
};
U_BOOT_DRIVER(dmc_rk3288) = {
U_BOOT_DRIVER(rockchip_rk3288_dmc) = {
.name = "rockchip_rk3288_dmc",
.id = UCLASS_RAM,
.of_match = rk3288_dmc_ids,

View File

@ -606,7 +606,7 @@ static const struct udevice_id rk3328_dmc_ids[] = {
{ }
};
U_BOOT_DRIVER(dmc_rk3328) = {
U_BOOT_DRIVER(rockchip_rk3328_dmc) = {
.name = "rockchip_rk3328_dmc",
.id = UCLASS_RAM,
.of_match = rk3328_dmc_ids,

View File

@ -93,7 +93,9 @@ static int sandbox_serial_putc(struct udevice *dev, const char ch)
struct sandbox_serial_priv *priv = dev_get_priv(dev);
struct sandbox_serial_platdata *plat = dev->platdata;
if (priv->start_of_line && plat->colour != -1) {
/* With of-platdata we don't real the colour correctly, so disable it */
if (!CONFIG_IS_ENABLED(OF_PLATDATA) && priv->start_of_line &&
plat->colour != -1) {
priv->start_of_line = false;
output_ansi_colour(plat->colour);
}
@ -252,8 +254,8 @@ static const struct udevice_id sandbox_serial_ids[] = {
{ }
};
U_BOOT_DRIVER(serial_sandbox) = {
.name = "serial_sandbox",
U_BOOT_DRIVER(sandbox_serial) = {
.name = "sandbox_serial",
.id = UCLASS_SERIAL,
.of_match = sandbox_serial_ids,
.ofdata_to_platdata = sandbox_serial_ofdata_to_platdata,
@ -270,7 +272,7 @@ static const struct sandbox_serial_platdata platdata_non_fdt = {
};
U_BOOT_DEVICE(serial_sandbox_non_fdt) = {
.name = "serial_sandbox",
.name = "sandbox_serial",
.platdata = &platdata_non_fdt,
};
#endif /* CONFIG_IS_ENABLED(OF_CONTROL) */

View File

@ -486,12 +486,8 @@ static const struct udevice_id mxs_spi_ids[] = {
};
#endif
U_BOOT_DRIVER(mxs_spi) = {
#ifdef CONFIG_MX28
.name = "fsl_imx28_spi",
#else /* CONFIG_MX23 */
U_BOOT_DRIVER(fsl_imx23_spi) = {
.name = "fsl_imx23_spi",
#endif
.id = UCLASS_SPI,
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
.of_match = mxs_spi_ids,

View File

@ -553,12 +553,8 @@ static const struct udevice_id rockchip_spi_ids[] = {
{ }
};
U_BOOT_DRIVER(rockchip_spi) = {
#if CONFIG_IS_ENABLED(OF_PLATDATA)
U_BOOT_DRIVER(rockchip_rk3288_spi) = {
.name = "rockchip_rk3288_spi",
#else
.name = "rockchip_spi",
#endif
.id = UCLASS_SPI,
.of_match = rockchip_spi_ids,
.ops = &rockchip_spi_ops,

View File

@ -146,8 +146,8 @@ static const struct udevice_id sandbox_spi_ids[] = {
{ }
};
U_BOOT_DRIVER(spi_sandbox) = {
.name = "spi_sandbox",
U_BOOT_DRIVER(sandbox_spi) = {
.name = "sandbox_spi",
.id = UCLASS_SPI,
.of_match = sandbox_spi_ids,
.ops = &sandbox_spi_ops,

View File

@ -355,8 +355,8 @@ static const struct udevice_id sandbox_tpm_ids[] = {
{ }
};
U_BOOT_DRIVER(sandbox_tpm) = {
.name = "sandbox_tpm",
U_BOOT_DRIVER(google_sandbox_tpm) = {
.name = "google_sandbox_tpm",
.id = UCLASS_TPM,
.of_match = sandbox_tpm_ids,
.ops = &sandbox_tpm_ops,

View File

@ -97,8 +97,8 @@ static const struct udevice_id rk3288_vop_ids[] = {
static const struct video_ops rk3288_vop_ops = {
};
U_BOOT_DRIVER(rk_vop) = {
.name = "rk3288_vop",
U_BOOT_DRIVER(rockchip_rk3288_vop) = {
.name = "rockchip_rk3288_vop",
.id = UCLASS_VIDEO,
.of_match = rk3288_vop_ids,
.ops = &rk3288_vop_ops,

View File

@ -72,8 +72,8 @@ static const struct udevice_id sandbox_sdl_ids[] = {
{ }
};
U_BOOT_DRIVER(sdl_sandbox) = {
.name = "sdl_sandbox",
U_BOOT_DRIVER(sandbox_lcd_sdl) = {
.name = "sandbox_lcd_sdl",
.id = UCLASS_VIDEO,
.of_match = sandbox_sdl_ids,
.bind = sandbox_sdl_bind,

View File

@ -113,8 +113,8 @@ static int at91_wdt_probe(struct udevice *dev)
return 0;
}
U_BOOT_DRIVER(at91_wdt) = {
.name = "at91_wdt",
U_BOOT_DRIVER(atmel_at91sam9260_wdt) = {
.name = "atmel_at91sam9260_wdt",
.id = UCLASS_WDT,
.of_match = at91_wdt_ids,
.priv_auto_alloc_size = sizeof(struct at91_wdt_priv),

View File

@ -244,7 +244,7 @@ static int dm_test_gpio_anon(struct unit_test_state *uts)
/* And the anonymous bank */
ut_assertok(gpio_lookup_name("14", &dev, &offset, &gpio));
ut_asserteq_str(dev->name, "gpio_sandbox");
ut_asserteq_str(dev->name, "sandbox_gpio");
ut_asserteq(14, offset);
ut_asserteq(14, gpio);

View File

@ -58,7 +58,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)
*/
ut_asserteq(-ENODEV, spi_find_bus_and_cs(busnum, cs, &bus, &dev));
ut_asserteq(-ENOENT, spi_get_bus_and_cs(busnum, cs, speed, mode,
"spi_flash_std", "name", &bus,
"jedec_spi_nor", "name", &bus,
&slave));
sandbox_sf_unbind_emul(state_get_current(), busnum, cs);
ut_assertok(spi_cs_info(bus, cs, &info));
@ -69,7 +69,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)
"name"));
ut_assertok(spi_find_bus_and_cs(busnum, cs, &bus, &dev));
ut_assertok(spi_get_bus_and_cs(busnum, cs, speed, mode,
"spi_flash_std", "name", &bus, &slave));
"jedec_spi_nor", "name", &bus, &slave));
ut_assertok(spi_cs_info(bus, cs, &info));
ut_asserteq_ptr(info.dev, slave->dev);
@ -78,7 +78,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)
ut_assertok(sandbox_sf_bind_emul(state, busnum, cs_b, bus, node,
"name"));
ut_asserteq(-EINVAL, spi_get_bus_and_cs(busnum, cs_b, speed, mode,
"spi_flash_std", "name", &bus, &slave));
"jedec_spi_nor", "name", &bus, &slave));
ut_asserteq(-EINVAL, spi_cs_info(bus, cs_b, &info));
ut_asserteq_ptr(NULL, info.dev);

View File

@ -26,45 +26,45 @@ def in_tree(response, name, uclass, drv, depth, last_child):
def test_bind_unbind_with_node(u_boot_console):
#bind /bind-test. Device should come up as well as its children
response = u_boot_console.run_command('bind /bind-test generic_simple_bus')
response = u_boot_console.run_command('bind /bind-test simple_bus')
assert response == ''
tree = u_boot_console.run_command('dm tree')
assert in_tree(tree, 'bind-test', 'simple_bus', 'generic_simple_bus', 0, True)
assert in_tree(tree, 'bind-test', 'simple_bus', 'simple_bus', 0, True)
assert in_tree(tree, 'bind-test-child1', 'phy', 'phy_sandbox', 1, False)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'generic_simple_bus', 1, True)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'simple_bus', 1, True)
#Unbind child #1. No error expected and all devices should be there except for bind-test-child1
response = u_boot_console.run_command('unbind /bind-test/bind-test-child1')
assert response == ''
tree = u_boot_console.run_command('dm tree')
assert in_tree(tree, 'bind-test', 'simple_bus', 'generic_simple_bus', 0, True)
assert in_tree(tree, 'bind-test', 'simple_bus', 'simple_bus', 0, True)
assert 'bind-test-child1' not in tree
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'generic_simple_bus', 1, True)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'simple_bus', 1, True)
#bind child #1. No error expected and all devices should be there
response = u_boot_console.run_command('bind /bind-test/bind-test-child1 phy_sandbox')
assert response == ''
tree = u_boot_console.run_command('dm tree')
assert in_tree(tree, 'bind-test', 'simple_bus', 'generic_simple_bus', 0, True)
assert in_tree(tree, 'bind-test', 'simple_bus', 'simple_bus', 0, True)
assert in_tree(tree, 'bind-test-child1', 'phy', 'phy_sandbox', 1, True)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'generic_simple_bus', 1, False)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'simple_bus', 1, False)
#Unbind child #2. No error expected and all devices should be there except for bind-test-child2
response = u_boot_console.run_command('unbind /bind-test/bind-test-child2')
assert response == ''
tree = u_boot_console.run_command('dm tree')
assert in_tree(tree, 'bind-test', 'simple_bus', 'generic_simple_bus', 0, True)
assert in_tree(tree, 'bind-test', 'simple_bus', 'simple_bus', 0, True)
assert in_tree(tree, 'bind-test-child1', 'phy', 'phy_sandbox', 1, True)
assert 'bind-test-child2' not in tree
#Bind child #2. No error expected and all devices should be there
response = u_boot_console.run_command('bind /bind-test/bind-test-child2 generic_simple_bus')
response = u_boot_console.run_command('bind /bind-test/bind-test-child2 simple_bus')
assert response == ''
tree = u_boot_console.run_command('dm tree')
assert in_tree(tree, 'bind-test', 'simple_bus', 'generic_simple_bus', 0, True)
assert in_tree(tree, 'bind-test', 'simple_bus', 'simple_bus', 0, True)
assert in_tree(tree, 'bind-test-child1', 'phy', 'phy_sandbox', 1, False)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'generic_simple_bus', 1, True)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'simple_bus', 1, True)
#Unbind parent. No error expected. All devices should be removed and unbound
response = u_boot_console.run_command('unbind /bind-test')
@ -75,7 +75,7 @@ def test_bind_unbind_with_node(u_boot_console):
assert 'bind-test-child2' not in tree
#try binding invalid node with valid driver
response = u_boot_console.run_command('bind /not-a-valid-node generic_simple_bus')
response = u_boot_console.run_command('bind /not-a-valid-node simple_bus')
assert response != ''
tree = u_boot_console.run_command('dm tree')
assert 'not-a-valid-node' not in tree
@ -87,12 +87,12 @@ def test_bind_unbind_with_node(u_boot_console):
assert 'bind-test' not in tree
#bind /bind-test. Device should come up as well as its children
response = u_boot_console.run_command('bind /bind-test generic_simple_bus')
response = u_boot_console.run_command('bind /bind-test simple_bus')
assert response == ''
tree = u_boot_console.run_command('dm tree')
assert in_tree(tree, 'bind-test', 'simple_bus', 'generic_simple_bus', 0, True)
assert in_tree(tree, 'bind-test', 'simple_bus', 'simple_bus', 0, True)
assert in_tree(tree, 'bind-test-child1', 'phy', 'phy_sandbox', 1, False)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'generic_simple_bus', 1, True)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'simple_bus', 1, True)
response = u_boot_console.run_command('unbind /bind-test')
assert response == ''
@ -112,7 +112,7 @@ def get_next_line(tree, name):
@pytest.mark.buildconfigspec('cmd_bind')
def test_bind_unbind_with_uclass(u_boot_console):
#bind /bind-test
response = u_boot_console.run_command('bind /bind-test generic_simple_bus')
response = u_boot_console.run_command('bind /bind-test simple_bus')
assert response == ''
#make sure bind-test-child2 is there and get its uclass/index pair
@ -123,8 +123,8 @@ def test_bind_unbind_with_uclass(u_boot_console):
child2_uclass = child2_line[0].split()[0]
child2_index = int(child2_line[0].split()[1])
#bind generic_simple_bus as a child of bind-test-child2
response = u_boot_console.run_command('bind {} {} generic_simple_bus'.format(child2_uclass, child2_index, 'generic_simple_bus'))
#bind simple_bus as a child of bind-test-child2
response = u_boot_console.run_command('bind {} {} simple_bus'.format(child2_uclass, child2_index, 'simple_bus'))
#check that the child is there and its uclass/index pair is right
tree = u_boot_console.run_command('dm tree')
@ -132,20 +132,20 @@ def test_bind_unbind_with_uclass(u_boot_console):
child_of_child2_line = get_next_line(tree, 'bind-test-child2')
assert child_of_child2_line
child_of_child2_index = int(child_of_child2_line.split()[1])
assert in_tree(tree, 'generic_simple_bus', 'simple_bus', 'generic_simple_bus', 2, True)
assert in_tree(tree, 'simple_bus', 'simple_bus', 'simple_bus', 2, True)
assert child_of_child2_index == child2_index + 1
#unbind the child and check it has been removed
response = u_boot_console.run_command('unbind simple_bus {}'.format(child_of_child2_index))
assert response == ''
tree = u_boot_console.run_command('dm tree')
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'generic_simple_bus', 1, True)
assert not in_tree(tree, 'generic_simple_bus', 'simple_bus', 'generic_simple_bus', 2, True)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'simple_bus', 1, True)
assert not in_tree(tree, 'simple_bus', 'simple_bus', 'simple_bus', 2, True)
child_of_child2_line = get_next_line(tree, 'bind-test-child2')
assert child_of_child2_line == ''
#bind generic_simple_bus as a child of bind-test-child2
response = u_boot_console.run_command('bind {} {} generic_simple_bus'.format(child2_uclass, child2_index, 'generic_simple_bus'))
#bind simple_bus as a child of bind-test-child2
response = u_boot_console.run_command('bind {} {} simple_bus'.format(child2_uclass, child2_index, 'simple_bus'))
#check that the child is there and its uclass/index pair is right
tree = u_boot_console.run_command('dm tree')
@ -154,22 +154,22 @@ def test_bind_unbind_with_uclass(u_boot_console):
child_of_child2_line = get_next_line(tree, 'bind-test-child2')
assert child_of_child2_line
child_of_child2_index = int(child_of_child2_line.split()[1])
assert in_tree(tree, 'generic_simple_bus', 'simple_bus', 'generic_simple_bus', 2, True)
assert in_tree(tree, 'simple_bus', 'simple_bus', 'simple_bus', 2, True)
assert child_of_child2_index == child2_index + 1
#unbind the child and check it has been removed
response = u_boot_console.run_command('unbind {} {} generic_simple_bus'.format(child2_uclass, child2_index, 'generic_simple_bus'))
response = u_boot_console.run_command('unbind {} {} simple_bus'.format(child2_uclass, child2_index, 'simple_bus'))
assert response == ''
tree = u_boot_console.run_command('dm tree')
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'generic_simple_bus', 1, True)
assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'simple_bus', 1, True)
child_of_child2_line = get_next_line(tree, 'bind-test-child2')
assert child_of_child2_line == ''
#unbind the child again and check it doesn't change the tree
tree_old = u_boot_console.run_command('dm tree')
response = u_boot_console.run_command('unbind {} {} generic_simple_bus'.format(child2_uclass, child2_index, 'generic_simple_bus'))
response = u_boot_console.run_command('unbind {} {} simple_bus'.format(child2_uclass, child2_index, 'simple_bus'))
tree_new = u_boot_console.run_command('dm tree')
assert response == ''