Message ID | 1362230590-20960-2-git-send-email-gautam.vivek@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, On Sat, Mar 02, 2013 at 06:53:02PM +0530, 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@samsung.com> > --- > include/linux/usb/phy.h | 26 ++++++++++++++++++++++++++ > 1 files changed, 26 insertions(+), 0 deletions(-) > > diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h > index 15847cb..0fe7cac 100644 > --- a/include/linux/usb/phy.h > +++ b/include/linux/usb/phy.h > @@ -276,4 +276,30 @@ static inline const char *usb_phy_type_string(enum usb_phy_type type) > return "UNKNOWN PHY TYPE"; > } > } > + > +#define USB_PHY_AUTOPM(function) \ > +static inline int usb_phy_autopm_##function(struct usb_phy *x) \ > +{ \ > + if (!x || !x->dev) { \ > + dev_err(x->dev, "no PHY or attached device available\n"); \ > + return -ENODEV; \ > + } \ > + \ > + pm_runtime_##function(x->dev); \ please make the definitions explicit (not using a macro) and use: return pm_runtime_foo(); where applicable. We don't want to return 0 if pm_runtime_get_sync() fails.
diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h index 15847cb..0fe7cac 100644 --- a/include/linux/usb/phy.h +++ b/include/linux/usb/phy.h @@ -276,4 +276,30 @@ static inline const char *usb_phy_type_string(enum usb_phy_type type) return "UNKNOWN PHY TYPE"; } } + +#define USB_PHY_AUTOPM(function) \ +static inline int usb_phy_autopm_##function(struct usb_phy *x) \ +{ \ + if (!x || !x->dev) { \ + dev_err(x->dev, "no PHY or attached device available\n"); \ + return -ENODEV; \ + } \ + \ + pm_runtime_##function(x->dev); \ + \ + return 0; \ +} +USB_PHY_AUTOPM(enable) +USB_PHY_AUTOPM(disable) +USB_PHY_AUTOPM(get) +USB_PHY_AUTOPM(get_sync) +USB_PHY_AUTOPM(put) +USB_PHY_AUTOPM(put_sync) +USB_PHY_AUTOPM(allow) +USB_PHY_AUTOPM(forbid) +USB_PHY_AUTOPM(suspend) +USB_PHY_AUTOPM(autosuspend) +USB_PHY_AUTOPM(resume) +USB_PHY_AUTOPM(set_active) + #endif /* __LINUX_USB_PHY_H */
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@samsung.com> --- include/linux/usb/phy.h | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-)