]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
power: reset: at91-reset: make at91sam9g45_restart() generic
authorClaudiu.Beznea@microchip.com <Claudiu.Beznea@microchip.com>
Tue, 21 Jan 2020 10:03:37 +0000 (10:03 +0000)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Sun, 8 Mar 2020 18:38:04 +0000 (19:38 +0100)
Make at91sam9g45_restart() generic.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/reset/at91-reset.c

index 4e1961334e4d0fbecd71506c77e24f82246a5c5d..61433060d7849c08fb4802d39ebf77b8afdbc389 100644 (file)
@@ -105,32 +105,23 @@ static int at91sam9g45_restart(struct notifier_block *this, unsigned long mode,
        struct at91_reset *reset = container_of(this, struct at91_reset, nb);
 
        asm volatile(
-               /*
-                * Test wether we have a second RAM controller to care
-                * about.
-                *
-                * First, test that we can dereference the virtual address.
-                */
-               "cmp    %1, #0\n\t"
-               "beq    1f\n\t"
-
-               /* Then, test that the RAM controller is enabled */
-               "ldr    r4, [%1]\n\t"
-               "cmp    r4, #0\n\t"
-
                /* Align to cache lines */
                ".balign 32\n\t"
 
                /* Disable SDRAM0 accesses */
-               "1:     str     %3, [%0, #" __stringify(AT91_DDRSDRC_RTR) "]\n\t"
+               "       tst     %0, #0\n\t"
+               "       beq     1f\n\t"
+               "       str     %3, [%0, #" __stringify(AT91_DDRSDRC_RTR) "]\n\t"
                /* Power down SDRAM0 */
                "       str     %4, [%0, %6]\n\t"
                /* Disable SDRAM1 accesses */
+               "1:     tst     %1, #0\n\t"
+               "       beq     2f\n\t"
                "       strne   %3, [%1, #" __stringify(AT91_DDRSDRC_RTR) "]\n\t"
                /* Power down SDRAM1 */
                "       strne   %4, [%1, %6]\n\t"
                /* Reset CPU */
-               "       str     %5, [%2, #" __stringify(AT91_RSTC_CR) "]\n\t"
+               "2:     str     %5, [%2, #" __stringify(AT91_RSTC_CR) "]\n\t"
 
                "       b       .\n\t"
                :