A common do-while loop can be factored out from the end of
the branches.

Signed-off-by: Nicolas Kaiser <[email protected]>
---
 arch/arm/mach-davinci/psc.c |   13 ++++---------
 1 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-davinci/psc.c b/arch/arm/mach-davinci/psc.c
index 1b15dbd..a415804 100644
--- a/arch/arm/mach-davinci/psc.c
+++ b/arch/arm/mach-davinci/psc.c
@@ -83,21 +83,16 @@ void davinci_psc_config(unsigned int domain, unsigned int 
ctlr,
                pdctl1 = __raw_readl(psc_base + PDCTL1);
                pdctl1 |= 0x100;
                __raw_writel(pdctl1, psc_base + PDCTL1);
-
-               do {
-                       ptstat = __raw_readl(psc_base +
-                                              PTSTAT);
-               } while (!(((ptstat >> domain) & 1) == 0));
        } else {
                ptcmd = 1 << domain;
                __raw_writel(ptcmd, psc_base + PTCMD);
-
-               do {
-                       ptstat = __raw_readl(psc_base + PTSTAT);
-               } while (!(((ptstat >> domain) & 1) == 0));
        }
 
        do {
+               ptstat = __raw_readl(psc_base + PTSTAT);
+       } while (!(((ptstat >> domain) & 1) == 0));
+
+       do {
                mdstat = __raw_readl(psc_base + MDSTAT + 4 * id);
        } while (!((mdstat & MDSTAT_STATE_MASK) == next_state));
 
-- 
1.7.2.2
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to