On Mon, 10 Dec 2018, Enric Balletbo i Serra wrote: > The driver adds different MFD child devices via mfd_add_devices() and > hence it is required to call mfd_remove_devices() to remove MFD child > devices. > > Fixes: 5e0115581bbc ("cros_ec: Move cros_ec_dev module to drivers/mfd") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> > --- > Hi Lee, > > I saw that you send a mfd-fixes pull request this morning, so sorry in > advance for sending this too late. This was broken since the driver > moved from platform/chrome to mfd (and probably before that), so > it's an old problem. Note that I plan to send a patch series that depends > on this to apply cleanly. If the patch is fine with you and there is any > possibility to go in this version that will be good, if not, let me know > if you prefer queue this in your for-next branch or if you prefer I > include the patch on the series I plan to send on top of it to not mess > things. It wouldn't have made the v4.20-rcs anyway. Even if you did send it earlier. I only send fixes to that -rcs which fix issues introduced during the current release cycle. If memory serves, doesn't this driver now (or will in the very near future) use devm_* for device creation? That would make this patch either incorrect (should be devm_mfd_remove_devices() if really required) or moot? > drivers/mfd/cros_ec_dev.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c > index b99a194ce5a4..2d0fee488c5a 100644 > --- a/drivers/mfd/cros_ec_dev.c > +++ b/drivers/mfd/cros_ec_dev.c > @@ -499,6 +499,7 @@ static int ec_device_remove(struct platform_device *pdev) > > cros_ec_debugfs_remove(ec); > > + mfd_remove_devices(ec->dev); > cdev_del(&ec->cdev); > device_unregister(&ec->class_dev); > return 0; -- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog