soc: renesas: rcar-sysc: Drop legacy handling
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 30 May 2018 15:25:16 +0000 (17:25 +0200)
committerSimon Horman <horms+renesas@verge.net.au>
Mon, 18 Jun 2018 10:00:29 +0000 (12:00 +0200)
Now the R-Car platform code no longer supports DTBs lacking a SYSC
device node in DT, all legacy handling can be dropped from the R-Car
SYSC driver:
  - Make rcar_sysc_ch private to the driver,
  - Make rcar_sysc_power_{down,up}() static (they have been replaced by
    rcar_sysc_power_{down,up}_cpu()),
  - Remove the legacy wrapper rcar_sysc_init(), and the check for double
    initialization (only the early_initcall is left).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/soc/renesas/rcar-sysc.c
include/linux/soc/renesas/rcar-sysc.h

index 4ad6dcd..41af9c7 100644 (file)
 
 #define RCAR_PD_ALWAYS_ON      32      /* Always-on power area */
 
+struct rcar_sysc_ch {
+       u16 chan_offs;
+       u8 chan_bit;
+       u8 isr_bit;
+};
+
 static void __iomem *rcar_sysc_base;
 static DEFINE_SPINLOCK(rcar_sysc_lock); /* SMP CPUs + I/O devices */
 
@@ -143,12 +149,12 @@ static int rcar_sysc_power(const struct rcar_sysc_ch *sysc_ch, bool on)
        return ret;
 }
 
-int rcar_sysc_power_down(const struct rcar_sysc_ch *sysc_ch)
+static int rcar_sysc_power_down(const struct rcar_sysc_ch *sysc_ch)
 {
        return rcar_sysc_power(sysc_ch, false);
 }
 
-int rcar_sysc_power_up(const struct rcar_sysc_ch *sysc_ch)
+static int rcar_sysc_power_up(const struct rcar_sysc_ch *sysc_ch)
 {
        return rcar_sysc_power(sysc_ch, true);
 }
@@ -323,9 +329,6 @@ static int __init rcar_sysc_pd_init(void)
        unsigned int i;
        int error;
 
-       if (rcar_sysc_base)
-               return 0;
-
        np = of_find_matching_node_and_match(NULL, rcar_sysc_matches, &match);
        if (!np)
                return -ENODEV;
@@ -428,31 +431,6 @@ void __init rcar_sysc_nullify(struct rcar_sysc_area *areas,
                }
 }
 
-void __init rcar_sysc_init(phys_addr_t base, u32 syscier)
-{
-       u32 syscimr;
-
-       if (!rcar_sysc_pd_init())
-               return;
-
-       rcar_sysc_base = ioremap_nocache(base, PAGE_SIZE);
-
-       /*
-        * Mask all interrupt sources to prevent the CPU from receiving them.
-        * Make sure not to clear reserved bits that were set before.
-        */
-       syscimr = ioread32(rcar_sysc_base + SYSCIMR);
-       syscimr |= syscier;
-       pr_debug("%s: syscimr = 0x%08x\n", __func__, syscimr);
-       iowrite32(syscimr, rcar_sysc_base + SYSCIMR);
-
-       /*
-        * SYSC needs all interrupt sources enabled to control power.
-        */
-       pr_debug("%s: syscier = 0x%08x\n", __func__, syscier);
-       iowrite32(syscier, rcar_sysc_base + SYSCIER);
-}
-
 #ifdef CONFIG_ARCH_R8A7779
 static int rcar_sysc_power_cpu(unsigned int idx, bool on)
 {
index 9020da2..00fae6f 100644 (file)
@@ -2,17 +2,6 @@
 #ifndef __LINUX_SOC_RENESAS_RCAR_SYSC_H__
 #define __LINUX_SOC_RENESAS_RCAR_SYSC_H__
 
-#include <linux/types.h>
-
-struct rcar_sysc_ch {
-       u16 chan_offs;
-       u8 chan_bit;
-       u8 isr_bit;
-};
-
-int rcar_sysc_power_down(const struct rcar_sysc_ch *sysc_ch);
-int rcar_sysc_power_up(const struct rcar_sysc_ch *sysc_ch);
-void rcar_sysc_init(phys_addr_t base, u32 syscier);
 int rcar_sysc_power_down_cpu(unsigned int cpu);
 int rcar_sysc_power_up_cpu(unsigned int cpu);