[PATCH V3] dm: core: Add late driver remove option

Tom Rini trini at konsulko.com
Wed Nov 18 15:53:46 CET 2020


On Wed, Nov 18, 2020 at 07:37:27AM -0700, Simon Glass wrote:
> Hi Marek,
> 
> On Sun, 15 Nov 2020 at 06:19, Marek Vasut <marex at denx.de> wrote:
> >
> > On 11/9/20 1:21 AM, Simon Glass wrote:
> > > Hi Marek,
> >
> > [...]
> >
> > >> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> > >> index 1206e306db..f9091a3d41 100644
> > >> --- a/arch/arm/lib/bootm.c
> > >> +++ b/arch/arm/lib/bootm.c
> > >> @@ -120,6 +120,7 @@ static void announce_and_cleanup(int fake)
> > >>           * of DMA operation or releasing device internal buffers.
> > >>           */
> > >>          dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL);
> > >> +       dm_remove_devices_flags(DM_REMOVE_ACTIVE_ALL | DM_REMOVE_LATE);
> > >
> > > Please see my previous comments about the naming and semantics. I'm
> > > repeating them here:
> > >
> > > Firstly I think we should use a different name. 'Late' doesn't really
> > > tell me anything.
> > >
> > > If I understand it correctly, this is supposed to be after OS_PREPARE
> > > but before booting the OS?
> >
> > No. The drivers which are marked as remove-late should be removed late,
> > after all the normal drivers were removed. The example in the commit
> > message explains where this is needed -- first remove mmc driver to set
> > eMMC out of HS mode and change the bus clock and after that remove clock
> > driver ; the clock driver is still required during the removal of the
> > mmc driver.
> >
> > > I think we need to separate the flag names as they are too similar.
> > >
> > > I think DM_FLAG_BASIC and DM_REMOVE_NON_BASIC would be better (or some
> > > term that explains that this is a device used by many others)
> > >
> > > If BASIC is too terrible, perhaps CORE, or VITAL, or PRIME or CRITICAL
> > > or something like that?
> >
> > This makes no sense to me.
> 
> I don't want the word 'late'. Then we'll end up with 'later' and
> 'fairly late', etc. and it will get out of hand. We need a word that
> describes what is special about the devices, not when to do stuff with
> them.
> 
> >
> > > That way we are describing the property of the device rather than what
> > > we want to do with it.
> >
> > The device is not critical or vital, it just needs to be torn down late.
> 
> What is it about the device that requires it to be torn down 'late'?

I think perhaps the problem isn't that it needs to be "late", it's that
it has perhaps not obviously described children.  Which gets back to
what you just said as well about "later" and "fairly late".  It's an
ordering problem.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20201118/422f84a7/attachment.sig>


More information about the U-Boot mailing list