[kernel] r15750 - in dists/trunk/linux-2.6/debian: . patches/bugfix/all patches/series

Maximilian Attems maks at alioth.debian.org
Tue May 18 17:42:48 UTC 2010


Author: maks
Date: Tue May 18 17:42:44 2010
New Revision: 15750

Log:
add missing usb autosuspend patch

Reported-by: Martin Michlmayr <tbm at cyrius.com>

Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/all/linux-2.6-driver-level-usb-autosuspend.diff
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/series/base

Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	Tue May 18 17:33:25 2010	(r15749)
+++ dists/trunk/linux-2.6/debian/changelog	Tue May 18 17:42:44 2010	(r15750)
@@ -18,6 +18,7 @@
     USB_SERIAL_VIVOPAY_SERIAL, MMC_RICOH_MMC, LEDS_DELL_NETBOOKS, LOGFS.
   * [x86] Enable EEEPC_WMI.
   * Fix backlight support on some recent Thinkpads.
+  * usb: Allow drivers to enable USB autosuspend on a per-device basis.
   * Enable autosuspend on UVC by default.
   * acpi: Fall back to manually changing SCI_EN.
   * Explicitly pass in whether sb is pinned or not.

Added: dists/trunk/linux-2.6/debian/patches/bugfix/all/linux-2.6-driver-level-usb-autosuspend.diff
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/all/linux-2.6-driver-level-usb-autosuspend.diff	Tue May 18 17:42:44 2010	(r15750)
@@ -0,0 +1,69 @@
+commit 7d0d20a25c6f477fb198b85510c78156d7d7c5af
+Author: Matthew Garrett <mjg at redhat.com>
+Date:   Tue Jun 9 20:11:47 2009 +0100
+
+    usb: Allow drivers to enable USB autosuspend on a per-device basis
+    
+    USB autosuspend is currently only enabled by default for hubs. On other
+    hardware the decision is made by userspace. This is unnecessary in cases
+    where we know that the hardware supports autosuspend, so this patch adds
+    a function to allow drivers to enable it at probe time.
+    
+    Signed-off-by: Matthew Garrett <mjg at redhat.com>
+
+---
+ drivers/usb/core/driver.c |   16 ++++++++++++++++
+ include/linux/usb.h       |    4 ++++
+ 2 files changed, 20 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
+index 60a45f1..03e0228 100644
+--- a/drivers/usb/core/driver.c
++++ b/drivers/usb/core/driver.c
+@@ -1648,6 +1648,21 @@ void usb_autopm_put_interface_async(struct usb_interface *intf)
+ EXPORT_SYMBOL_GPL(usb_autopm_put_interface_async);
+ 
+ /**
++ * usb_device_autosuspend_enable - enable autosuspend on a device
++ * @udev: the usb_device to be autosuspended
++ *
++ * This routine should be called by an interface driver when it knows that
++ * the device in question supports USB autosuspend.
++ *
++ */
++void usb_device_autosuspend_enable(struct usb_device *udev)
++{
++	udev->autosuspend_disabled = 0;
++	usb_external_suspend_device(udev, PMSG_USER_SUSPEND);
++}
++EXPORT_SYMBOL_GPL(usb_device_autosuspend_enable);
++
++/**
+  * usb_autopm_get_interface - increment a USB interface's PM-usage counter
+  * @intf: the usb_interface whose counter should be incremented
+  *
+diff --git a/include/linux/usb.h b/include/linux/usb.h
+index e101a2d..dd47590 100644
+--- a/include/linux/usb.h
++++ b/include/linux/usb.h
+@@ -540,6 +540,7 @@ extern struct usb_device *usb_find_device(u16 vendor_id, u16 product_id);
+ 
+ /* USB autosuspend and autoresume */
+ #ifdef CONFIG_USB_SUSPEND
++extern void usb_device_autosuspend_enable(struct usb_device *udev);
+ extern int usb_autopm_get_interface(struct usb_interface *intf);
+ extern void usb_autopm_put_interface(struct usb_interface *intf);
+ extern int usb_autopm_get_interface_async(struct usb_interface *intf);
+@@ -563,6 +564,9 @@ static inline void usb_mark_last_busy(struct usb_device *udev)
+ 
+ #else
+ 
++static inline void usb_device_autosuspend_enable(struct usb_device *udev)
++{ }
++
+ static inline int usb_autopm_get_interface(struct usb_interface *intf)
+ { return 0; }
+ static inline int usb_autopm_get_interface_async(struct usb_interface *intf)
+-- 
+1.6.5.2
+

Modified: dists/trunk/linux-2.6/debian/patches/series/base
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/base	Tue May 18 17:33:25 2010	(r15749)
+++ dists/trunk/linux-2.6/debian/patches/series/base	Tue May 18 17:42:44 2010	(r15750)
@@ -68,6 +68,7 @@
 + bugfix/x86/sis-agp-Remove-SIS-760-handled-by-amd64-agp.patch
 + bugfix/x86/amd64-agp-Probe-unknown-AGP-devices-the-right-way.patch
 + bugfix/all/thinkpad-acpi-fix-backlight.patch
-#+ bugfix/all/linux-2.6-usb-uvc-autosuspend.diff
++ bugfix/all/linux-2.6-driver-level-usb-autosuspend.diff
++ bugfix/all/linux-2.6-usb-uvc-autosuspend.diff
 + bugfix/all/linux-2.6-acpi-sleep-live-sci-live.patch
 + bugfix/all/fs-explicitly-pass-in-whether-sb-is-pinned-or-not.patch



More information about the Kernel-svn-changes mailing list