[PATCH 2/2] test: self: add basic regulator selftest

Sascha Hauer sha at pengutronix.de
Tue May 2 04:22:13 PDT 2023


On Tue, May 02, 2023 at 12:04:04PM +0200, Ahmad Fatoum wrote:
> Hello Sascha,
> 
> On 02.05.23 11:22, Sascha Hauer wrote:
> > On Mon, Apr 24, 2023 at 01:59:08PM +0200, Ahmad Fatoum wrote:
> >> This simple test verifies registration and always-on enabling and disabling
> >> work as they should. It may be extended in future to support more
> >> complex cases.
> >>
> >> +static const struct of_device_id test_regulator_of_match[] = {
> >> +	{ .compatible = "barebox,regulator-self-test" },
> >> +	{ /* sentintel */ },
> >> +};
> >> +
> >> +static struct driver regulator_test_driver = {
> >> +	.name = "regulator-test",
> >> +	.probe = regulator_probe,
> >> +	.of_match_table = test_regulator_of_match,
> >> +};
> >> +
> >> +static struct device_d *dev;
> >> +
> >> +static void test_regulator(void)
> >> +{
> >> +	extern char __dtbo_test_regulator_start[];
> >> +	struct device_node *overlay;
> >> +	int ret;
> >> +
> >> +	if (!dev) {
> >> +		ret = platform_driver_register(&regulator_test_driver);
> >> +		if (ret)
> >> +			return;
> >> +
> >> +		overlay = of_unflatten_dtb(__dtbo_test_regulator_start, INT_MAX);
> >> +		of_overlay_apply_tree(of_get_root_node(), overlay);
> >> +		of_probe();
> > 
> > This needs CONFIG_OF_OVERLAY_LIVE enabled to work. Should we make sure
> > this option is enabled before running this test?
> 
> No, it doesn't. The overlay has no phandle references into the barebox
> live tree, so it can be applied without symbols. This is similar to the
> QEMU overlay, where the QEMU-provided DT also lacks symbols.

Ok, I see. It still needs CONFIG_OF_OVERLAY though. Without it
of_overlay_apply_tree will be a stub.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list