RE: [PATCH v5 3/3] eeprom: at24: enable runtime pm support
From: Mohandass, Divagar
Date: Mon Sep 04 2017 - 06:27:39 EST
Hi Sakari,
Thanks, I will fix this and send the patch v6.
---
^Divagar
>-----Original Message-----
>From: Sakari Ailus [mailto:sakari.ailus@xxxxxx]
>Sent: Monday, September 04, 2017 1:09 PM
>To: Mohandass, Divagar <divagar.mohandass@xxxxxxxxx>
>Cc: robh+dt@xxxxxxxxxx; mark.rutland@xxxxxxx; wsa@xxxxxxxxxxxxx;
>devicetree@xxxxxxxxxxxxxxx; linux-i2c@xxxxxxxxxxxxxxx; linux-
>kernel@xxxxxxxxxxxxxxx; Mani, Rajmohan <rajmohan.mani@xxxxxxxxx>
>Subject: Re: [PATCH v5 3/3] eeprom: at24: enable runtime pm support
>
>Hi Divagar,
>
>On Mon, Sep 04, 2017 at 12:10:45PM +0530, Divagar Mohandass wrote:
>> Currently the device is kept in D0, there is an opportunity to save
>> power by enabling runtime pm.
>>
>> Device can be daisy chained from PMIC and we can't rely on I2C core
>> for auto resume/suspend. Driver will decide when to resume/suspend.
>>
>> Signed-off-by: Divagar Mohandass <divagar.mohandass@xxxxxxxxx>
>> ---
>> drivers/misc/eeprom/at24.c | 40
>> ++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 40 insertions(+)
>>
>> diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
>> index 2199c42..03f5cb7 100644
>> --- a/drivers/misc/eeprom/at24.c
>> +++ b/drivers/misc/eeprom/at24.c
>> @@ -750,9 +782,12 @@ static int at24_probe(struct i2c_client *client,
>const struct i2c_device_id *id)
>> err = at24_read(at24, 0, &test_byte, 1);
>
>You do pm_runtime_put()s here and drop the ones below as it's needed
>unconditionally. Then I think we're done.
>
>> if (err) {
>> err = -ENODEV;
>> + pm_runtime_put(&client->dev);
>> goto err_clients;
>> }
>>
>> + pm_runtime_put(&client->dev);
>> +
>> at24->nvmem_config.name = dev_name(&client->dev);
>> at24->nvmem_config.dev = &client->dev;
>> at24->nvmem_config.read_only = !writable;
>
>--
>Kind regards,
>
>Sakari Ailus
>e-mail: sakari.ailus@xxxxxx