[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFp+6iG8WdWHXVCANx77OiTXLeZ-4qE4jySWqPLhfR1KOEP4fw@mail.gmail.com>
Date: Wed, 3 Apr 2013 11:48:39 +0530
From: Vivek Gautam <gautamvivek1987@...il.com>
To: Kishon Vijay Abraham I <kishon@...com>
Cc: Vivek Gautam <gautam.vivek@...sung.com>, balbi@...com,
linux-usb@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
linux-omap@...r.kernel.org, linux-kernel@...r.kernel.org,
gregkh@...uxfoundation.org, stern@...land.harvard.edu,
sarah.a.sharp@...ux.intel.com, rob.herring@...xeda.com,
kgene.kim@...sung.com, dianders@...omium.org, t.figa@...sung.com,
p.paneri@...sung.com
Subject: Re: [PATCH v3 01/11] usb: phy: Add APIs for runtime power management
Hi Kishon,
On Wed, Apr 3, 2013 at 10:38 AM, Kishon Vijay Abraham I <kishon@...com> wrote:
> Hi,
>
>
> On Monday 01 April 2013 07:24 PM, Vivek Gautam wrote:
>>
>> Adding APIs to handle runtime power management on PHY
>> devices. PHY consumers may need to wake-up/suspend PHYs
>> when they work across autosuspend.
>>
>> Signed-off-by: Vivek Gautam <gautam.vivek@...sung.com>
>> ---
>> include/linux/usb/phy.h | 141
>> +++++++++++++++++++++++++++++++++++++++++++++++
>> 1 files changed, 141 insertions(+), 0 deletions(-)
>>
>> diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h
>> index 6b5978f..01bf9c1 100644
>> --- a/include/linux/usb/phy.h
>> +++ b/include/linux/usb/phy.h
>> @@ -297,4 +297,145 @@ static inline const char *usb_phy_type_string(enum
>> usb_phy_type type)
>> return "UNKNOWN PHY TYPE";
>> }
>> }
>> +
>> +static inline void usb_phy_autopm_enable(struct usb_phy *x)
>> +{
>> + if (!x || !x->dev) {
>> + dev_err(x->dev, "no PHY or attached device available\n");
>> + return;
>> + }
>> +
>> + pm_runtime_enable(x->dev);
>> +}
>
>
> IMO we need not have wrapper APIs for runtime_enable and runtime_disable
> here. Generally runtime_enable and runtime_disable is done in probe and
> remove of a driver respectively. So it's better to leave the
> runtime_enable/runtime_disable to be done in *phy provider* driver than
> having an API for it to be done by *phy user* driver. Felipe, what do you
> think?
Thanks!!
That's very true, runtime_enable() and runtime_disable() calls are made by
*phy_provider* only. But a querry here.
Wouldn't in any case a PHY consumer might want to disable runtime_pm on PHY ?
Say, when consumer failed to suspend the PHY properly
(*put_sync(phy->dev)* fails), how much sure is the consumer about the
state of PHY ?
--
Thanks & Regards
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists