[PATCH] USB: hcd suspend uses pm_message_t
This patch includes minor "sparse -Wbitwise" updates for the PCI based HCDs. Almost all of them involve just changing the second parameter of the suspend() method to a pm_message_t ... the others relate to how the EHCI code walks in-memory data structures. (There's a minor bug fixed there too ... affecting the big-endian sysfs async schedule dump.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Index: gregkh-2.6/drivers/usb/core/hcd.h ===================================================================
This commit is contained in:
Родитель
27d72e8572
Коммит
9a5d3e98dd
|
@ -177,7 +177,7 @@ struct hc_driver {
|
|||
* a whole, not just the root hub; they're for bus glue.
|
||||
*/
|
||||
/* called after all devices were suspended */
|
||||
int (*suspend) (struct usb_hcd *hcd, u32 state);
|
||||
int (*suspend) (struct usb_hcd *hcd, pm_message_t message);
|
||||
|
||||
/* called before any devices get resumed */
|
||||
int (*resume) (struct usb_hcd *hcd);
|
||||
|
@ -226,7 +226,7 @@ extern int usb_hcd_pci_probe (struct pci_dev *dev,
|
|||
extern void usb_hcd_pci_remove (struct pci_dev *dev);
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
extern int usb_hcd_pci_suspend (struct pci_dev *dev, u32 state);
|
||||
extern int usb_hcd_pci_suspend (struct pci_dev *dev, pm_message_t state);
|
||||
extern int usb_hcd_pci_resume (struct pci_dev *dev);
|
||||
#endif /* CONFIG_PM */
|
||||
|
||||
|
|
|
@ -394,7 +394,7 @@ static void qh_lines (
|
|||
mark = ' ';
|
||||
if (hw_curr == td->qtd_dma)
|
||||
mark = '*';
|
||||
else if (qh->hw_qtd_next == td->qtd_dma)
|
||||
else if (qh->hw_qtd_next == cpu_to_le32(td->qtd_dma))
|
||||
mark = '+';
|
||||
else if (QTD_LENGTH (scratch)) {
|
||||
if (td->hw_alt_next == ehci->async->hw_alt_next)
|
||||
|
|
|
@ -721,7 +721,7 @@ static int ehci_get_frame (struct usb_hcd *hcd)
|
|||
* the right sort of wakeup.
|
||||
*/
|
||||
|
||||
static int ehci_suspend (struct usb_hcd *hcd, u32 state)
|
||||
static int ehci_suspend (struct usb_hcd *hcd, pm_message_t message)
|
||||
{
|
||||
struct ehci_hcd *ehci = hcd_to_ehci (hcd);
|
||||
|
||||
|
@ -729,7 +729,7 @@ static int ehci_suspend (struct usb_hcd *hcd, u32 state)
|
|||
msleep (100);
|
||||
|
||||
#ifdef CONFIG_USB_SUSPEND
|
||||
(void) usb_suspend_device (hcd->self.root_hub, state);
|
||||
(void) usb_suspend_device (hcd->self.root_hub, message);
|
||||
#else
|
||||
usb_lock_device (hcd->self.root_hub);
|
||||
(void) ehci_hub_suspend (hcd);
|
||||
|
|
|
@ -310,9 +310,9 @@ static int qh_link_periodic (struct ehci_hcd *ehci, struct ehci_qh *qh)
|
|||
|
||||
for (i = qh->start; i < ehci->periodic_size; i += period) {
|
||||
union ehci_shadow *prev = &ehci->pshadow [i];
|
||||
u32 *hw_p = &ehci->periodic [i];
|
||||
__le32 *hw_p = &ehci->periodic [i];
|
||||
union ehci_shadow here = *prev;
|
||||
u32 type = 0;
|
||||
__le32 type = 0;
|
||||
|
||||
/* skip the iso nodes at list head */
|
||||
while (here.ptr) {
|
||||
|
|
|
@ -364,7 +364,7 @@ union ehci_shadow {
|
|||
struct ehci_itd *itd; /* Q_TYPE_ITD */
|
||||
struct ehci_sitd *sitd; /* Q_TYPE_SITD */
|
||||
struct ehci_fstn *fstn; /* Q_TYPE_FSTN */
|
||||
u32 *hw_next; /* (all types) */
|
||||
__le32 *hw_next; /* (all types) */
|
||||
void *ptr;
|
||||
};
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ ohci_pci_start (struct usb_hcd *hcd)
|
|||
|
||||
#ifdef CONFIG_PM
|
||||
|
||||
static int ohci_pci_suspend (struct usb_hcd *hcd, u32 state)
|
||||
static int ohci_pci_suspend (struct usb_hcd *hcd, pm_message_t message)
|
||||
{
|
||||
struct ohci_hcd *ohci = hcd_to_ohci (hcd);
|
||||
|
||||
|
@ -111,7 +111,7 @@ static int ohci_pci_suspend (struct usb_hcd *hcd, u32 state)
|
|||
msleep (100);
|
||||
|
||||
#ifdef CONFIG_USB_SUSPEND
|
||||
(void) usb_suspend_device (hcd->self.root_hub, state);
|
||||
(void) usb_suspend_device (hcd->self.root_hub, message);
|
||||
#else
|
||||
usb_lock_device (hcd->self.root_hub);
|
||||
(void) ohci_hub_suspend (hcd);
|
||||
|
|
|
@ -716,7 +716,7 @@ static void uhci_stop(struct usb_hcd *hcd)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int uhci_suspend(struct usb_hcd *hcd, u32 state)
|
||||
static int uhci_suspend(struct usb_hcd *hcd, pm_message_t message)
|
||||
{
|
||||
struct uhci_hcd *uhci = hcd_to_uhci(hcd);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче