lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Tue, 10 Oct 2017 12:55:45 +0900
From:   Tomasz Figa <tfiga@...omium.org>
To:     "Mohandass, Divagar" <divagar.mohandass@...el.com>
Cc:     "sakari.ailus@....fi" <sakari.ailus@....fi>,
        "Mani, Rajmohan" <rajmohan.mani@...el.com>,
        "robh+dt@...nel.org" <robh+dt@...nel.org>,
        "mark.rutland@....com" <mark.rutland@....com>,
        "wsa@...-dreams.de" <wsa@...-dreams.de>,
        "devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
        "linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "mika.westerberg@...ux.intel.com" <mika.westerberg@...ux.intel.com>,
        "linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>
Subject: Re: [PATCH v6 3/3] eeprom: at24: enable runtime pm support

On Mon, Oct 9, 2017 at 12:14 PM, Mohandass, Divagar
<divagar.mohandass@...el.com> wrote:
> Hi Tomasz,
>
>>-----Original Message-----
>>From: sakari.ailus@....fi [mailto:sakari.ailus@....fi]
>>Sent: Tuesday, October 03, 2017 7:21 PM
>>To: Tomasz Figa <tfiga@...omium.org>
>>Cc: Mani, Rajmohan <rajmohan.mani@...el.com>; Mohandass, Divagar
>><divagar.mohandass@...el.com>; robh+dt@...nel.org;
>>mark.rutland@....com; wsa@...-dreams.de; devicetree@...r.kernel.org;
>>linux-i2c@...r.kernel.org; linux-kernel@...r.kernel.org;
>>mika.westerberg@...ux.intel.com; linux-pm@...r.kernel.org
>>Subject: Re: [PATCH v6 3/3] eeprom: at24: enable runtime pm support
>>
>>Hi Tomasz,
>>
>>On Wed, Sep 20, 2017 at 12:32:22PM +0300, sakari.ailus@....fi wrote:
>>> > >> >> @@ -743,11 +770,17 @@ static int at24_probe(struct i2c_client
>>> > >> >> *client, const struct i2c_device_id *id)
>>> > >> >>
>>> > >> >>       i2c_set_clientdata(client, at24);
>>> > >> >>
>>> > >> >> +     /* enable runtime pm */
>>> > >> >> +     pm_runtime_get_noresume(&client->dev);
>>> > >> >> +     pm_runtime_set_active(&client->dev);
>>> > >> >> +     pm_runtime_enable(&client->dev);
>>> > >>
>>> > >> Do we need this get_noresume/set_active dance? I remember it was
>>> > >> for some reason needed for PCI devices, but I don't see why for
>>> > >> I2C anything else than just pm_runtime_enable() would be necessary.
>>> > >
>>> > > You specifically do not need (all) this for PCI devices, but AFAIU
>>> > > for I涎
>>> > > devices you do. The runtime PM status of a device is disabled by
>>> > > default and the use count is zero, but on ACPI based systems the
>>> > > device is still powered on.
>>> >
>>> > Okay, so _get_noresume() and _set_active() would do the thing for
>>> > ACPI indeed, but not sure about other platforms. Perhaps _enable(),
>>> > _get_sync() would be more general?
>>>
>>> What I ended up doing in e.g. the smiapp driver was to explicitly
>>> power the device on first and then enable runtime PM. (See
>>> drivers/media/i2c/smiapp/smiapp-core.c .) This approach works even if
>>> CONFIG_PM is disabled, both on DT and ACPI.
>>
>>pm_runtime_get_noresume() + pm_runtime_put() can be replaced by a single
>>pm_runtime_idle() call (where pm_runtime_put() was). pm_runtime_enable()
>>is required to enable runtime PM for a device.
>
> Verified the change suggested by Sakari.
> Let me know I can send a updated patch version with this change.

Okay, looks like Sakari confirmed that the driver should work fine
without callbacks, so please go ahead. Thanks for patience.

Best regards,
Tomasz

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ