Am Dienstag, 18. Mai 2004 02:37 schrieb David Brownell:
> >>this purges wait_ms() from ehci.
> > 
> > David, look sane?
> 
> I'd rather have a patch that covered msec_delay() too;
> how about an updated version?

Here you are. It's an additional change set.

        Regards
                Oliver

You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.

===================================================================


[EMAIL PROTECTED], 2004-05-18 09:15:24+02:00, [EMAIL PROTECTED]
  - new safe wait helper
  - remove homegrown msec/jiffy converter


 ehci-hcd.c |    6 +++---
 ehci-hub.c |   10 +++++-----
 ehci.h     |    8 --------
 ohci-hcd.c |    4 ++--
 ohci-hub.c |    4 ++--
 ohci-pci.c |    6 +++---
 ohci.h     |    8 --------
 7 files changed, 15 insertions(+), 31 deletions(-)


diff -Nru a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
--- a/drivers/usb/host/ehci-hcd.c       Tue May 18 09:18:20 2004
+++ b/drivers/usb/host/ehci-hcd.c       Tue May 18 09:18:20 2004
@@ -632,7 +632,7 @@
        struct ehci_hcd         *ehci = hcd_to_ehci (hcd);
 
        while (time_before (jiffies, ehci->next_statechange))
-               msec_delay (100);
+               usb_uninterruptible_sleep_ms (100);
 
 #ifdef CONFIG_USB_SUSPEND
        (void) usb_suspend_device (hcd->self.root_hub);
@@ -654,7 +654,7 @@
        // maybe restore (PCI) FLADJ
 
        while (time_before (jiffies, ehci->next_statechange))
-               msec_delay (100);
+                usb_uninterruptible_sleep_ms(100);
 
 #ifdef CONFIG_USB_SUSPEND
        retval = usb_resume_device (hcd->self.root_hub);
@@ -769,7 +769,7 @@
                         * and make khubd collect PORT_STAT_C_SUSPEND to
                         * stop that signaling.
                         */
-                       ehci->reset_done [i] = jiffies + MSEC_TO_JIFFIES (20);
+                       ehci->reset_done [i] = jiffies + msecs_to_jiffies (20);
                        mod_timer (&ehci->hcd.rh_timer,
                                        ehci->reset_done [i] + 1);
                        ehci_dbg (ehci, "port %d remote wakeup\n", i + 1);
diff -Nru a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
--- a/drivers/usb/host/ehci-hub.c       Tue May 18 09:18:20 2004
+++ b/drivers/usb/host/ehci-hub.c       Tue May 18 09:18:20 2004
@@ -75,7 +75,7 @@
        (void) handshake (&ehci->regs->status, STS_HALT, STS_HALT, 2000);
 
        root->dev.power.power_state = 3;
-       ehci->next_statechange = jiffies + MSEC_TO_JIFFIES(10);
+       ehci->next_statechange = jiffies + msecs_to_jiffies(10);
        spin_unlock_irq (&ehci->lock);
        return status;
 }
@@ -112,7 +112,7 @@
                temp = readl (&ehci->regs->port_status [i]);
                temp &= ~(PORT_WKOC_E|PORT_WKDISC_E|PORT_WKCONN_E);
                if (temp & PORT_SUSPEND) {
-                       ehci->reset_done [i] = jiffies + MSEC_TO_JIFFIES (20);
+                       ehci->reset_done [i] = jiffies + msecs_to_jiffies (20);
                        temp |= PORT_RESUME;
                }
                writel (temp, &ehci->regs->port_status [i]);
@@ -139,7 +139,7 @@
                writel (ehci->command | temp, &ehci->regs->command);
 
        root->dev.power.power_state = 0;
-       ehci->next_statechange = jiffies + MSEC_TO_JIFFIES(5);
+       ehci->next_statechange = jiffies + msecs_to_jiffies(5);
        ehci->hcd.state = USB_STATE_RUNNING;
        return 0;
 }
@@ -334,7 +334,7 @@
                                writel ((temp & ~PORT_WAKE_BITS) | PORT_RESUME,
                                        &ehci->regs->port_status [wIndex]);
                                ehci->reset_done [wIndex] = jiffies
-                                               + MSEC_TO_JIFFIES (20);
+                                               + msecs_to_jiffies (20);
                        }
                        break;
                case USB_PORT_FEAT_C_SUSPEND:
@@ -514,7 +514,7 @@
                                 * usb 2.0 spec says 50 ms resets on root
                                 */
                                ehci->reset_done [wIndex] = jiffies
-                                               + MSEC_TO_JIFFIES (50);
+                                               + msecs_to_jiffies (50);
                        }
                        writel (temp, &ehci->regs->port_status [wIndex]);
                        break;
diff -Nru a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
--- a/drivers/usb/host/ehci.h   Tue May 18 09:18:20 2004
+++ b/drivers/usb/host/ehci.h   Tue May 18 09:18:20 2004
@@ -596,14 +596,6 @@
 
 /*-------------------------------------------------------------------------*/
 
-#define        MSEC_TO_JIFFIES(msec) ((HZ * (msec) + 999) / 1000)
-
-static inline void msec_delay(int msec)
-{
-       set_current_state(TASK_UNINTERRUPTIBLE);
-       schedule_timeout(MSEC_TO_JIFFIES(msec));
-}
-
 #ifndef DEBUG
 #define STUB_DEBUG_FILES
 #endif /* DEBUG */
diff -Nru a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
--- a/drivers/usb/host/ohci-hcd.c       Tue May 18 09:18:20 2004
+++ b/drivers/usb/host/ohci-hcd.c       Tue May 18 09:18:20 2004
@@ -417,7 +417,7 @@
                writel (OHCI_INTR_OC, &ohci->regs->intrenable);
                writel (OHCI_OCR, &ohci->regs->cmdstatus);
                while (readl (&ohci->regs->control) & OHCI_CTRL_IR) {
-                       msec_delay (10);
+                       usb_uninterruptible_sleep_ms (10);
                        if (--temp == 0) {
                                ohci_err (ohci, "USB HC TakeOver failed!\n");
                                return -1;
@@ -451,7 +451,7 @@
        }
        // flush those pci writes
        (void) readl (&ohci->regs->control);
-       msec_delay (50);
+       usb_uninterruptible_sleep_ms(50);
 
        /* HC Reset requires max 10 us delay */
        writel (OHCI_HCR,  &ohci->regs->cmdstatus);
diff -Nru a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c
--- a/drivers/usb/host/ohci-hub.c       Tue May 18 09:18:20 2004
+++ b/drivers/usb/host/ohci-hub.c       Tue May 18 09:18:20 2004
@@ -248,7 +248,7 @@
        /* Then re-enable operations */
        writel (OHCI_USB_OPER, &ohci->regs->control);
        (void) readl (&ohci->regs->control);
-       msec_delay (3);
+       usb_uninterruptible_sleep_ms(3);
 
        temp = OHCI_CONTROL_INIT | OHCI_USB_OPER;
        if (ohci->hcd.can_wakeup)
@@ -258,7 +258,7 @@
        (void) readl (&ohci->regs->control);
 
        /* TRSMRCY */
-       msec_delay (10);
+       usb_uninterruptible_sleep_ms (10);
        root->dev.power.power_state = 0;
 
        /* keep it alive for ~5x suspend + resume costs */
diff -Nru a/drivers/usb/host/ohci-pci.c b/drivers/usb/host/ohci-pci.c
--- a/drivers/usb/host/ohci-pci.c       Tue May 18 09:18:20 2004
+++ b/drivers/usb/host/ohci-pci.c       Tue May 18 09:18:20 2004
@@ -122,7 +122,7 @@
 
        /* suspend root hub, hoping it keeps power during suspend */
        while (time_before (jiffies, ohci->next_statechange))
-               msec_delay (100);
+               usb_uninterruptible_sleep_ms (100);
 
 #ifdef CONFIG_USB_SUSPEND
        (void) usb_suspend_device (hcd->self.root_hub);
@@ -132,7 +132,7 @@
 #endif
 
        /* let things settle down a bit */
-       msec_delay (100);
+       usb_uninterruptible_sleep_ms (100);
        
 #ifdef CONFIG_PMAC_PBOOK
        if (_machine == _MACH_Pmac)
@@ -169,7 +169,7 @@
 
        /* resume root hub */
        while (time_before (jiffies, ohci->next_statechange))
-               msec_delay (100);
+               usb_uninterruptible_sleep_ms (100);
 #ifdef CONFIG_USB_SUSPEND
        /* get extra cleanup even if remote wakeup isn't in use */
        retval = usb_resume_device (hcd->self.root_hub);
diff -Nru a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h
--- a/drivers/usb/host/ohci.h   Tue May 18 09:18:20 2004
+++ b/drivers/usb/host/ohci.h   Tue May 18 09:18:20 2004
@@ -397,14 +397,6 @@
        ohci->hcd.state = USB_STATE_HALT;
 }
 
-#define        MSEC_TO_JIFFIES(msec) ((HZ * (msec) + 999) / 1000)
-
-static inline void msec_delay(int msec)
-{
-       set_current_state(TASK_UNINTERRUPTIBLE);
-       schedule_timeout(MSEC_TO_JIFFIES(msec));
-}
-
 #define        FI                      0x2edf          /* 12000 bits per frame (-1) */
 #define        DEFAULT_FMINTERVAL      ((((6 * (FI - 210)) / 7) << 16) | FI)
 #define LSTHRESH               0x628           /* lowspeed bit threshold */

===================================================================


This BitKeeper patch contains the following changesets:
1.1728
## Wrapped with gzip_uu ##


M'XL( +RXJ4   ]5876_;-A1]EGX%@;YT"&SSFY0'%]F:81TZH$&Z/A6%04F4
MI=66#$E.5D _?A09Q_82VY*V%)D3Y"H2>7UY[KGWD'H%/E6ZG'K%,KO5I?\*
MO"NJ>NJM5!3J.AWG>O-ULQH7Y<(\NBD*\VB2%BL]<>,G?Y1:5Y-EEF\JS'PS
MYEK540K,HVKJH3%YN%-_6^NI=_/+KY]^_^G&]V<S\#95^4)_U#68S?RZ*&_5
M,JXN59TNBWQ<ERJO5KI6XZA8-0]#&PPA-C\,"0(9;Q"'5#01BA%2%.D88BHY
M]5UPEX\7<>B)MGXPQA3#AC"$H7\%T-C<[EMAIL PROTECTED]"6039"Z"*6)33"[EMAIL PROTECTED]((CGH&
M%P*,H/\S^&]7\M:/P [EMAIL PROTECTED]'@3F4U2/5R;5+5/BCUJKC5H,W(HBSN<K"J
M=#3Y,TN2;R J<A-J;4:^!X1QCOSK'>;^J.?']Z&"_AL0I9>K3;E0=5EDL5U2
M7+:05)--%1IJ5/6D2*-LM(ZR<>06R:$T&!,J&W,%62-)1!1!.E&)U$D<' ?U
[EMAIL PROTECTED](*Q) !,*"[EMAIL PROTECTED]>!O_ 6Q1/M'[EMAIL PROTECTED]&[EMAIL 
PROTECTED];4)**!"#GB
M(DY0I/O$N'.['Q\5A+!^\=G%FHLMD"V4$''"&RRE((V"6$22$O./"E%">P/Y
MX/L 2&A6/B303?A$H 'DI,[EMAIL PROTECTED]/(X$0*S_H%N?>\'2I"0L'_&#Q%]R+HQ
MK DX5Q I%>H 4:A4W[0?0910*(<$NH_H+E I8)-H1D,#,(Y$&,>"] _T*42I
ME'T#+0YJ:)=V1G%#0A&Q.,;FH4**]T[[XR)J^R6SZG&B,[EMAIL PROTECTED];1:/
MPLMU&_YR:<*O/R]*O?C2I4TA3$Q+;[G [EMAIL PROTECTED];Q\RI#P(A\3Y5Y#UQC
M_0!&Y9W]-5IP?0K^ =)RA4Q/0/YOSGB>\3K?Y%ENQ*O<K.LL7.IYM=1Z/5]5
MX#6"\(<?S1SBYEC3<8K =HHUW;[F2:[M2KWEVC/VGQ,[F0[]Q^YM$&[EMAIL PROTECTED]'!@
M.2?X_X%S?78VKK>>8^<.FR'LY(YISG1D)V?"SK'&\\"I2=LYPM%3W-/3LU&_
M*76EZWE<Y!I\SKZ &6A!R'0%+BPFU;PNYMM;K_$9SK9=?Q!GNTM1?\[N2]&6
MLY0C1ER?A$,XR\"(/1-GNU+3J6DW:K80#*&FD)8Q[=][NN3ZKWI>U:K6D5W=
M2<(8YMF^B%PK1>S?$>[EMAIL PROTECTED]&O=$&*+QQG/?HY_I\E9.]B9XX/9R<H8
MIP.JHN/9H<_&[EMAIL PROTECTED] F!+.&&_?,%H-I00.* 8*1?*D-W)V+NE3).!U2(2P(
[EMAIL PROTECTED]/9KVWC@<ROMTZ0LXDLBS@> @+,!CA[[QUM$?)3EO'P>),C3Z8
M\G?&.Z_.;<[EMAIL PROTECTED]<<:)M%$,%M>[EMAIL PROTECTED](LD$A T6;;KL"ZY'K[=>
M)GO<^;X;>X;J)V:H98(SIYE [EMAIL PROTECTED];SL^/ON7:4.KT5I\])NR]E]B7'-1LC
M.,1)#A[4;%ZRY+BW"%V(-4QRJ(%&[EZ&1ZF.OE:;U8S ((91'/A_ Q\W,$=U
#%P  



-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to