Re: [PATCH v4 6/8] mfd: make mfd_remove_devices() iterate in reverse order

Andy Shevchenko
2015-07-06T09:10:16Z

On Wed, 2015-06-24 at 12:31 +0100, Lee Jones wrote:
> On Mon, 15 Jun 2015, Andy Shevchenko wrote:
>
> > The newly introduced device_for_each_child_reverse() would be used
> > when MFD
> > core removes the device.
> >
> > After this patch applied the devices will be removed in a reversed
> > order. This
> > behaviour is useful when devices have implicit dependency on order,
> > i.e.
> > consider MFD device with serial bus controller, such as SPI, and
> > DMA IP that is
> > attached to serial bus controller: before remove the DMA driver we
> > have to be
> > ensured that no DMA transfers is ongoing and the requested channel
> > are unused.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> > drivers/mfd/mfd-core.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Applied, thanks.

Hmm… Seems kinda mistake. I can't see this applied (and required
previous patches 4 and 5) to any of your branch neither in (today's)
linux-next.

>
> > diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
> > index 1aed3b7..79eeaa5 100644
> > --- a/drivers/mfd/mfd-core.c
> > +++ b/drivers/mfd/mfd-core.c
> > @@ -300,7 +300,7 @@ void mfd_remove_devices(struct device *parent)
> > {
> > atomic_t *cnts = NULL;
> >
> > - device_for_each_child(parent, &cnts,
> > mfd_remove_devices_fn);
> > + device_for_each_child_reverse(parent, &cnts,
> > mfd_remove_devices_fn);
> > kfree(cnts);
> > }
> > EXPORT_SYMBOL(mfd_remove_devices);
>

--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy