USB: Fix core compile with CONFIG_USB_SUSPEND=n
When CONFIG_PM=n, make sure that the usb_[unlocked_][en/dis]able_lpm declarations are visible in include/linux/usb.h, and exported from drivers/usb/core/hub.c. Before this patch, if CONFIG_USB_SUSPEND was turned off, it would cause build errors: drivers/usb/core/hub.c: In function 'usb_disable_lpm': drivers/usb/core/hub.c:3394:2: error: implicit declaration of function 'usb_enable_lpm' [-Werror=implicit-function-declaration] drivers/usb/core/hub.c: At top level: drivers/usb/core/hub.c:3424:6: warning: conflicting types for 'usb_enable_lpm' [enabled by default] drivers/usb/core/hub.c:3394:2: note: previous implicit declaration of 'usb_enable_lpm' was here drivers/usb/core/driver.c: In function 'usb_probe_interface': drivers/usb/core/driver.c:339:2: error: implicit declaration of function 'usb_unlocked_disable_lpm' [-Werror=implicit-function-declaration] drivers/usb/core/driver.c:364:3: error: implicit declaration of function 'usb_unlocked_enable_lpm' [-Werror=implicit-function-declaration] drivers/usb/core/message.c: In function 'usb_set_interface': drivers/usb/core/message.c:1314:2: error: implicit declaration of function 'usb_disable_lpm' [-Werror=implicit-function-declaration] drivers/usb/core/message.c:1323:3: error: implicit declaration of function 'usb_enable_lpm' [-Werror=implicit-function-declaration] drivers/usb/core/message.c:1368:2: error: implicit declaration of function 'usb_unlocked_enable_lpm' [-Werror=implicit-function-declaration] Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Reported-by: Chen Peter-B29397 <B29397@freescale.com>
This commit is contained in:
parent
c51fa66802
commit
e9261fb62a
|
@ -3472,15 +3472,19 @@ int usb_disable_lpm(struct usb_device *udev)
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usb_disable_lpm);
|
||||
|
||||
void usb_enable_lpm(struct usb_device *udev) { }
|
||||
EXPORT_SYMBOL_GPL(usb_enable_lpm);
|
||||
|
||||
int usb_unlocked_disable_lpm(struct usb_device *udev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usb_unlocked_disable_lpm);
|
||||
|
||||
void usb_unlocked_enable_lpm(struct usb_device *udev) { }
|
||||
EXPORT_SYMBOL_GPL(usb_unlocked_enable_lpm);
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -592,12 +592,6 @@ extern void usb_autopm_put_interface_async(struct usb_interface *intf);
|
|||
extern void usb_autopm_get_interface_no_resume(struct usb_interface *intf);
|
||||
extern void usb_autopm_put_interface_no_suspend(struct usb_interface *intf);
|
||||
|
||||
extern int usb_disable_lpm(struct usb_device *udev);
|
||||
extern void usb_enable_lpm(struct usb_device *udev);
|
||||
/* Same as above, but these functions lock/unlock the bandwidth_mutex. */
|
||||
extern int usb_unlocked_disable_lpm(struct usb_device *udev);
|
||||
extern void usb_unlocked_enable_lpm(struct usb_device *udev);
|
||||
|
||||
static inline void usb_mark_last_busy(struct usb_device *udev)
|
||||
{
|
||||
pm_runtime_mark_last_busy(&udev->dev);
|
||||
|
@ -629,6 +623,12 @@ static inline void usb_mark_last_busy(struct usb_device *udev)
|
|||
{ }
|
||||
#endif
|
||||
|
||||
extern int usb_disable_lpm(struct usb_device *udev);
|
||||
extern void usb_enable_lpm(struct usb_device *udev);
|
||||
/* Same as above, but these functions lock/unlock the bandwidth_mutex. */
|
||||
extern int usb_unlocked_disable_lpm(struct usb_device *udev);
|
||||
extern void usb_unlocked_enable_lpm(struct usb_device *udev);
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/* for drivers using iso endpoints */
|
||||
|
|
Loading…
Reference in New Issue