davinci: psc: simplify if-statement
authorNicolas Kaiser <nikai@nikai.net>
Mon, 25 Oct 2010 12:41:18 +0000 (14:41 +0200)
committerKevin Hilman <khilman@deeprootsystems.com>
Fri, 10 Dec 2010 15:33:50 +0000 (07:33 -0800)
A common do-while loop can be factored out from the end of
the branches.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-davinci/psc.c

index 1b15dbd..a415804 100644 (file)
@@ -83,20 +83,15 @@ 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));