[PATCH v2 2/4] of: support of_ensure_probed for top-level machine device
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Mar 13 07:43:30 PDT 2023
Hello Michael,
On 13.03.23 08:05, Michael Riesch wrote:
> I can sketch a patch that triggers this behavior on a Radxa ROCK3.
> Similar to my board code, this happens in the scope of a board probe
> function. Please find the sketch below.
>
> Basing on the current next:
[snip]
I see now how this could not work. I dropped the commit introducing
the breakage and redid what I wanted to achieve differently.
Thanks for reporting and sorry for the hassle,
Ahmad
>
> Board: Radxa ROCK3 Model A
> deep-probe: supported due to radxa,rock3a
> board-rock3 machine: of_device_ensure_probed_by_alias returned -19
>
> With 2b46c9df976c ("of: support of_ensure_probed for top-level machine
> device") reverted:
>
> Board: Radxa ROCK3 Model A
> deep-probe: supported due to radxa,rock3a
> rk808 rk8090: chip id: 0x8090
> rockchip_saradc fe720000.saradc at fe720000.of: registered as saradc
> board-rock3 machine: of_device_ensure_probed_by_alias returned 0
>
> Thanks and best regards,
> Michael
>
>> [...]
> ---- %< snip ----------------------------------------------------
>
> diff --git a/arch/arm/boards/radxa-rock3/board.c
> b/arch/arm/boards/radxa-rock3/board.c
> index 4b4e0613d3..771777d4ea 100644
> --- a/arch/arm/boards/radxa-rock3/board.c
> +++ b/arch/arm/boards/radxa-rock3/board.c
> @@ -15,6 +15,7 @@ static int rock3_probe(struct device *dev)
> enum bootsource bootsource = bootsource_get();
> int instance = bootsource_get_instance();
> const struct rock3_model *model;
> + int ret;
>
> model = device_get_match_data(dev);
>
> @@ -30,6 +31,9 @@ static int rock3_probe(struct device *dev)
> "/dev/mmc1");
> rk3568_bbu_mmc_register("sd", 0, "/dev/mmc0");
>
> + ret = of_device_ensure_probed_by_alias("saradc");
> + dev_info(dev, "of_device_ensure_probed_by_alias returned %d\n",
> ret);
> +
> return 0;
> }
>
> diff --git a/arch/arm/dts/rk3568-rock-3a.dts
> b/arch/arm/dts/rk3568-rock-3a.dts
> index 25a0c05737..b8dc46c706 100644
> --- a/arch/arm/dts/rk3568-rock-3a.dts
> +++ b/arch/arm/dts/rk3568-rock-3a.dts
> @@ -6,6 +6,10 @@
> #include "rk356x.dtsi"
>
> / {
> + aliases {
> + saradc = &saradc;
> + };
> +
> chosen: chosen {
> environment-sd {
> compatible = "barebox,environment";
>
--
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