linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove
@ 2018-12-10 18:00 Enric Balletbo i Serra
  2018-12-11  6:12 ` Lee Jones
  2018-12-11 10:18 ` Lee Jones
  0 siblings, 2 replies; 5+ messages in thread
From: Enric Balletbo i Serra @ 2018-12-10 18:00 UTC (permalink / raw)
  To: lee.jones; +Cc: groeck, gwendal, kernel, bleung, linux-kernel, stable

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@vger.kernel.org
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
---
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.

Thanks,
 Enric

 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;
-- 
2.19.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove
  2018-12-10 18:00 [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove Enric Balletbo i Serra
@ 2018-12-11  6:12 ` Lee Jones
  2018-12-11 10:00   ` Enric Balletbo i Serra
  2018-12-11 10:18 ` Lee Jones
  1 sibling, 1 reply; 5+ messages in thread
From: Lee Jones @ 2018-12-11  6:12 UTC (permalink / raw)
  To: Enric Balletbo i Serra
  Cc: groeck, gwendal, kernel, bleung, linux-kernel, stable

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@vger.kernel.org
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
> 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove
  2018-12-11  6:12 ` Lee Jones
@ 2018-12-11 10:00   ` Enric Balletbo i Serra
  2018-12-11 10:18     ` Lee Jones
  0 siblings, 1 reply; 5+ messages in thread
From: Enric Balletbo i Serra @ 2018-12-11 10:00 UTC (permalink / raw)
  To: Lee Jones; +Cc: groeck, gwendal, kernel, bleung, linux-kernel, stable

Hi Lee,

On 11/12/18 7:12, Lee Jones wrote:
> 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@vger.kernel.org
>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>> ---
>> 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.
> 

Ok.

> 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?
> 

I think you have in mind this patch [1], right? Note that in this patch we're
using devm_* for cros_ec driver, _not_ cros_ec_dev driver which is different.
For the cros_ec_dev driver we need to take care with device managed allocations
as explained in the last fix merged [2]. For the cros_ec_dev I was trying to no
mix device managed allocations with non-device managed allocations, and as we
can't use devm_kzalloc in this case, I thought that was worth use the
mfd_add/mfd_remove functions like is now. Makes sense? What are your thoughts here?

Thanks,
 Enric

[1] https://lkml.org/lkml/2018/11/27/881
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git/commit/?h=for-mfd-fixes&id=48a2ca0ee3994df53da230c7079a18a70ec914f9

>>  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;
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove
  2018-12-11 10:00   ` Enric Balletbo i Serra
@ 2018-12-11 10:18     ` Lee Jones
  0 siblings, 0 replies; 5+ messages in thread
From: Lee Jones @ 2018-12-11 10:18 UTC (permalink / raw)
  To: Enric Balletbo i Serra
  Cc: groeck, gwendal, kernel, bleung, linux-kernel, stable

On Tue, 11 Dec 2018, Enric Balletbo i Serra wrote:

> Hi Lee,
> 
> On 11/12/18 7:12, Lee Jones wrote:
> > 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@vger.kernel.org
> >> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> >> ---
> >> 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.
> > 
> 
> Ok.
> 
> > 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?
> > 
> 
> I think you have in mind this patch [1], right? Note that in this patch we're
> using devm_* for cros_ec driver, _not_ cros_ec_dev driver which is different.

Ah yes, that was it.

> For the cros_ec_dev driver we need to take care with device managed allocations
> as explained in the last fix merged [2]. For the cros_ec_dev I was trying to no
> mix device managed allocations with non-device managed allocations, and as we
> can't use devm_kzalloc in this case, I thought that was worth use the
> mfd_add/mfd_remove functions like is now. Makes sense? What are your thoughts here?

The patch is fine then.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove
  2018-12-10 18:00 [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove Enric Balletbo i Serra
  2018-12-11  6:12 ` Lee Jones
@ 2018-12-11 10:18 ` Lee Jones
  1 sibling, 0 replies; 5+ messages in thread
From: Lee Jones @ 2018-12-11 10:18 UTC (permalink / raw)
  To: Enric Balletbo i Serra
  Cc: groeck, gwendal, kernel, bleung, linux-kernel, stable

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@vger.kernel.org
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
> 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.
> 
> Thanks,
>  Enric
> 
>  drivers/mfd/cros_ec_dev.c | 1 +
>  1 file changed, 1 insertion(+)

Applied, thanks.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-12-11 10:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-10 18:00 [PATCH] mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove Enric Balletbo i Serra
2018-12-11  6:12 ` Lee Jones
2018-12-11 10:00   ` Enric Balletbo i Serra
2018-12-11 10:18     ` Lee Jones
2018-12-11 10:18 ` Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).