diff mbox series

Staging: nvec: nvec: fixed check style issues

Message ID 1544996634-10427-1-git-send-email-indigoomega021@gmail.com
State Deferred
Headers show
Series Staging: nvec: nvec: fixed check style issues | expand

Commit Message

Amir Mahdi Ghorbanian Dec. 16, 2018, 9:43 p.m. UTC
Replaced udelay() by the preferred usleep_range() function.

Signed-off-by: Amir Mahdi Ghorbanian <indigoomega021@gmail.com>
---
 drivers/staging/nvec/nvec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Joe Perches Dec. 16, 2018, 10:30 p.m. UTC | #1
On Sun, 2018-12-16 at 13:43 -0800, Amir Mahdi Ghorbanian wrote:
> Replaced udelay() by the preferred usleep_range() function.
[]
> diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
[]
> @@ -626,7 +626,7 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
>  		break;
>  	case 2:		/* first byte after command */
>  		if (status == (I2C_SL_IRQ | RNW | RCVD)) {
> -			udelay(33);
> +			usleep_range(0, 33);

Umm, this is not the same outcome.

udelay delays a minimum of 33 usecs.
usleep_range delays from min to max usecs.


kernel/time/timer.c: * usleep_range - Sleep for an approximate time
kernel/time/timer.c- * @min: Minimum time in usecs to sleep
kernel/time/timer.c- * @max: Maximum time in usecs to sleep
kernel/time/timer.c- *
kernel/time/timer.c- * In non-atomic context where the exact wakeup time is flexible, use
kernel/time/timer.c: * usleep_range() instead of udelay().  The sleep improves responsiveness
kernel/time/timer.c- * by avoiding the CPU-hogging busy-wait of udelay(), and the range reduces
kernel/time/timer.c- * power usage by allowing hrtimers to take advantage of an already-
kernel/time/timer.c- * scheduled interrupt instead of scheduling a new one just for this sleep.
kernel/time/timer.c- */

>  			if (nvec->rx->data[0] != 0x01) {
>  				dev_err(nvec->dev,
>  					"Read without prior read command\n");
> @@ -713,7 +713,7 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
>  	 * We experience less incomplete messages with this delay than without
>  	 * it, but we don't know why. Help is appreciated.
>  	 */
> -	udelay(100);
> +	usleep_range(0, 100);

here too.
Joey Pabalinas Dec. 16, 2018, 11:02 p.m. UTC | #2
On Sun, Dec 16, 2018 at 01:43:54PM -0800, Amir Mahdi Ghorbanian wrote:
> Replaced udelay() by the preferred usleep_range() function.
> 
> Signed-off-by: Amir Mahdi Ghorbanian <indigoomega021@gmail.com>

Nack, usleep_range isn't for atomic contexts like interrupt handlers.

> ---
>  drivers/staging/nvec/nvec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
> index 08027a3..6f35f92 100644
> --- a/drivers/staging/nvec/nvec.c
> +++ b/drivers/staging/nvec/nvec.c
> @@ -626,7 +626,7 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
>  		break;
>  	case 2:		/* first byte after command */
>  		if (status == (I2C_SL_IRQ | RNW | RCVD)) {
> -			udelay(33);
> +			usleep_range(0, 33);
>  			if (nvec->rx->data[0] != 0x01) {
>  				dev_err(nvec->dev,
>  					"Read without prior read command\n");
> @@ -713,7 +713,7 @@ static irqreturn_t nvec_interrupt(int irq, void *dev)
>  	 * We experience less incomplete messages with this delay than without
>  	 * it, but we don't know why. Help is appreciated.
>  	 */
> -	udelay(100);
> +	usleep_range(0, 100);
>  
>  	return IRQ_HANDLED;
>  }
> -- 
> 2.7.4
>
diff mbox series

Patch

diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
index 08027a3..6f35f92 100644
--- a/drivers/staging/nvec/nvec.c
+++ b/drivers/staging/nvec/nvec.c
@@ -626,7 +626,7 @@  static irqreturn_t nvec_interrupt(int irq, void *dev)
 		break;
 	case 2:		/* first byte after command */
 		if (status == (I2C_SL_IRQ | RNW | RCVD)) {
-			udelay(33);
+			usleep_range(0, 33);
 			if (nvec->rx->data[0] != 0x01) {
 				dev_err(nvec->dev,
 					"Read without prior read command\n");
@@ -713,7 +713,7 @@  static irqreturn_t nvec_interrupt(int irq, void *dev)
 	 * We experience less incomplete messages with this delay than without
 	 * it, but we don't know why. Help is appreciated.
 	 */
-	udelay(100);
+	usleep_range(0, 100);
 
 	return IRQ_HANDLED;
 }