USB: ohci whitespace/comment fixups

This is an OHCI cleanup patch ... it removes a lot of erroneous whitespace
(space before tab, at end of line) as well as the obsolete inline changelog.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
David Brownell
2006-12-05 03:18:31 -08:00
committed by Greg Kroah-Hartman
parent 23d8c90e56
commit dd9048af41
17 changed files with 169 additions and 226 deletions

View File

@@ -221,7 +221,7 @@ static const struct hc_driver ohci_at91_hc_driver = {
*/ */
.start = ohci_at91_start, .start = ohci_at91_start,
.stop = ohci_stop, .stop = ohci_stop,
.shutdown = ohci_shutdown, .shutdown = ohci_shutdown,
/* /*
* managing i/o requests and associated device resources * managing i/o requests and associated device resources

View File

@@ -269,7 +269,7 @@ static const struct hc_driver ohci_au1xxx_hc_driver = {
*/ */
.start = ohci_au1xxx_start, .start = ohci_au1xxx_start,
.stop = ohci_stop, .stop = ohci_stop,
.shutdown = ohci_shutdown, .shutdown = ohci_shutdown,
/* /*
* managing i/o requests and associated device resources * managing i/o requests and associated device resources
@@ -336,7 +336,7 @@ static int ohci_hcd_au1xxx_drv_resume(struct platform_device *dev)
static struct platform_driver ohci_hcd_au1xxx_driver = { static struct platform_driver ohci_hcd_au1xxx_driver = {
.probe = ohci_hcd_au1xxx_drv_probe, .probe = ohci_hcd_au1xxx_drv_probe,
.remove = ohci_hcd_au1xxx_drv_remove, .remove = ohci_hcd_au1xxx_drv_remove,
.shutdown = usb_hcd_platform_shutdown, .shutdown = usb_hcd_platform_shutdown,
/*.suspend = ohci_hcd_au1xxx_drv_suspend, */ /*.suspend = ohci_hcd_au1xxx_drv_suspend, */
/*.resume = ohci_hcd_au1xxx_drv_resume, */ /*.resume = ohci_hcd_au1xxx_drv_resume, */
.driver = { .driver = {

View File

@@ -16,7 +16,7 @@
case PIPE_CONTROL: temp = "ctrl"; break; \ case PIPE_CONTROL: temp = "ctrl"; break; \
case PIPE_BULK: temp = "bulk"; break; \ case PIPE_BULK: temp = "bulk"; break; \
case PIPE_INTERRUPT: temp = "intr"; break; \ case PIPE_INTERRUPT: temp = "intr"; break; \
default: temp = "isoc"; break; \ default: temp = "isoc"; break; \
}; temp;}) }; temp;})
#define pipestring(pipe) edstring(usb_pipetype(pipe)) #define pipestring(pipe) edstring(usb_pipetype(pipe))
@@ -205,13 +205,13 @@ ohci_dump_status (struct ohci_hcd *controller, char **next, unsigned *size)
(temp & RH_PS_PSSC) ? " PSSC" : "", \ (temp & RH_PS_PSSC) ? " PSSC" : "", \
(temp & RH_PS_PESC) ? " PESC" : "", \ (temp & RH_PS_PESC) ? " PESC" : "", \
(temp & RH_PS_CSC) ? " CSC" : "", \ (temp & RH_PS_CSC) ? " CSC" : "", \
\ \
(temp & RH_PS_LSDA) ? " LSDA" : "", \ (temp & RH_PS_LSDA) ? " LSDA" : "", \
(temp & RH_PS_PPS) ? " PPS" : "", \ (temp & RH_PS_PPS) ? " PPS" : "", \
(temp & RH_PS_PRS) ? " PRS" : "", \ (temp & RH_PS_PRS) ? " PRS" : "", \
(temp & RH_PS_POCI) ? " POCI" : "", \ (temp & RH_PS_POCI) ? " POCI" : "", \
(temp & RH_PS_PSS) ? " PSS" : "", \ (temp & RH_PS_PSS) ? " PSS" : "", \
\ \
(temp & RH_PS_PES) ? " PES" : "", \ (temp & RH_PS_PES) ? " PES" : "", \
(temp & RH_PS_CCS) ? " CCS" : "" \ (temp & RH_PS_CCS) ? " CCS" : "" \
); );
@@ -563,7 +563,7 @@ show_periodic (struct class_device *class_dev, char *buf)
(info & ED_SKIP) ? " K" : "", (info & ED_SKIP) ? " K" : "",
(ed->hwHeadP & (ed->hwHeadP &
cpu_to_hc32(ohci, ED_H)) ? cpu_to_hc32(ohci, ED_H)) ?
" H" : ""); " H" : "");
size -= temp; size -= temp;
next += temp; next += temp;

View File

@@ -204,7 +204,7 @@ static int ohci_hcd_ep93xx_drv_resume(struct platform_device *pdev)
static struct platform_driver ohci_hcd_ep93xx_driver = { static struct platform_driver ohci_hcd_ep93xx_driver = {
.probe = ohci_hcd_ep93xx_drv_probe, .probe = ohci_hcd_ep93xx_drv_probe,
.remove = ohci_hcd_ep93xx_drv_remove, .remove = ohci_hcd_ep93xx_drv_remove,
.shutdown = usb_hcd_platform_shutdown, .shutdown = usb_hcd_platform_shutdown,
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = ohci_hcd_ep93xx_drv_suspend, .suspend = ohci_hcd_ep93xx_drv_suspend,
.resume = ohci_hcd_ep93xx_drv_resume, .resume = ohci_hcd_ep93xx_drv_resume,

View File

@@ -15,62 +15,6 @@
* smarter hardware than UHCI. A download link for the spec available * smarter hardware than UHCI. A download link for the spec available
* through the http://www.usb.org website. * through the http://www.usb.org website.
* *
* History:
*
* 2004/03/24 LH7A404 support (Durgesh Pattamatta & Marc Singer)
* 2004/02/04 use generic dma_* functions instead of pci_* (dsaxena@plexity.net)
* 2003/02/24 show registers in sysfs (Kevin Brosius)
*
* 2002/09/03 get rid of ed hashtables, rework periodic scheduling and
* bandwidth accounting; if debugging, show schedules in driverfs
* 2002/07/19 fixes to management of ED and schedule state.
* 2002/06/09 SA-1111 support (Christopher Hoover)
* 2002/06/01 remember frame when HC won't see EDs any more; use that info
* to fix urb unlink races caused by interrupt latency assumptions;
* minor ED field and function naming updates
* 2002/01/18 package as a patch for 2.5.3; this should match the
* 2.4.17 kernel modulo some bugs being fixed.
*
* 2001/10/18 merge pmac cleanup (Benjamin Herrenschmidt) and bugfixes
* from post-2.4.5 patches.
* 2001/09/20 URB_ZERO_PACKET support; hcca_dma portability, OPTi warning
* 2001/09/07 match PCI PM changes, errnos from Linus' tree
* 2001/05/05 fork 2.4.5 version into "hcd" framework, cleanup, simplify;
* pbook pci quirks gone (please fix pbook pci sw!) (db)
*
* 2001/04/08 Identify version on module load (gb)
* 2001/03/24 td/ed hashing to remove bus_to_virt (Steve Longerbeam);
pci_map_single (db)
* 2001/03/21 td and dev/ed allocation uses new pci_pool API (db)
* 2001/03/07 hcca allocation uses pci_alloc_consistent (Steve Longerbeam)
*
* 2000/09/26 fixed races in removing the private portion of the urb
* 2000/09/07 disable bulk and control lists when unlinking the last
* endpoint descriptor in order to avoid unrecoverable errors on
* the Lucent chips. (rwc@sgi)
* 2000/08/29 use bandwidth claiming hooks (thanks Randy!), fix some
* urb unlink probs, indentation fixes
* 2000/08/11 various oops fixes mostly affecting iso and cleanup from
* device unplugs.
* 2000/06/28 use PCI hotplug framework, for better power management
* and for Cardbus support (David Brownell)
* 2000/earlier: fixes for NEC/Lucent chips; suspend/resume handling
* when the controller loses power; handle UE; cleanup; ...
*
* v5.2 1999/12/07 URB 3rd preview,
* v5.1 1999/11/30 URB 2nd preview, cpia, (usb-scsi)
* v5.0 1999/11/22 URB Technical preview, Paul Mackerras powerbook susp/resume
* i386: HUB, Keyboard, Mouse, Printer
*
* v4.3 1999/10/27 multiple HCs, bulk_request
* v4.2 1999/09/05 ISO API alpha, new dev alloc, neg Error-codes
* v4.1 1999/08/27 Randy Dunlap's - ISO API first impl.
* v4.0 1999/08/18
* v3.0 1999/06/25
* v2.1 1999/05/09 code clean up
* v2.0 1999/05/04
* v1.0 1999/04/27 initial release
*
* This file is licenced under the GPL. * This file is licenced under the GPL.
*/ */
@@ -319,7 +263,7 @@ static int ohci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb)
#endif #endif
spin_lock_irqsave (&ohci->lock, flags); spin_lock_irqsave (&ohci->lock, flags);
if (HC_IS_RUNNING(hcd->state)) { if (HC_IS_RUNNING(hcd->state)) {
urb_priv_t *urb_priv; urb_priv_t *urb_priv;
/* Unless an IRQ completed the unlink while it was being /* Unless an IRQ completed the unlink while it was being
@@ -516,7 +460,7 @@ static int ohci_init (struct ohci_hcd *ohci)
*/ */
static int ohci_run (struct ohci_hcd *ohci) static int ohci_run (struct ohci_hcd *ohci)
{ {
u32 mask, temp; u32 mask, temp;
int first = ohci->fminterval == 0; int first = ohci->fminterval == 0;
struct usb_hcd *hcd = ohci_to_hcd(ohci); struct usb_hcd *hcd = ohci_to_hcd(ohci);
@@ -534,7 +478,7 @@ static int ohci_run (struct ohci_hcd *ohci)
/* also: power/overcurrent flags in roothub.a */ /* also: power/overcurrent flags in roothub.a */
} }
/* Reset USB nearly "by the book". RemoteWakeupConnected was /* Reset USB nearly "by the book". RemoteWakeupConnected was
* saved if boot firmware (BIOS/SMM/...) told us it's connected, * saved if boot firmware (BIOS/SMM/...) told us it's connected,
* or if bus glue did the same (e.g. for PCI add-in cards with * or if bus glue did the same (e.g. for PCI add-in cards with
* PCI PM support). * PCI PM support).

View File

@@ -23,13 +23,13 @@
(temp & RH_PS_PSSC) ? " PSSC" : "", \ (temp & RH_PS_PSSC) ? " PSSC" : "", \
(temp & RH_PS_PESC) ? " PESC" : "", \ (temp & RH_PS_PESC) ? " PESC" : "", \
(temp & RH_PS_CSC) ? " CSC" : "", \ (temp & RH_PS_CSC) ? " CSC" : "", \
\ \
(temp & RH_PS_LSDA) ? " LSDA" : "", \ (temp & RH_PS_LSDA) ? " LSDA" : "", \
(temp & RH_PS_PPS) ? " PPS" : "", \ (temp & RH_PS_PPS) ? " PPS" : "", \
(temp & RH_PS_PRS) ? " PRS" : "", \ (temp & RH_PS_PRS) ? " PRS" : "", \
(temp & RH_PS_POCI) ? " POCI" : "", \ (temp & RH_PS_POCI) ? " POCI" : "", \
(temp & RH_PS_PSS) ? " PSS" : "", \ (temp & RH_PS_PSS) ? " PSS" : "", \
\ \
(temp & RH_PS_PES) ? " PES" : "", \ (temp & RH_PS_PES) ? " PES" : "", \
(temp & RH_PS_CCS) ? " CCS" : "" \ (temp & RH_PS_CCS) ? " CCS" : "" \
); );
@@ -484,7 +484,7 @@ ohci_hub_descriptor (
temp = 0; temp = 0;
if (rh & RH_A_NPS) /* no power switching? */ if (rh & RH_A_NPS) /* no power switching? */
temp |= 0x0002; temp |= 0x0002;
if (rh & RH_A_PSM) /* per-port power switching? */ if (rh & RH_A_PSM) /* per-port power switching? */
temp |= 0x0001; temp |= 0x0001;
if (rh & RH_A_NOCP) /* no overcurrent reporting? */ if (rh & RH_A_NOCP) /* no overcurrent reporting? */
temp |= 0x0010; temp |= 0x0010;

View File

@@ -174,7 +174,7 @@ static const struct hc_driver ohci_lh7a404_hc_driver = {
*/ */
.start = ohci_lh7a404_start, .start = ohci_lh7a404_start,
.stop = ohci_stop, .stop = ohci_stop,
.shutdown = ohci_shutdown, .shutdown = ohci_shutdown,
/* /*
* managing i/o requests and associated device resources * managing i/o requests and associated device resources
@@ -242,7 +242,7 @@ static int ohci_hcd_lh7a404_drv_resume(struct platform_device *dev)
static struct platform_driver ohci_hcd_lh7a404_driver = { static struct platform_driver ohci_hcd_lh7a404_driver = {
.probe = ohci_hcd_lh7a404_drv_probe, .probe = ohci_hcd_lh7a404_drv_probe,
.remove = ohci_hcd_lh7a404_drv_remove, .remove = ohci_hcd_lh7a404_drv_remove,
.shutdown = usb_hcd_platform_shutdown, .shutdown = usb_hcd_platform_shutdown,
/*.suspend = ohci_hcd_lh7a404_drv_suspend, */ /*.suspend = ohci_hcd_lh7a404_drv_suspend, */
/*.resume = ohci_hcd_lh7a404_drv_resume, */ /*.resume = ohci_hcd_lh7a404_drv_resume, */
.driver = { .driver = {

View File

@@ -10,15 +10,15 @@
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
/* /*
* There's basically three types of memory: * OHCI deals with three types of memory:
* - data used only by the HCD ... kmalloc is fine * - data used only by the HCD ... kmalloc is fine
* - async and periodic schedules, shared by HC and HCD ... these * - async and periodic schedules, shared by HC and HCD ... these
* need to use dma_pool or dma_alloc_coherent * need to use dma_pool or dma_alloc_coherent
* - driver buffers, read/written by HC ... the hcd glue or the * - driver buffers, read/written by HC ... the hcd glue or the
* device driver provides us with dma addresses * device driver provides us with dma addresses
* *
* There's also PCI "register" data, which is memory mapped. * There's also "register" data, which is memory mapped.
* No memory seen by this driver is pagable. * No memory seen by this driver (or any HCD) may be paged out.
*/ */
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/

View File

@@ -447,7 +447,7 @@ static const struct hc_driver ohci_omap_hc_driver = {
.reset = ohci_omap_init, .reset = ohci_omap_init,
.start = ohci_omap_start, .start = ohci_omap_start,
.stop = ohci_omap_stop, .stop = ohci_omap_stop,
.shutdown = ohci_shutdown, .shutdown = ohci_shutdown,
/* /*
* managing i/o requests and associated device resources * managing i/o requests and associated device resources
@@ -533,7 +533,7 @@ static int ohci_omap_resume(struct platform_device *dev)
static struct platform_driver ohci_hcd_omap_driver = { static struct platform_driver ohci_hcd_omap_driver = {
.probe = ohci_hcd_omap_drv_probe, .probe = ohci_hcd_omap_drv_probe,
.remove = ohci_hcd_omap_drv_remove, .remove = ohci_hcd_omap_drv_remove,
.shutdown = usb_hcd_platform_shutdown, .shutdown = usb_hcd_platform_shutdown,
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = ohci_omap_suspend, .suspend = ohci_omap_suspend,
.resume = ohci_omap_resume, .resume = ohci_omap_resume,

View File

@@ -4,7 +4,7 @@
* driver for Philips PNX4008 USB Host * driver for Philips PNX4008 USB Host
* *
* Authors: Dmitry Chigirev <source@mvista.com> * Authors: Dmitry Chigirev <source@mvista.com>
* Vitaly Wool <vitalywool@gmail.com> * Vitaly Wool <vitalywool@gmail.com>
* *
* register initialization is based on code examples provided by Philips * register initialization is based on code examples provided by Philips
* Copyright (c) 2005 Koninklijke Philips Electronics N.V. * Copyright (c) 2005 Koninklijke Philips Electronics N.V.
@@ -29,7 +29,7 @@
#include <asm/arch/irqs.h> #include <asm/arch/irqs.h>
#include <asm/arch/gpio.h> #include <asm/arch/gpio.h>
#define USB_CTRL IO_ADDRESS(PNX4008_PWRMAN_BASE + 0x64) #define USB_CTRL IO_ADDRESS(PNX4008_PWRMAN_BASE + 0x64)
/* USB_CTRL bit defines */ /* USB_CTRL bit defines */
#define USB_SLAVE_HCLK_EN (1 << 24) #define USB_SLAVE_HCLK_EN (1 << 24)

View File

@@ -85,7 +85,7 @@ static int usb_hcd_ppc_soc_probe(const struct hc_driver *driver,
err2: err2:
release_mem_region(hcd->rsrc_start, hcd->rsrc_len); release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
err1: err1:
usb_put_hcd(hcd); usb_put_hcd(hcd);
return retval; return retval;
} }
@@ -148,7 +148,7 @@ static const struct hc_driver ohci_ppc_soc_hc_driver = {
*/ */
.start = ohci_ppc_soc_start, .start = ohci_ppc_soc_start,
.stop = ohci_stop, .stop = ohci_stop,
.shutdown = ohci_shutdown, .shutdown = ohci_shutdown,
/* /*
* managing i/o requests and associated device resources * managing i/o requests and associated device resources
@@ -197,7 +197,7 @@ static int ohci_hcd_ppc_soc_drv_remove(struct platform_device *pdev)
static struct platform_driver ohci_hcd_ppc_soc_driver = { static struct platform_driver ohci_hcd_ppc_soc_driver = {
.probe = ohci_hcd_ppc_soc_drv_probe, .probe = ohci_hcd_ppc_soc_drv_probe,
.remove = ohci_hcd_ppc_soc_drv_remove, .remove = ohci_hcd_ppc_soc_drv_remove,
.shutdown = usb_hcd_platform_shutdown, .shutdown = usb_hcd_platform_shutdown,
#ifdef CONFIG_PM #ifdef CONFIG_PM
/*.suspend = ohci_hcd_ppc_soc_drv_suspend,*/ /*.suspend = ohci_hcd_ppc_soc_drv_suspend,*/
/*.resume = ohci_hcd_ppc_soc_drv_resume,*/ /*.resume = ohci_hcd_ppc_soc_drv_resume,*/

View File

@@ -270,7 +270,7 @@ static const struct hc_driver ohci_pxa27x_hc_driver = {
*/ */
.start = ohci_pxa27x_start, .start = ohci_pxa27x_start,
.stop = ohci_stop, .stop = ohci_stop,
.shutdown = ohci_shutdown, .shutdown = ohci_shutdown,
/* /*
* managing i/o requests and associated device resources * managing i/o requests and associated device resources
@@ -359,7 +359,7 @@ static int ohci_hcd_pxa27x_drv_resume(struct platform_device *pdev)
static struct platform_driver ohci_hcd_pxa27x_driver = { static struct platform_driver ohci_hcd_pxa27x_driver = {
.probe = ohci_hcd_pxa27x_drv_probe, .probe = ohci_hcd_pxa27x_drv_probe,
.remove = ohci_hcd_pxa27x_drv_remove, .remove = ohci_hcd_pxa27x_drv_remove,
.shutdown = usb_hcd_platform_shutdown, .shutdown = usb_hcd_platform_shutdown,
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = ohci_hcd_pxa27x_drv_suspend, .suspend = ohci_hcd_pxa27x_drv_suspend,
.resume = ohci_hcd_pxa27x_drv_resume, .resume = ohci_hcd_pxa27x_drv_resume,

View File

@@ -107,7 +107,6 @@ static int balance (struct ohci_hcd *ohci, int interval, int load)
*/ */
for (i = 0; i < interval ; i++) { for (i = 0; i < interval ; i++) {
if (branch < 0 || ohci->load [branch] > ohci->load [i]) { if (branch < 0 || ohci->load [branch] > ohci->load [i]) {
#if 1 /* CONFIG_USB_BANDWIDTH */
int j; int j;
/* usb 1.1 says 90% of one frame */ /* usb 1.1 says 90% of one frame */
@@ -117,7 +116,6 @@ static int balance (struct ohci_hcd *ohci, int interval, int load)
} }
if (j < NUM_INTS) if (j < NUM_INTS)
continue; continue;
#endif
branch = i; branch = i;
} }
} }
@@ -413,9 +411,9 @@ static struct ed *ed_get (
goto done; goto done;
} }
/* dummy td; end of td list for ed */ /* dummy td; end of td list for ed */
td = td_alloc (ohci, GFP_ATOMIC); td = td_alloc (ohci, GFP_ATOMIC);
if (!td) { if (!td) {
/* out of memory */ /* out of memory */
ed_free (ohci, ed); ed_free (ohci, ed);
ed = NULL; ed = NULL;
@@ -597,7 +595,7 @@ static void td_submit_urb (
* use the device toggle bits for resetting, and rely on the fact * use the device toggle bits for resetting, and rely on the fact
* that resetting toggle is meaningless if the endpoint is active. * that resetting toggle is meaningless if the endpoint is active.
*/ */
if (!usb_gettoggle (urb->dev, usb_pipeendpoint (urb->pipe), is_out)) { if (!usb_gettoggle (urb->dev, usb_pipeendpoint (urb->pipe), is_out)) {
usb_settoggle (urb->dev, usb_pipeendpoint (urb->pipe), usb_settoggle (urb->dev, usb_pipeendpoint (urb->pipe),
is_out, 1); is_out, 1);
urb_priv->ed->hwHeadP &= ~cpu_to_hc32 (ohci, ED_C); urb_priv->ed->hwHeadP &= ~cpu_to_hc32 (ohci, ED_C);
@@ -721,16 +719,16 @@ static void td_done (struct ohci_hcd *ohci, struct urb *urb, struct td *td)
list_del (&td->td_list); list_del (&td->td_list);
/* ISO ... drivers see per-TD length/status */ /* ISO ... drivers see per-TD length/status */
if (tdINFO & TD_ISO) { if (tdINFO & TD_ISO) {
u16 tdPSW = ohci_hwPSW (ohci, td, 0); u16 tdPSW = ohci_hwPSW (ohci, td, 0);
int dlen = 0; int dlen = 0;
/* NOTE: assumes FC in tdINFO == 0, and that /* NOTE: assumes FC in tdINFO == 0, and that
* only the first of 0..MAXPSW psws is used. * only the first of 0..MAXPSW psws is used.
*/ */
cc = (tdPSW >> 12) & 0xF; cc = (tdPSW >> 12) & 0xF;
if (tdINFO & TD_CC) /* hc didn't touch? */ if (tdINFO & TD_CC) /* hc didn't touch? */
return; return;
if (usb_pipeout (urb->pipe)) if (usb_pipeout (urb->pipe))
@@ -758,7 +756,7 @@ static void td_done (struct ohci_hcd *ohci, struct urb *urb, struct td *td)
int type = usb_pipetype (urb->pipe); int type = usb_pipetype (urb->pipe);
u32 tdBE = hc32_to_cpup (ohci, &td->hwBE); u32 tdBE = hc32_to_cpup (ohci, &td->hwBE);
cc = TD_CC_GET (tdINFO); cc = TD_CC_GET (tdINFO);
/* update packet status if needed (short is normally ok) */ /* update packet status if needed (short is normally ok) */
if (cc == TD_DATAUNDERRUN if (cc == TD_DATAUNDERRUN
@@ -787,7 +785,7 @@ static void td_done (struct ohci_hcd *ohci, struct urb *urb, struct td *td)
urb, td, 1 + td->index, cc, urb, td, 1 + td->index, cc,
urb->actual_length, urb->actual_length,
urb->transfer_buffer_length); urb->transfer_buffer_length);
} }
} }
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
@@ -795,7 +793,7 @@ static void td_done (struct ohci_hcd *ohci, struct urb *urb, struct td *td)
static inline struct td * static inline struct td *
ed_halted (struct ohci_hcd *ohci, struct td *td, int cc, struct td *rev) ed_halted (struct ohci_hcd *ohci, struct td *td, int cc, struct td *rev)
{ {
struct urb *urb = td->urb; struct urb *urb = td->urb;
struct ed *ed = td->ed; struct ed *ed = td->ed;
struct list_head *tmp = td->td_list.next; struct list_head *tmp = td->td_list.next;
__hc32 toggle = ed->hwHeadP & cpu_to_hc32 (ohci, ED_C); __hc32 toggle = ed->hwHeadP & cpu_to_hc32 (ohci, ED_C);
@@ -882,7 +880,7 @@ static struct td *dl_reverse_done_list (struct ohci_hcd *ohci)
* prepend to ours. ed->td_list changes later. * prepend to ours. ed->td_list changes later.
*/ */
while (td_dma) { while (td_dma) {
int cc; int cc;
td = dma_to_td (ohci, td_dma); td = dma_to_td (ohci, td_dma);
if (!td) { if (!td) {
@@ -1013,7 +1011,7 @@ rescan_this:
if (modified) if (modified)
goto rescan_all; goto rescan_all;
} }
/* maybe reenable control and bulk lists */ /* maybe reenable control and bulk lists */
if (HC_IS_RUNNING(ohci_to_hcd(ohci)->state) if (HC_IS_RUNNING(ohci_to_hcd(ohci)->state)
@@ -1047,14 +1045,14 @@ rescan_this:
ohci->hc_control |= control; ohci->hc_control |= control;
if (ohci->flags & OHCI_QUIRK_ZFMICRO) if (ohci->flags & OHCI_QUIRK_ZFMICRO)
mdelay(1); mdelay(1);
ohci_writel (ohci, ohci->hc_control, ohci_writel (ohci, ohci->hc_control,
&ohci->regs->control); &ohci->regs->control);
} }
if (command) { if (command) {
if (ohci->flags & OHCI_QUIRK_ZFMICRO) if (ohci->flags & OHCI_QUIRK_ZFMICRO)
mdelay(1); mdelay(1);
ohci_writel (ohci, command, &ohci->regs->cmdstatus); ohci_writel (ohci, command, &ohci->regs->cmdstatus);
} }
} }
} }
@@ -1074,19 +1072,19 @@ dl_done_list (struct ohci_hcd *ohci)
{ {
struct td *td = dl_reverse_done_list (ohci); struct td *td = dl_reverse_done_list (ohci);
while (td) { while (td) {
struct td *td_next = td->next_dl_td; struct td *td_next = td->next_dl_td;
struct urb *urb = td->urb; struct urb *urb = td->urb;
urb_priv_t *urb_priv = urb->hcpriv; urb_priv_t *urb_priv = urb->hcpriv;
struct ed *ed = td->ed; struct ed *ed = td->ed;
/* update URB's length and status from TD */ /* update URB's length and status from TD */
td_done (ohci, urb, td); td_done (ohci, urb, td);
urb_priv->td_cnt++; urb_priv->td_cnt++;
/* If all this urb's TDs are done, call complete() */ /* If all this urb's TDs are done, call complete() */
if (urb_priv->td_cnt == urb_priv->length) if (urb_priv->td_cnt == urb_priv->length)
finish_urb (ohci, urb); finish_urb (ohci, urb);
/* clean schedule: unlink EDs that are no longer busy */ /* clean schedule: unlink EDs that are no longer busy */
if (list_empty (&ed->td_list)) { if (list_empty (&ed->td_list)) {
@@ -1094,10 +1092,11 @@ dl_done_list (struct ohci_hcd *ohci)
start_ed_unlink (ohci, ed); start_ed_unlink (ohci, ed);
/* ... reenabling halted EDs only after fault cleanup */ /* ... reenabling halted EDs only after fault cleanup */
} else if ((ed->hwINFO & cpu_to_hc32 (ohci, ED_SKIP | ED_DEQUEUE)) } else if ((ed->hwINFO & cpu_to_hc32 (ohci,
ED_SKIP | ED_DEQUEUE))
== cpu_to_hc32 (ohci, ED_SKIP)) { == cpu_to_hc32 (ohci, ED_SKIP)) {
td = list_entry (ed->td_list.next, struct td, td_list); td = list_entry (ed->td_list.next, struct td, td_list);
if (!(td->hwINFO & cpu_to_hc32 (ohci, TD_DONE))) { if (!(td->hwINFO & cpu_to_hc32 (ohci, TD_DONE))) {
ed->hwINFO &= ~cpu_to_hc32 (ohci, ED_SKIP); ed->hwINFO &= ~cpu_to_hc32 (ohci, ED_SKIP);
/* ... hc may need waking-up */ /* ... hc may need waking-up */
switch (ed->type) { switch (ed->type) {
@@ -1113,6 +1112,6 @@ dl_done_list (struct ohci_hcd *ohci)
} }
} }
td = td_next; td = td_next;
} }
} }

View File

@@ -447,7 +447,7 @@ static const struct hc_driver ohci_s3c2410_hc_driver = {
*/ */
.start = ohci_s3c2410_start, .start = ohci_s3c2410_start,
.stop = ohci_stop, .stop = ohci_stop,
.shutdown = ohci_shutdown, .shutdown = ohci_shutdown,
/* /*
* managing i/o requests and associated device resources * managing i/o requests and associated device resources
@@ -492,7 +492,7 @@ static int ohci_hcd_s3c2410_drv_remove(struct platform_device *pdev)
static struct platform_driver ohci_hcd_s3c2410_driver = { static struct platform_driver ohci_hcd_s3c2410_driver = {
.probe = ohci_hcd_s3c2410_drv_probe, .probe = ohci_hcd_s3c2410_drv_probe,
.remove = ohci_hcd_s3c2410_drv_remove, .remove = ohci_hcd_s3c2410_drv_remove,
.shutdown = usb_hcd_platform_shutdown, .shutdown = usb_hcd_platform_shutdown,
/*.suspend = ohci_hcd_s3c2410_drv_suspend, */ /*.suspend = ohci_hcd_s3c2410_drv_suspend, */
/*.resume = ohci_hcd_s3c2410_drv_resume, */ /*.resume = ohci_hcd_s3c2410_drv_resume, */
.driver = { .driver = {

View File

@@ -24,7 +24,7 @@ typedef __u16 __bitwise __hc16;
*/ */
struct ed { struct ed {
/* first fields are hardware-specified */ /* first fields are hardware-specified */
__hc32 hwINFO; /* endpoint config bitmap */ __hc32 hwINFO; /* endpoint config bitmap */
/* info bits defined by hcd */ /* info bits defined by hcd */
#define ED_DEQUEUE (1 << 27) #define ED_DEQUEUE (1 << 27)
/* info bits defined by the hardware */ /* info bits defined by the hardware */
@@ -52,11 +52,11 @@ struct ed {
* usually: OPER --> UNLINK --> (IDLE | OPER) --> ... * usually: OPER --> UNLINK --> (IDLE | OPER) --> ...
*/ */
u8 state; /* ED_{IDLE,UNLINK,OPER} */ u8 state; /* ED_{IDLE,UNLINK,OPER} */
#define ED_IDLE 0x00 /* NOT linked to HC */ #define ED_IDLE 0x00 /* NOT linked to HC */
#define ED_UNLINK 0x01 /* being unlinked from hc */ #define ED_UNLINK 0x01 /* being unlinked from hc */
#define ED_OPER 0x02 /* IS linked to hc */ #define ED_OPER 0x02 /* IS linked to hc */
u8 type; /* PIPE_{BULK,...} */ u8 type; /* PIPE_{BULK,...} */
/* periodic scheduling params (for intr and iso) */ /* periodic scheduling params (for intr and iso) */
u8 branch; u8 branch;
@@ -107,22 +107,22 @@ struct td {
/* (no hwINFO #defines yet for iso tds) */ /* (no hwINFO #defines yet for iso tds) */
__hc32 hwCBP; /* Current Buffer Pointer (or 0) */ __hc32 hwCBP; /* Current Buffer Pointer (or 0) */
__hc32 hwNextTD; /* Next TD Pointer */ __hc32 hwNextTD; /* Next TD Pointer */
__hc32 hwBE; /* Memory Buffer End Pointer */ __hc32 hwBE; /* Memory Buffer End Pointer */
/* PSW is only for ISO. Only 1 PSW entry is used, but on /* PSW is only for ISO. Only 1 PSW entry is used, but on
* big-endian PPC hardware that's the second entry. * big-endian PPC hardware that's the second entry.
*/ */
#define MAXPSW 2 #define MAXPSW 2
__hc16 hwPSW [MAXPSW]; __hc16 hwPSW [MAXPSW];
/* rest are purely for the driver's use */ /* rest are purely for the driver's use */
__u8 index; __u8 index;
struct ed *ed; struct ed *ed;
struct td *td_hash; /* dma-->td hashtable */ struct td *td_hash; /* dma-->td hashtable */
struct td *next_dl_td; struct td *next_dl_td;
struct urb *urb; struct urb *urb;
dma_addr_t td_dma; /* addr of this TD */ dma_addr_t td_dma; /* addr of this TD */
dma_addr_t data_dma; /* addr of data it points to */ dma_addr_t data_dma; /* addr of data it points to */
@@ -262,10 +262,10 @@ struct ohci_regs {
* HcCommandStatus (cmdstatus) register masks * HcCommandStatus (cmdstatus) register masks
*/ */
#define OHCI_HCR (1 << 0) /* host controller reset */ #define OHCI_HCR (1 << 0) /* host controller reset */
#define OHCI_CLF (1 << 1) /* control list filled */ #define OHCI_CLF (1 << 1) /* control list filled */
#define OHCI_BLF (1 << 2) /* bulk list filled */ #define OHCI_BLF (1 << 2) /* bulk list filled */
#define OHCI_OCR (1 << 3) /* ownership change request */ #define OHCI_OCR (1 << 3) /* ownership change request */
#define OHCI_SOC (3 << 16) /* scheduling overrun count */ #define OHCI_SOC (3 << 16) /* scheduling overrun count */
/* /*
* masks used with interrupt registers: * masks used with interrupt registers:
@@ -287,18 +287,18 @@ struct ohci_regs {
/* OHCI ROOT HUB REGISTER MASKS */ /* OHCI ROOT HUB REGISTER MASKS */
/* roothub.portstatus [i] bits */ /* roothub.portstatus [i] bits */
#define RH_PS_CCS 0x00000001 /* current connect status */ #define RH_PS_CCS 0x00000001 /* current connect status */
#define RH_PS_PES 0x00000002 /* port enable status*/ #define RH_PS_PES 0x00000002 /* port enable status*/
#define RH_PS_PSS 0x00000004 /* port suspend status */ #define RH_PS_PSS 0x00000004 /* port suspend status */
#define RH_PS_POCI 0x00000008 /* port over current indicator */ #define RH_PS_POCI 0x00000008 /* port over current indicator */
#define RH_PS_PRS 0x00000010 /* port reset status */ #define RH_PS_PRS 0x00000010 /* port reset status */
#define RH_PS_PPS 0x00000100 /* port power status */ #define RH_PS_PPS 0x00000100 /* port power status */
#define RH_PS_LSDA 0x00000200 /* low speed device attached */ #define RH_PS_LSDA 0x00000200 /* low speed device attached */
#define RH_PS_CSC 0x00010000 /* connect status change */ #define RH_PS_CSC 0x00010000 /* connect status change */
#define RH_PS_PESC 0x00020000 /* port enable status change */ #define RH_PS_PESC 0x00020000 /* port enable status change */
#define RH_PS_PSSC 0x00040000 /* port suspend status change */ #define RH_PS_PSSC 0x00040000 /* port suspend status change */
#define RH_PS_OCIC 0x00080000 /* over current indicator change */ #define RH_PS_OCIC 0x00080000 /* over current indicator change */
#define RH_PS_PRSC 0x00100000 /* port reset status change */ #define RH_PS_PRSC 0x00100000 /* port reset status change */
/* roothub.status bits */ /* roothub.status bits */
#define RH_HS_LPS 0x00000001 /* local power status */ #define RH_HS_LPS 0x00000001 /* local power status */
@@ -364,7 +364,7 @@ struct ohci_hcd {
struct ed *ed_bulktail; /* last in bulk list */ struct ed *ed_bulktail; /* last in bulk list */
struct ed *ed_controltail; /* last in ctrl list */ struct ed *ed_controltail; /* last in ctrl list */
struct ed *periodic [NUM_INTS]; /* shadow int_table */ struct ed *periodic [NUM_INTS]; /* shadow int_table */
/* /*
* OTG controllers and transceivers need software interaction; * OTG controllers and transceivers need software interaction;
@@ -385,7 +385,7 @@ struct ohci_hcd {
*/ */
int num_ports; int num_ports;
int load [NUM_INTS]; int load [NUM_INTS];
u32 hc_control; /* copy of hc control reg */ u32 hc_control; /* copy of hc control reg */
unsigned long next_statechange; /* suspend/resume */ unsigned long next_statechange; /* suspend/resume */
u32 fminterval; /* saved register */ u32 fminterval; /* saved register */
unsigned autostop:1; /* rh auto stopping/stopped */ unsigned autostop:1; /* rh auto stopping/stopped */
@@ -598,7 +598,7 @@ static inline void disable (struct ohci_hcd *ohci)
} }
#define FI 0x2edf /* 12000 bits per frame (-1) */ #define FI 0x2edf /* 12000 bits per frame (-1) */
#define FSMP(fi) (0x7fff & ((6 * ((fi) - 210)) / 7)) #define FSMP(fi) (0x7fff & ((6 * ((fi) - 210)) / 7))
#define FIT (1 << 31) #define FIT (1 << 31)
#define LSTHRESH 0x628 /* lowspeed bit threshold */ #define LSTHRESH 0x628 /* lowspeed bit threshold */