Messages in this thread | | | Date | Tue, 16 Jun 2020 10:06:25 +0000 | From | Charles Keepax <> | Subject | Re: [PATCH v2 1/2] mfd: mfd-core: Add mechanism for removal of a subset of children |
| |
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?
Thanks, Charles
| |