From: Alan Cox <alan@linux.intel.com>
Date: Thu, 6 Aug 2009 19:45:35 +0000 (+0100)
Subject: Staging: sep: We have two different repeats of the same logic
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=794f1d789520d423ef6d90d5390edea5c1b687c2;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git

Staging: sep: We have two different repeats of the same logic

So how about a little helper

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---

diff --git a/drivers/staging/sep/sep_main_mod.c b/drivers/staging/sep/sep_main_mod.c
index 7e2fd3d1fbe..b739f7d4629 100644
--- a/drivers/staging/sep/sep_main_mod.c
+++ b/drivers/staging/sep/sep_main_mod.c
@@ -3803,6 +3803,15 @@ static int sep_set_time(unsigned long		*address_ptr,
   return 0;
 }
 
+static void sep_wait_busy(struct sep_device *dev)
+{
+	u32 reg;
+
+	do {
+		reg = sep_read_reg(sep_dev, HW_HOST_SEP_BUSY_REG_ADDR);
+	} while (reg);
+}
+
 /*
   PATCH for configuring the DMA to single burst instead of multi-burst
 */
@@ -3822,9 +3831,7 @@ static void sep_configure_dma_burst(void)
   DEBUG_PRINT_0(SEP_DEBUG_LEVEL_BASIC,
 		"SEP Driver:<-------- sep_configure_dma_burst finished request access to registers from SEP (write reg)  \n");
 
- regVal = sep_read_reg(sep_dev, HW_HOST_SEP_BUSY_REG_ADDR);
-  while (regVal)
-	regVal = sep_read_reg(sep_dev, HW_HOST_SEP_BUSY_REG_ADDR);
+  sep_wait_busy(sep_dev);
 
   DEBUG_PRINT_0(SEP_DEBUG_LEVEL_BASIC,
 		"SEP Driver:<-------- sep_configure_dma_burst finished request access to registers from SEP (while(revVal) wait loop)  \n");
@@ -3834,9 +3841,7 @@ static void sep_configure_dma_burst(void)
 
   /* release the sep busy */
   sep_write_reg(sep_dev, HW_HOST_HOST_SEP_GPR0_REG_ADDR, 0x0UL);
-  regVal = sep_read_reg(sep_dev, HW_HOST_SEP_BUSY_REG_ADDR);
-  while (regVal != 0x0)
-	  regVal = sep_read_reg(sep_dev, HW_HOST_SEP_BUSY_REG_ADDR);
+  sep_wait_busy(sep_dev);
 
   DEBUG_PRINT_0(SEP_DEBUG_LEVEL_BASIC,
 		"SEP Driver:<-------- sep_configure_dma_burst done  \n");