ohci-hcd: ohci-hcd: use usleep_range() instead of mdelay()

Message ID 4EF185AA.2000006@linaro.org
State New
Headers show

Commit Message

Dmitry Antipov Dec. 21, 2011, 7:07 a.m.
From ac60fe289eef3d81009f2b14a12acbac3e71878b Mon Sep 17 00:00:00 2001
From: Dmitry Antipov <dmitry.antipov@linaro.org>
Date: Wed, 21 Dec 2011 11:05:27 +0400
Subject: [PATCH] ohci-hcd: use usleep_range() instead of mdelay()

---
  drivers/usb/host/ohci-hcd.c |    4 +++-
  1 files changed, 3 insertions(+), 1 deletions(-)

Comments

Greg KH Dec. 21, 2011, 9:12 p.m. | #1
On Wed, Dec 21, 2011 at 11:07:22AM +0400, Dmitry Antipov wrote:
> From ac60fe289eef3d81009f2b14a12acbac3e71878b Mon Sep 17 00:00:00 2001
> From: Dmitry Antipov <dmitry.antipov@linaro.org>
> Date: Wed, 21 Dec 2011 11:05:27 +0400
> Subject: [PATCH] ohci-hcd: use usleep_range() instead of mdelay()
> 

You didn't sign off on this, and you failed to explain why this is
needed.

You also didn't use git-send-email, making it a pain to apply (why do I
need the duplicate headers in the email body?

So consider this patch totally ignored.

greg k-h
Alan Stern Dec. 22, 2011, 3:05 a.m. | #2
On Wed, 21 Dec 2011, Dmitry Antipov wrote:

>  From ac60fe289eef3d81009f2b14a12acbac3e71878b Mon Sep 17 00:00:00 2001
> From: Dmitry Antipov <dmitry.antipov@linaro.org>
> Date: Wed, 21 Dec 2011 11:05:27 +0400
> Subject: [PATCH] ohci-hcd: use usleep_range() instead of mdelay()
> 
> ---
>   drivers/usb/host/ohci-hcd.c |    4 +++-
>   1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
> index b263919..a6d58da 100644
> --- a/drivers/usb/host/ohci-hcd.c
> +++ b/drivers/usb/host/ohci-hcd.c
> @@ -574,6 +574,7 @@ static int ohci_run (struct ohci_hcd *ohci)
>   	u32			mask, val;
>   	int			first = ohci->fminterval == 0;
>   	struct usb_hcd		*hcd = ohci_to_hcd(ohci);
> +	unsigned long		usecs;
> 
>   	disable (ohci);
> 
> @@ -724,7 +725,8 @@ retry:
>   	spin_unlock_irq (&ohci->lock);
> 
>   	// POTPGT delay is bits 24-31, in 2 ms units.
> -	mdelay ((val >> 23) & 0x1fe);
> +	usecs = ((val >> 23) & 0x1fe) * USEC_PER_MSEC;
> +	usleep_range(usecs, usecs + 1000);
>   	hcd->state = HC_STATE_RUNNING;
> 
>   	if (quirk_zfmicro(ohci)) {

Why not simply use msleep()?

Alan Stern

Patch

diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index b263919..a6d58da 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -574,6 +574,7 @@  static int ohci_run (struct ohci_hcd *ohci)
  	u32			mask, val;
  	int			first = ohci->fminterval == 0;
  	struct usb_hcd		*hcd = ohci_to_hcd(ohci);
+	unsigned long		usecs;

  	disable (ohci);

@@ -724,7 +725,8 @@  retry:
  	spin_unlock_irq (&ohci->lock);

  	// POTPGT delay is bits 24-31, in 2 ms units.
-	mdelay ((val >> 23) & 0x1fe);
+	usecs = ((val >> 23) & 0x1fe) * USEC_PER_MSEC;
+	usleep_range(usecs, usecs + 1000);
  	hcd->state = HC_STATE_RUNNING;

  	if (quirk_zfmicro(ohci)) {