Hi Marek,

On Sun, 26 Apr 2020 at 04:52, Marek Vasut <[email protected]> wrote:
>
> Add another flag to the DM core which could be assigned to drivers and
> which makes those drivers call their remove callbacks last, just before
> booting OS and after all the other drivers finished with their remove
> callbacks. This is necessary for things like clock drivers, where the
> other drivers might depend on the clock driver in their remove callbacks.
> Prime example is the mmc subsystem, which can reconfigure a card from HS
> mode to slower modes in the remove callback and for that it needs to
> reconfigure the controller clock.
>
> Signed-off-by: Marek Vasut <[email protected]>
> Cc: Simon Glass <[email protected]>
> Cc: Tom Rini <[email protected]>
> ---
>  arch/arm/lib/bootm.c         |  1 +
>  drivers/core/device-remove.c | 11 ++++++++---
>  drivers/core/root.c          |  2 ++
>  include/dm/device.h          |  4 ++++
>  4 files changed, 15 insertions(+), 3 deletions(-)

I think this solution is simpler than trying to track device
dependencies, something that driver model currently makes no attempt
to do.

It does need a test though.

Regards,
Simon

Reply via email to