Re: [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove

From: Lee Jones
Date: Tue Dec 11 2018 - 01:12:20 EST


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