Question about device links between supplier and consumer

Rafael J. Wysocki rafael at kernel.org
Thu Dec 7 13:43:14 UTC 2023


+Saravana

On Thu, Dec 7, 2023 at 10:51 AM richard clark
<richard.xnu.clark at gmail.com> wrote:
>
> Hi,
>
> I have to comment out below code to make the mmc driver be probed
> before the kernel try to run the init mounting the rootfs in the dev
> node generate by the driver:
>
> really_probe(...)
> {
>    ...
> #if 0
>     link_ret = device_links_check_suppliers(dev);
>     if (link_ret == -EPROBE_DEFER)
>         return link_ret;
>     ...
>     if (!list_empty(&dev->devres_head)) {
>         dev_crit(dev, "Resources present before probing\n");
>         ret = -EBUSY;
>         goto done;
>     }
> #endif
>     ...
> }
>
> Otherwise, the mmc driver will be defer probed after the init
> executed, as you can imagine, the init will complain it can not find
> the dev node specified by the 'root=/dev/xxx' in the kernel. command
> line.
>
> This is really bad! I don't know how to check the device dependency or
> what I should do in my driver to make it follow the device dependent
> link rule? or sth i am missing...
>
> Thanks!


More information about the dri-devel mailing list