Re: [PATCH v2 1/2] mfd: mfd-core: Add mechanism for removal of a subset of children

From: Charles Keepax
Date: Tue Jun 16 2020 - 09:30:44 EST


On Tue, Jun 16, 2020 at 02:22:59PM +0100, Lee Jones wrote:
> On Tue, 16 Jun 2020, Charles Keepax wrote:
> > On Tue, Jun 16, 2020 at 10:15:45AM +0100, Lee Jones wrote:
> > > On Tue, 16 Jun 2020, Charles Keepax wrote:
> > > > On Tue, Jun 16, 2020 at 08:58:34AM +0100, Lee Jones wrote:
> > > > > On Mon, 15 Jun 2020, Charles Keepax wrote:
> > > > Does this match how you would expect this to be used?
> > >
> > > No, not at all.
> > >
> > > > I do have some concerns. The code can't use mfd_get_cell since it
> > > > returns a const pointer, although the pointer in platform_device
> > > > isn't const so we access that directly, could update mfd_get_cell? We
> > > > also don't have access to mfd_dev_type outside of the mfd core so
> > > > its hard to check we are actually setting the mfd_cell of actual
> > > > MFD children, I guess just checking for mfd_cell being not NULL is
> > > > good enough?
> > >
> > > Hmmm... looks like I missed the fact that you needed additional
> > > processing between the removal of each batch of devices. My
> > > implementation simply handles the order in which devices are removed
> > > (a bit like initcall()s).
> > >
> > > How about the inclusion of mfd_remove_devices_late(), whereby
> > > mfd_remove_devices() will refuse to remove devices tagged with
> > > MFD_DEP_LEVEL_HIGH.
> > >
> >
> > Yeah this should work fine for my use-case.
> >
> > > Not sure why, but I really dislike the idea of device removal by
> > > arbitrary value/tag, as I see it spawning all sorts of weird and
> > > wonderful implications/hacks/abuse.
> > >
> >
> > Its definitely a spectrum with flexibility covering more
> > use-cases but also definitely opening things up to more abuse. If
> > you are more comfortable with this approach that is fine with me.
> >
> > Would you like me to have a crack at coding it up this way? Or
> > did you want to do a patch?
>
> Either/or. I don't want to steal your thunder, but I'm happy to draft
> if you are.
>

Been having a poke this afternoon as I had some spare time, so
will wing that up and you can take over if I am too far off the
mark :-)

Thanks,
Charles