Hi Lee,

On 3/12/18 11:32, Lee Jones wrote:
> On Tue, 27 Nov 2018, Enric Balletbo i Serra wrote:
> 
>> Use devm_mfd_add_devices() for adding cros-ec core MFD child devices. This
>> reduces the need of remove callback from platform/chrome for removing the
>> MFD child devices.
>>
>> Signed-off-by: Enric Balletbo i Serra <enric.balle...@collabora.com>
>> ---
>>
>> Changes in v3:
>> - Removed cros_ec_remove from include file.
>>
>> Changes in v2:
>> - Use devm only for the cros-ec core.
>>
>>  drivers/mfd/cros_ec.c                 | 14 +++-----------
>>  drivers/mfd/cros_ec_dev.c             |  1 +
>>  drivers/platform/chrome/cros_ec_i2c.c | 10 ----------
>>  drivers/platform/chrome/cros_ec_lpc.c |  4 ----
>>  drivers/platform/chrome/cros_ec_spi.c | 11 -----------
>>  include/linux/mfd/cros_ec.h           | 10 ----------
>>  6 files changed, 4 insertions(+), 46 deletions(-)
> 
> Nice patch.
> 
> Just one question:
> 
> [...]
> 
>> diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c
>> index 8f9d6964173e..ff788d3e6d5f 100644
>> --- a/drivers/mfd/cros_ec_dev.c
>> +++ b/drivers/mfd/cros_ec_dev.c
>> @@ -493,6 +493,7 @@ static int ec_device_remove(struct platform_device *pdev)
>>  
>>      cros_ec_debugfs_remove(ec);
>>  
>> +    mfd_remove_devices(ec->dev);
> 
> Why is this still required?
> 

Hmm, maybe that line shouldn't be here as is not really related to this patch,
it's more a fix for the cros_ec_dev to remove those cells that are registered
with mfd_add_devices.

Actually what we have is cros_ec that instantiates one or two cros_ec_dev
(depends on the platform) and cros_ec_dev instantiating different subdrivers.
The purpose of the patch was use the device managed resource for the cros_ec
driver, I did not touch the cros_ec_dev driver

>>      cdev_del(&ec->cdev);
>>      device_unregister(&ec->class_dev);
>>      return 0;
> 
> [...]
> 

Reply via email to