Messages in this thread | | | Date | Mon, 4 Sep 2017 10:38:51 +0300 | From | Sakari Ailus <> | 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@intel.com> > --- > 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@iki.fi
| |