aboutsummaryrefslogtreecommitdiffstats
path: root/usb
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-11-12 14:21:48 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2005-11-12 14:21:48 -0800
commitd7e757118b6e041073895e61a043f2bdd42fa3b6 (patch)
treee604318a57d1295b0bbfce7fc562cb1ba524ae30 /usb
parent24b51e05c0d244509adb1c6422ab41c1d5cb34a8 (diff)
downloadpatches-d7e757118b6e041073895e61a043f2bdd42fa3b6.tar.gz
2.6.15-rc1 refresh
Diffstat (limited to 'usb')
-rw-r--r--usb/isp116x-hcd-cleanup.patch67
-rw-r--r--usb/usb-pxa27x-update-01.patch82
-rw-r--r--usb/usb-pxa27x-update-02.patch35
-rw-r--r--usb/usb-wakeup-flag-updates-sl811-hcd.patch11
4 files changed, 80 insertions, 115 deletions
diff --git a/usb/isp116x-hcd-cleanup.patch b/usb/isp116x-hcd-cleanup.patch
index 6a96725c0f4196..97715680fdf349 100644
--- a/usb/isp116x-hcd-cleanup.patch
+++ b/usb/isp116x-hcd-cleanup.patch
@@ -30,15 +30,14 @@ Cleanup. The following changes were made:
Signed-off-by: Olav Kongas <ok@artecdesign.ee>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
----
MAINTAINERS | 6
drivers/usb/host/isp116x-hcd.c | 429 ++++++++++++++++-------------------------
drivers/usb/host/isp116x.h | 83 +++++--
3 files changed, 230 insertions(+), 288 deletions(-)
---- gregkh-2.6.orig/drivers/usb/host/isp116x.h
-+++ gregkh-2.6/drivers/usb/host/isp116x.h
-@@ -259,7 +259,7 @@ struct isp116x {
+--- gregkh-2.6.orig/drivers/usb/host/isp116x.h 2005-11-11 22:48:28.000000000 -0800
++++ gregkh-2.6/drivers/usb/host/isp116x.h 2005-11-12 14:11:57.000000000 -0800
+@@ -259,7 +259,7 @@
struct isp116x_platform_data *board;
@@ -47,7 +46,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
unsigned long stat1, stat2, stat4, stat8, stat16;
/* HC registers */
-@@ -450,7 +450,7 @@ static void isp116x_write_reg32(struct i
+@@ -450,7 +450,7 @@
isp116x_write_data32(isp116x, (u32) val);
}
@@ -56,7 +55,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if ((r) < 0x20) { \
DBG("%-12s[%02x]: %08x\n", #r, \
r, isp116x_read_reg32(d, r)); \
-@@ -459,35 +459,60 @@ static void isp116x_write_reg32(struct i
+@@ -459,35 +459,60 @@
r, isp116x_read_reg16(d, r)); \
} \
}
@@ -144,8 +143,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
#if defined(URB_TRACE)
---- gregkh-2.6.orig/drivers/usb/host/isp116x-hcd.c
-+++ gregkh-2.6/drivers/usb/host/isp116x-hcd.c
+--- gregkh-2.6.orig/drivers/usb/host/isp116x-hcd.c 2005-11-12 14:11:50.000000000 -0800
++++ gregkh-2.6/drivers/usb/host/isp116x-hcd.c 2005-11-12 14:13:02.000000000 -0800
@@ -55,19 +55,13 @@
/* enqueuing/finishing log of urbs */
//#define URB_TRACE
@@ -184,7 +183,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#define DRIVER_DESC "ISP116x USB Host Controller Driver"
MODULE_DESCRIPTION(DRIVER_DESC);
-@@ -305,9 +295,8 @@ static void postproc_atl_queue(struct is
+@@ -305,9 +295,8 @@
udev = urb->dev;
ptd = &ep->ptd;
cc = PTD_GET_CC(ptd);
@@ -195,7 +194,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* Data underrun is special. For allowed underrun
we clear the error and continue as normal. For
-@@ -420,7 +409,7 @@ static void postproc_atl_queue(struct is
+@@ -420,7 +409,7 @@
ep->nextpid = 0;
break;
default:
@@ -204,7 +203,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
spin_unlock(&urb->lock);
}
-@@ -628,8 +617,12 @@ static irqreturn_t isp116x_irq(struct us
+@@ -628,8 +617,12 @@
u32 intstat = isp116x_read_reg32(isp116x, HCINTSTAT);
isp116x_write_reg32(isp116x, HCINTSTAT, intstat);
if (intstat & HCINT_UE) {
@@ -219,7 +218,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
if (intstat & HCINT_RHSC)
/* When root hub or any of its ports is going
-@@ -640,7 +633,6 @@ static irqreturn_t isp116x_irq(struct us
+@@ -640,7 +633,6 @@
if (intstat & HCINT_RD) {
DBG("---- remote wakeup\n");
usb_hcd_resume_root_hub(hcd);
@@ -227,7 +226,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
irqstat &= ~HCuPINT_OPR;
ret = IRQ_HANDLED;
-@@ -651,6 +643,7 @@ static irqreturn_t isp116x_irq(struct us
+@@ -651,6 +643,7 @@
}
isp116x_write_reg16(isp116x, HCuPINTENB, isp116x->irqenb);
@@ -235,7 +234,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
spin_unlock(&isp116x->lock);
return ret;
}
-@@ -724,6 +717,7 @@ static int isp116x_urb_enqueue(struct us
+@@ -724,6 +717,7 @@
spin_lock_irqsave(&isp116x->lock, flags);
if (!HC_IS_RUNNING(hcd->state)) {
@@ -243,7 +242,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
ret = -ENODEV;
goto fail;
}
-@@ -888,7 +882,7 @@ static void isp116x_endpoint_disable(str
+@@ -888,7 +882,7 @@
struct usb_host_endpoint *hep)
{
int i;
@@ -252,7 +251,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (!ep)
return;
-@@ -916,8 +910,6 @@ static int isp116x_get_frame(struct usb_
+@@ -916,8 +910,6 @@
return (int)fmnum;
}
@@ -261,7 +260,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/*
Adapted from ohci-hub.c. Currently we don't support autosuspend.
*/
-@@ -968,11 +960,10 @@ static void isp116x_hub_descriptor(struc
+@@ -968,11 +960,10 @@
desc->bHubContrCurrent = 0;
desc->bNbrPorts = (u8) (reg & 0x3);
/* Power switching, device type, overcurrent. */
@@ -275,7 +274,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
desc->bitmap[1] = ~0;
}
-@@ -1159,145 +1150,9 @@ static int isp116x_hub_control(struct us
+@@ -1159,145 +1150,9 @@
return ret;
}
@@ -422,7 +421,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static void dump_irq(struct seq_file *s, char *label, u16 mask)
{
-@@ -1321,13 +1176,9 @@ static void dump_int(struct seq_file *s,
+@@ -1321,13 +1176,9 @@
mask & HCINT_SF ? " sof" : "", mask & HCINT_SO ? " so" : "");
}
@@ -437,7 +436,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
seq_printf(s, "%s\n%s version %s\n",
isp116x_to_hcd(isp116x)->product_desc, hcd_name,
-@@ -1343,105 +1194,50 @@ static int proc_isp116x_show(struct seq_
+@@ -1343,105 +1194,50 @@
}
spin_lock_irq(&isp116x->lock);
@@ -562,7 +561,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/*-----------------------------------------------------------------*/
-@@ -1476,7 +1272,7 @@ static int isp116x_reset(struct usb_hcd
+@@ -1476,7 +1272,7 @@
struct isp116x *isp116x = hcd_to_isp116x(hcd);
unsigned long t;
u16 clkrdy = 0;
@@ -571,7 +570,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
ret = isp116x_sw_reset(isp116x);
if (ret)
-@@ -1492,7 +1288,7 @@ static int isp116x_reset(struct usb_hcd
+@@ -1492,7 +1288,7 @@
break;
}
if (!clkrdy) {
@@ -580,7 +579,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/* After sw_reset the clock won't report to be ready, if
H_WAKEUP pin is high. */
ERR("Please make sure that the H_WAKEUP pin is pulled low!\n");
-@@ -1610,12 +1406,128 @@ static int isp116x_start(struct usb_hcd
+@@ -1610,12 +1406,128 @@
isp116x_write_reg32(isp116x, HCRHPORT1, RH_PS_CCS);
isp116x_write_reg32(isp116x, HCRHPORT2, RH_PS_CCS);
@@ -711,7 +710,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static struct hc_driver isp116x_hc_driver = {
.description = hcd_name,
-@@ -1749,12 +1661,19 @@ static int __init isp116x_probe(struct d
+@@ -1745,12 +1657,19 @@
}
ret = usb_add_hcd(hcd, irq, SA_INTERRUPT);
@@ -733,41 +732,41 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
err6:
usb_put_hcd(hcd);
err5:
-@@ -1776,13 +1695,9 @@ static int __init isp116x_probe(struct d
+@@ -1772,13 +1691,9 @@
*/
- static int isp116x_suspend(struct device *dev, pm_message_t state)
+ static int isp116x_suspend(struct platform_device *dev, pm_message_t state)
{
- int ret = 0;
-
- VDBG("%s: state %x\n", __func__, state);
-
+ VDBG("%s: state %x\n", __func__, state.event);
- dev->power.power_state = state;
+ dev->dev.power.power_state = state;
-
- return ret;
+ return 0;
}
/*
-@@ -1790,13 +1705,9 @@ static int isp116x_suspend(struct device
+@@ -1786,13 +1701,9 @@
*/
- static int isp116x_resume(struct device *dev)
+ static int isp116x_resume(struct platform_device *dev)
{
- int ret = 0;
-
-- VDBG("%s: state %x\n", __func__, dev->power.power_state);
+- VDBG("%s: state %x\n", __func__, dev->dev.power.power_state);
-
+ VDBG("%s: state %x\n", __func__, dev->power.power_state.event);
- dev->power.power_state = PMSG_ON;
+ dev->dev.power.power_state = PMSG_ON;
-
- return ret;
+ return 0;
}
#else
---- gregkh-2.6.orig/MAINTAINERS
-+++ gregkh-2.6/MAINTAINERS
-@@ -2595,6 +2595,12 @@ L: linux-usb-users@lists.sourceforge.net
+--- gregkh-2.6.orig/MAINTAINERS 2005-11-12 14:07:27.000000000 -0800
++++ gregkh-2.6/MAINTAINERS 2005-11-12 14:11:57.000000000 -0800
+@@ -2594,6 +2594,12 @@
L: linux-usb-devel@lists.sourceforge.net
S: Maintained
diff --git a/usb/usb-pxa27x-update-01.patch b/usb/usb-pxa27x-update-01.patch
index 7ba48cc8a705e9..a6e4a6c38443e2 100644
--- a/usb/usb-pxa27x-update-01.patch
+++ b/usb/usb-pxa27x-update-01.patch
@@ -20,15 +20,14 @@ Signed-off-by: Nicolas Pitre <nico@cam.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- arch/arm/mach-pxa/mainstone.c | 21 +++++++++
- arch/arm/mach-pxa/pxa27x.c | 6 ++
- drivers/usb/host/ohci-pxa27x.c | 86 ++++++++++++++++++++--------------------
- include/asm-arm/arch-pxa/ohci.h | 18 ++++++++
- 4 files changed, 88 insertions(+), 43 deletions(-)
+ arch/arm/mach-pxa/mainstone.c | 21 ++++++++++
+ arch/arm/mach-pxa/pxa27x.c | 6 +++
+ drivers/usb/host/ohci-pxa27x.c | 77 +++++++++++++++++++++-------------------
+ include/asm-arm/arch-pxa/ohci.h | 18 +++++++++
+ 4 files changed, 86 insertions(+), 36 deletions(-)
----
---- gregkh-2.6.orig/drivers/usb/host/ohci-pxa27x.c
-+++ gregkh-2.6/drivers/usb/host/ohci-pxa27x.c
+--- gregkh-2.6.orig/drivers/usb/host/ohci-pxa27x.c 2005-11-11 22:48:28.000000000 -0800
++++ gregkh-2.6/drivers/usb/host/ohci-pxa27x.c 2005-11-12 14:08:00.000000000 -0800
@@ -26,18 +26,12 @@
#include <asm/mach-types.h>
#include <asm/hardware.h>
@@ -49,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/*
PMM_NPS_MODE -- PMM Non-power switching mode
Ports are powered continuously.
-@@ -50,8 +44,6 @@ static int pxa27x_ohci_pmm_state;
+@@ -50,8 +44,6 @@
*/
static int pxa27x_ohci_select_pmm( int mode )
{
@@ -58,7 +57,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
switch ( mode ) {
case PMM_NPS_MODE:
UHCRHDA |= RH_A_NPS;
-@@ -71,7 +63,6 @@ static int pxa27x_ohci_select_pmm( int m
+@@ -71,7 +63,6 @@
"Invalid mode %d, set to non-power switch mode.\n",
mode );
@@ -66,7 +65,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
UHCRHDA |= RH_A_NPS;
}
-@@ -82,8 +73,13 @@ extern int usb_disabled(void);
+@@ -82,8 +73,13 @@
/*-------------------------------------------------------------------------*/
@@ -81,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
pxa_set_cken(CKEN10_USBHOST, 1);
UHCHR |= UHCHR_FHR;
-@@ -94,21 +90,11 @@ static void pxa27x_start_hc(struct platf
+@@ -94,21 +90,11 @@
while (UHCHR & UHCHR_FSBIR)
cpu_relax();
@@ -107,7 +106,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
UHCHR &= ~UHCHR_SSE;
-@@ -117,10 +103,19 @@ static void pxa27x_start_hc(struct platf
+@@ -117,10 +103,19 @@
/* Clear any OTG Pin Hold */
if (PSSR & PSSR_OTGPH)
PSSR |= PSSR_OTGPH;
@@ -128,7 +127,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
UHCHR |= UHCHR_FHR;
udelay(11);
UHCHR &= ~UHCHR_FHR;
-@@ -147,22 +142,28 @@ static void pxa27x_stop_hc(struct platfo
+@@ -147,22 +142,28 @@
* through the hotplug entry's driver_data.
*
*/
@@ -140,13 +139,13 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct usb_hcd *hcd;
+ struct pxaohci_platform_data *inf;
+ struct platform_device *pdev = to_platform_device(dev);
-+
+
+- if (dev->resource[1].flags != IORESOURCE_IRQ) {
+ inf = dev->platform_data;
+
+ if (!inf)
+ return -ENODEV;
-
-- if (dev->resource[1].flags != IORESOURCE_IRQ) {
++
+ if (pdev->resource[1].flags != IORESOURCE_IRQ) {
pr_debug ("resource[1] is not IORESOURCE_IRQ");
return -ENOMEM;
@@ -163,7 +162,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) {
pr_debug("request_mem_region failed");
-@@ -177,18 +178,22 @@ int usb_hcd_pxa27x_probe (const struct h
+@@ -177,18 +178,22 @@
goto err2;
}
@@ -189,7 +188,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
iounmap(hcd->regs);
err2:
release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
-@@ -211,7 +216,7 @@ int usb_hcd_pxa27x_probe (const struct h
+@@ -211,7 +216,7 @@
* context, normally "rmmod", "apmd", or something similar.
*
*/
@@ -198,35 +197,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
{
usb_remove_hcd(hcd);
pxa27x_stop_hc(dev);
-@@ -292,24 +297,19 @@ static const struct hc_driver ohci_pxa27
-
- static int ohci_hcd_pxa27x_drv_probe(struct device *dev)
- {
-- struct platform_device *pdev = to_platform_device(dev);
-- int ret;
--
- pr_debug ("In ohci_hcd_pxa27x_drv_probe");
-
- if (usb_disabled())
- return -ENODEV;
-
-- ret = usb_hcd_pxa27x_probe(&ohci_pxa27x_hc_driver, pdev);
-- return ret;
-+ return usb_hcd_pxa27x_probe(&ohci_pxa27x_hc_driver, dev);
- }
-
- static int ohci_hcd_pxa27x_drv_remove(struct device *dev)
- {
-- struct platform_device *pdev = to_platform_device(dev);
- struct usb_hcd *hcd = dev_get_drvdata(dev);
-
-- usb_hcd_pxa27x_remove(hcd, pdev);
-+ usb_hcd_pxa27x_remove(hcd, dev);
- return 0;
- }
-
---- gregkh-2.6.orig/arch/arm/mach-pxa/pxa27x.c
-+++ gregkh-2.6/arch/arm/mach-pxa/pxa27x.c
+--- gregkh-2.6.orig/arch/arm/mach-pxa/pxa27x.c 2005-11-11 22:48:03.000000000 -0800
++++ gregkh-2.6/arch/arm/mach-pxa/pxa27x.c 2005-11-12 14:08:00.000000000 -0800
@@ -21,6 +21,7 @@
#include <asm/hardware.h>
#include <asm/irq.h>
@@ -235,7 +207,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#include "generic.h"
-@@ -194,6 +195,11 @@ static struct platform_device ohci_devic
+@@ -194,6 +195,11 @@
.resource = pxa27x_ohci_resources,
};
@@ -247,8 +219,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static struct platform_device *devices[] __initdata = {
&ohci_device,
};
---- /dev/null
-+++ gregkh-2.6/include/asm-arm/arch-pxa/ohci.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gregkh-2.6/include/asm-arm/arch-pxa/ohci.h 2005-11-12 14:08:00.000000000 -0800
@@ -0,0 +1,18 @@
+#ifndef ASMARM_ARCH_OHCI_H
+#define ASMARM_ARCH_OHCI_H
@@ -268,8 +240,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+extern void pxa_set_ohci_info(struct pxaohci_platform_data *info);
+
+#endif
---- gregkh-2.6.orig/arch/arm/mach-pxa/mainstone.c
-+++ gregkh-2.6/arch/arm/mach-pxa/mainstone.c
+--- gregkh-2.6.orig/arch/arm/mach-pxa/mainstone.c 2005-11-11 22:48:03.000000000 -0800
++++ gregkh-2.6/arch/arm/mach-pxa/mainstone.c 2005-11-12 14:08:00.000000000 -0800
@@ -43,6 +43,7 @@
#include <asm/arch/pxafb.h>
#include <asm/arch/mmc.h>
@@ -278,7 +250,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
#include "generic.h"
-@@ -393,6 +394,25 @@ static struct platform_device *platform_
+@@ -393,6 +394,25 @@
&mst_flash_device[1],
};
@@ -304,7 +276,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
static void __init mainstone_init(void)
{
int SW7 = 0; /* FIXME: get from SCR (Mst doc section 3.2.1.1) */
-@@ -424,6 +444,7 @@ static void __init mainstone_init(void)
+@@ -424,6 +444,7 @@
pxa_set_mci_info(&mainstone_mci_platform_data);
pxa_set_ficp_info(&mainstone_ficp_platform_data);
diff --git a/usb/usb-pxa27x-update-02.patch b/usb/usb-pxa27x-update-02.patch
index 1c3e0b3342a4c2..ed7313b01f334e 100644
--- a/usb/usb-pxa27x-update-02.patch
+++ b/usb/usb-pxa27x-update-02.patch
@@ -12,20 +12,19 @@ Todd Poynor which accounts for recent USB changes.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- drivers/usb/host/ohci-pxa27x.c | 31 +++++++++++++++++++++++++------
- 1 file changed, 25 insertions(+), 6 deletions(-)
+ drivers/usb/host/ohci-pxa27x.c | 28 ++++++++++++++++++++++++----
+ 1 file changed, 24 insertions(+), 4 deletions(-)
---- gregkh-2.6.orig/drivers/usb/host/ohci-pxa27x.c 2005-11-02 12:03:03.000000000 -0800
-+++ gregkh-2.6/drivers/usb/host/ohci-pxa27x.c 2005-11-02 12:03:04.000000000 -0800
-@@ -313,23 +313,40 @@
+--- gregkh-2.6.orig/drivers/usb/host/ohci-pxa27x.c 2005-11-12 14:09:13.000000000 -0800
++++ gregkh-2.6/drivers/usb/host/ohci-pxa27x.c 2005-11-12 14:11:24.000000000 -0800
+@@ -316,28 +316,48 @@
return 0;
}
+#ifdef CONFIG_PM
- static int ohci_hcd_pxa27x_drv_suspend(struct device *dev, pm_message_t state)
+ static int ohci_hcd_pxa27x_drv_suspend(struct platform_device *dev, pm_message_t state)
{
--// struct platform_device *pdev = to_platform_device(dev);
--// struct usb_hcd *hcd = dev_get_drvdata(dev);
+-// struct usb_hcd *hcd = platform_get_drvdata(dev);
- printk("%s: not implemented yet\n", __FUNCTION__);
+ struct ohci_hcd *ohci = hcd_to_ohci(dev_get_drvdata(dev));
+
@@ -40,10 +39,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
return 0;
}
- static int ohci_hcd_pxa27x_drv_resume(struct device *dev)
+ static int ohci_hcd_pxa27x_drv_resume(struct platform_device *dev)
{
--// struct platform_device *pdev = to_platform_device(dev);
--// struct usb_hcd *hcd = dev_get_drvdata(dev);
+-// struct usb_hcd *hcd = platform_get_drvdata(dev);
- printk("%s: not implemented yet\n", __FUNCTION__);
+ struct ohci_hcd *ohci = hcd_to_ohci(dev_get_drvdata(dev));
+ int status;
@@ -54,24 +52,21 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+ if ((status = pxa27x_start_hc(dev)) < 0)
+ return status;
-+
+
+ dev->power.power_state = PMSG_ON;
+ usb_hcd_resume_root_hub(dev_get_drvdata(dev));
-
return 0;
}
+#endif
- static struct device_driver ohci_hcd_pxa27x_driver = {
-@@ -337,8 +354,10 @@
- .bus = &platform_bus_type,
+ static struct platform_driver ohci_hcd_pxa27x_driver = {
.probe = ohci_hcd_pxa27x_drv_probe,
.remove = ohci_hcd_pxa27x_drv_remove,
+#ifdef CONFIG_PM
.suspend = ohci_hcd_pxa27x_drv_suspend,
- .resume = ohci_hcd_pxa27x_drv_resume,
+ .resume = ohci_hcd_pxa27x_drv_resume,
+#endif
- };
-
- static int __init ohci_hcd_pxa27x_init (void)
+ .driver = {
+ .name = "pxa27x-ohci",
+ },
diff --git a/usb/usb-wakeup-flag-updates-sl811-hcd.patch b/usb/usb-wakeup-flag-updates-sl811-hcd.patch
index b229f106ab7dbc..15147389a83252 100644
--- a/usb/usb-wakeup-flag-updates-sl811-hcd.patch
+++ b/usb/usb-wakeup-flag-updates-sl811-hcd.patch
@@ -12,13 +12,12 @@ controller, not the flags in the HCD glue (which will be removed).
From: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
----
drivers/usb/host/sl811-hcd.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
---- gregkh-2.6.orig/drivers/usb/host/sl811-hcd.c
-+++ gregkh-2.6/drivers/usb/host/sl811-hcd.c
-@@ -1581,7 +1581,9 @@ sl811h_start(struct usb_hcd *hcd)
+--- gregkh-2.6.orig/drivers/usb/host/sl811-hcd.c 2005-11-11 22:48:28.000000000 -0800
++++ gregkh-2.6/drivers/usb/host/sl811-hcd.c 2005-11-12 14:14:27.000000000 -0800
+@@ -1581,7 +1581,9 @@
hcd->state = HC_STATE_RUNNING;
if (sl811->board) {
@@ -29,10 +28,10 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
hcd->power_budget = sl811->board->power * 2;
}
-@@ -1810,7 +1812,7 @@ sl811h_resume(struct device *dev)
+@@ -1805,7 +1807,7 @@
* let's assume it'd only be powered to enable remote wakeup.
*/
- if (dev->power.power_state.event == PM_EVENT_SUSPEND
+ if (dev->dev.power.power_state.event == PM_EVENT_SUSPEND
- || !hcd->can_wakeup) {
+ || !device_can_wakeup(&hcd->self.root_hub->dev)) {
sl811->port1 = 0;