Commit 9a5d3e98 authored by David Brownell's avatar David Brownell Committed by Greg K-H
Browse files

[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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>


Index: gregkh-2.6/drivers/usb/core/hcd.h
===================================================================
parent 27d72e85
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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 */

+1 −1
Original line number Diff line number Diff line
@@ -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)
+2 −2
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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) {
+1 −1
Original line number Diff line number Diff line
@@ -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;
};

Loading