]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
arm: delete __cpuinit/__CPUINIT usage from all ARM users
authorPaul Gortmaker <paul.gortmaker@windriver.com>
Mon, 17 Jun 2013 19:43:14 +0000 (15:43 -0400)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Sun, 14 Jul 2013 23:36:52 +0000 (19:36 -0400)
The __cpuinit type of throwaway sections might have made sense
some time ago when RAM was more constrained, but now the savings
do not offset the cost and complications.  For example, the fix in
commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
is a good example of the nasty type of bugs that can be created
with improper use of the various __init prefixes.

After a discussion on LKML[1] it was decided that cpuinit should go
the way of devinit and be phased out.  Once all the users are gone,
we can then finally remove the macros themselves from linux/init.h.

Note that some harmless section mismatch warnings may result, since
notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
and are flagged as __cpuinit  -- so if we remove the __cpuinit from
the arch specific callers, we will also get section mismatch warnings.
As an intermediate step, we intend to turn the linux/init.h cpuinit
related content into no-ops as early as possible, since that will get
rid of these warnings.  In any case, they are temporary and harmless.

This removes all the ARM uses of the __cpuinit macros from C code,
and all __CPUINIT from assembly code.  It also had two ".previous"
section statements that were paired off against __CPUINIT
(aka .section ".cpuinit.text") that also get removed here.

[1] https://lkml.org/lkml/2013/5/20/589

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
70 files changed:
arch/arm/common/mcpm_platsmp.c
arch/arm/include/asm/arch_timer.h
arch/arm/kernel/head-common.S
arch/arm/kernel/head-nommu.S
arch/arm/kernel/head.S
arch/arm/kernel/hw_breakpoint.c
arch/arm/kernel/perf_event_cpu.c
arch/arm/kernel/psci_smp.c
arch/arm/kernel/smp.c
arch/arm/kernel/smp_twd.c
arch/arm/lib/delay.c
arch/arm/mach-exynos/headsmp.S
arch/arm/mach-exynos/platsmp.c
arch/arm/mach-highbank/platsmp.c
arch/arm/mach-imx/platsmp.c
arch/arm/mach-keystone/platsmp.c
arch/arm/mach-msm/headsmp.S
arch/arm/mach-msm/platsmp.c
arch/arm/mach-msm/timer.c
arch/arm/mach-mvebu/coherency.c
arch/arm/mach-mvebu/headsmp.S
arch/arm/mach-mvebu/platsmp.c
arch/arm/mach-omap2/omap-headsmp.S
arch/arm/mach-omap2/omap-mpuss-lowpower.c
arch/arm/mach-omap2/omap-smp.c
arch/arm/mach-omap2/omap-wakeupgen.c
arch/arm/mach-prima2/headsmp.S
arch/arm/mach-prima2/platsmp.c
arch/arm/mach-shmobile/headsmp-scu.S
arch/arm/mach-shmobile/headsmp.S
arch/arm/mach-shmobile/smp-emev2.c
arch/arm/mach-shmobile/smp-r8a7779.c
arch/arm/mach-shmobile/smp-sh73a0.c
arch/arm/mach-socfpga/headsmp.S
arch/arm/mach-socfpga/platsmp.c
arch/arm/mach-spear/generic.h
arch/arm/mach-spear/platsmp.c
arch/arm/mach-sti/platsmp.c
arch/arm/mach-tegra/platsmp.c
arch/arm/mach-tegra/pm.c
arch/arm/mach-ux500/platsmp.c
arch/arm/mach-zynq/common.h
arch/arm/mach-zynq/headsmp.S
arch/arm/mach-zynq/platsmp.c
arch/arm/mm/proc-arm1020.S
arch/arm/mm/proc-arm1020e.S
arch/arm/mm/proc-arm1022.S
arch/arm/mm/proc-arm1026.S
arch/arm/mm/proc-arm720.S
arch/arm/mm/proc-arm740.S
arch/arm/mm/proc-arm7tdmi.S
arch/arm/mm/proc-arm920.S
arch/arm/mm/proc-arm922.S
arch/arm/mm/proc-arm925.S
arch/arm/mm/proc-arm926.S
arch/arm/mm/proc-arm940.S
arch/arm/mm/proc-arm946.S
arch/arm/mm/proc-arm9tdmi.S
arch/arm/mm/proc-fa526.S
arch/arm/mm/proc-feroceon.S
arch/arm/mm/proc-mohawk.S
arch/arm/mm/proc-sa110.S
arch/arm/mm/proc-sa1100.S
arch/arm/mm/proc-v6.S
arch/arm/mm/proc-v7-2level.S
arch/arm/mm/proc-v7-3level.S
arch/arm/mm/proc-v7.S
arch/arm/mm/proc-xsc3.S
arch/arm/mm/proc-xscale.S
arch/arm/plat-versatile/platsmp.c

index 510e5b13aa2e2a4e65c01de1ce9a82635b01bce4..1bc34c7567fdf890a5eea685c04d70f7de89ffbf 100644 (file)
@@ -19,7 +19,7 @@
 #include <asm/smp.h>
 #include <asm/smp_plat.h>
 
-static int __cpuinit mcpm_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int mcpm_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        unsigned int mpidr, pcpu, pcluster, ret;
        extern void secondary_startup(void);
@@ -40,7 +40,7 @@ static int __cpuinit mcpm_boot_secondary(unsigned int cpu, struct task_struct *i
        return 0;
 }
 
-static void __cpuinit mcpm_secondary_init(unsigned int cpu)
+static void mcpm_secondary_init(unsigned int cpu)
 {
        mcpm_cpu_powered_up();
 }
index accefe0991828e2984c5c1ff49b25dece76edcc0..e406d575c94f500f962888a5240b64d6bfcecfb5 100644 (file)
@@ -89,7 +89,7 @@ static inline u64 arch_counter_get_cntvct(void)
        return cval;
 }
 
-static inline void __cpuinit arch_counter_set_user_access(void)
+static inline void arch_counter_set_user_access(void)
 {
        u32 cntkctl;
 
index 76ab5ca506100c1883a8cebe57fd02eacd24a6d9..47cd974e57ea3ca0de7e9feccd9e527c2ba39f1f 100644 (file)
@@ -149,7 +149,6 @@ ENDPROC(lookup_processor_type)
  *     r5 = proc_info pointer in physical address space
  *     r9 = cpuid (preserved)
  */
-       __CPUINIT
 __lookup_processor_type:
        adr     r3, __lookup_processor_type_data
        ldmia   r3, {r4 - r6}
index 75f14cc3e07310050cec95feddcfa63f1191fe82..b361de143756d4a3412f4512d794eebc173e25e8 100644 (file)
@@ -87,7 +87,6 @@ ENTRY(stext)
 ENDPROC(stext)
 
 #ifdef CONFIG_SMP
-       __CPUINIT
 ENTRY(secondary_startup)
        /*
         * Common entry point for secondary CPUs.
index 45e8935cae4e44198ca4d197a66f219b7e7b8105..9cf6063020ae99ce68afb617bf88905ec5f6212f 100644 (file)
@@ -343,7 +343,6 @@ __turn_mmu_on_loc:
        .long   __turn_mmu_on_end
 
 #if defined(CONFIG_SMP)
-       __CPUINIT
 ENTRY(secondary_startup)
        /*
         * Common entry point for secondary CPUs.
index 1fd749ee4a1bb96c1740f4a131fde1d3cd53bfb0..7b95de6013571df3528716f2bba00f8dfd13badf 100644 (file)
@@ -1020,7 +1020,7 @@ out_mdbgen:
                cpumask_or(&debug_err_mask, &debug_err_mask, cpumask_of(cpu));
 }
 
-static int __cpuinit dbg_reset_notify(struct notifier_block *self,
+static int dbg_reset_notify(struct notifier_block *self,
                                      unsigned long action, void *cpu)
 {
        if ((action & ~CPU_TASKS_FROZEN) == CPU_ONLINE)
@@ -1029,7 +1029,7 @@ static int __cpuinit dbg_reset_notify(struct notifier_block *self,
        return NOTIFY_OK;
 }
 
-static struct notifier_block __cpuinitdata dbg_reset_nb = {
+static struct notifier_block dbg_reset_nb = {
        .notifier_call = dbg_reset_notify,
 };
 
index 1f2740e3dbc028c062c134d58ceb6344f2045d36..aebe0e99c153eaa6889efc7b36459ebdfaeb65cc 100644 (file)
@@ -157,8 +157,8 @@ static void cpu_pmu_init(struct arm_pmu *cpu_pmu)
  * UNKNOWN at reset, the PMU must be explicitly reset to avoid reading
  * junk values out of them.
  */
-static int __cpuinit cpu_pmu_notify(struct notifier_block *b,
-                                   unsigned long action, void *hcpu)
+static int cpu_pmu_notify(struct notifier_block *b, unsigned long action,
+                         void *hcpu)
 {
        if ((action & ~CPU_TASKS_FROZEN) != CPU_STARTING)
                return NOTIFY_DONE;
@@ -171,7 +171,7 @@ static int __cpuinit cpu_pmu_notify(struct notifier_block *b,
        return NOTIFY_OK;
 }
 
-static struct notifier_block __cpuinitdata cpu_pmu_hotplug_notifier = {
+static struct notifier_block cpu_pmu_hotplug_notifier = {
        .notifier_call = cpu_pmu_notify,
 };
 
index 219f1d73572a588d431dca2e0bb7f7b598ea9899..70ded3fb42d9887c71293755aff8354784220d64 100644 (file)
@@ -46,8 +46,7 @@
 
 extern void secondary_startup(void);
 
-static int __cpuinit psci_boot_secondary(unsigned int cpu,
-                                        struct task_struct *idle)
+static int psci_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        if (psci_ops.cpu_on)
                return psci_ops.cpu_on(cpu_logical_map(cpu),
index c5fb5469054bddea98b9ba9647f7ed75929481aa..c2b4f8f0be9a31b20126cc76ba69b14f2d22b585 100644 (file)
@@ -58,7 +58,7 @@ struct secondary_data secondary_data;
  * control for which core is the next to come out of the secondary
  * boot "holding pen"
  */
-volatile int __cpuinitdata pen_release = -1;
+volatile int pen_release = -1;
 
 enum ipi_msg_type {
        IPI_WAKEUP,
@@ -86,7 +86,7 @@ static unsigned long get_arch_pgd(pgd_t *pgd)
        return pgdir >> ARCH_PGD_SHIFT;
 }
 
-int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle)
+int __cpu_up(unsigned int cpu, struct task_struct *idle)
 {
        int ret;
 
@@ -138,7 +138,7 @@ void __init smp_init_cpus(void)
                smp_ops.smp_init_cpus();
 }
 
-int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
+int boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        if (smp_ops.smp_boot_secondary)
                return smp_ops.smp_boot_secondary(cpu, idle);
@@ -170,7 +170,7 @@ static int platform_cpu_disable(unsigned int cpu)
 /*
  * __cpu_disable runs on the processor to be shutdown.
  */
-int __cpuinit __cpu_disable(void)
+int __cpu_disable(void)
 {
        unsigned int cpu = smp_processor_id();
        int ret;
@@ -216,7 +216,7 @@ static DECLARE_COMPLETION(cpu_died);
  * called on the thread which is asking for a CPU to be shutdown -
  * waits until shutdown has completed, or it is timed out.
  */
-void __cpuinit __cpu_die(unsigned int cpu)
+void __cpu_die(unsigned int cpu)
 {
        if (!wait_for_completion_timeout(&cpu_died, msecs_to_jiffies(5000))) {
                pr_err("CPU%u: cpu didn't die\n", cpu);
@@ -306,7 +306,7 @@ void __ref cpu_die(void)
  * Called by both boot and secondaries to move global data into
  * per-processor storage.
  */
-static void __cpuinit smp_store_cpu_info(unsigned int cpuid)
+static void smp_store_cpu_info(unsigned int cpuid)
 {
        struct cpuinfo_arm *cpu_info = &per_cpu(cpu_data, cpuid);
 
@@ -322,7 +322,7 @@ static void percpu_timer_setup(void);
  * This is the secondary CPU boot entry.  We're using this CPUs
  * idle thread stack, but a set of temporary page tables.
  */
-asmlinkage void __cpuinit secondary_start_kernel(void)
+asmlinkage void secondary_start_kernel(void)
 {
        struct mm_struct *mm = &init_mm;
        unsigned int cpu;
@@ -521,7 +521,7 @@ static void broadcast_timer_set_mode(enum clock_event_mode mode,
 {
 }
 
-static void __cpuinit broadcast_timer_setup(struct clock_event_device *evt)
+static void broadcast_timer_setup(struct clock_event_device *evt)
 {
        evt->name       = "dummy_timer";
        evt->features   = CLOCK_EVT_FEAT_ONESHOT |
@@ -550,7 +550,7 @@ int local_timer_register(struct local_timer_ops *ops)
 }
 #endif
 
-static void __cpuinit percpu_timer_setup(void)
+static void percpu_timer_setup(void)
 {
        unsigned int cpu = smp_processor_id();
        struct clock_event_device *evt = &per_cpu(percpu_clockevent, cpu);
index f6fd1d4398c6febcca070a90985d3585af9a6939..25956204ef23ee19b4aeb1b3e290342e484252d9 100644 (file)
@@ -187,7 +187,7 @@ core_initcall(twd_cpufreq_init);
 
 #endif
 
-static void __cpuinit twd_calibrate_rate(void)
+static void twd_calibrate_rate(void)
 {
        unsigned long count;
        u64 waitjiffies;
@@ -265,7 +265,7 @@ static void twd_get_clock(struct device_node *np)
 /*
  * Setup the local clock events for a CPU.
  */
-static int __cpuinit twd_timer_setup(struct clock_event_device *clk)
+static int twd_timer_setup(struct clock_event_device *clk)
 {
        struct clock_event_device **this_cpu_clk;
        int cpu = smp_processor_id();
@@ -308,7 +308,7 @@ static int __cpuinit twd_timer_setup(struct clock_event_device *clk)
        return 0;
 }
 
-static struct local_timer_ops twd_lt_ops __cpuinitdata = {
+static struct local_timer_ops twd_lt_ops = {
        .setup  = twd_timer_setup,
        .stop   = twd_timer_stop,
 };
index 64dbfa57204ae9c3fde48c6efaec7f60e3c6af89..5306de35013397994ec6873f2a713af5d47867a4 100644 (file)
@@ -86,7 +86,7 @@ void __init register_current_timer_delay(const struct delay_timer *timer)
        }
 }
 
-unsigned long __cpuinit calibrate_delay_is_known(void)
+unsigned long calibrate_delay_is_known(void)
 {
        delay_calibrated = true;
        return lpj_fine;
index 5364d4bfa8bc79efe6d51b27ff361811d98b8227..cdd9d91e99330487926b3518343bc9e6906753bf 100644 (file)
@@ -13,8 +13,6 @@
 #include <linux/linkage.h>
 #include <linux/init.h>
 
-       __CPUINIT
-
 /*
  * exynos4 specific entry point for secondary CPUs.  This provides
  * a "holding pen" into which all secondary cores are held until we're
index deba1308ff162eddfb76578f3547e96eb16c8120..58b43e6f926212277c38257ff50956c1aca16776 100644 (file)
@@ -75,7 +75,7 @@ static void __iomem *scu_base_addr(void)
 
 static DEFINE_SPINLOCK(boot_lock);
 
-static void __cpuinit exynos_secondary_init(unsigned int cpu)
+static void exynos_secondary_init(unsigned int cpu)
 {
        /*
         * let the primary processor know we're out of the
@@ -90,7 +90,7 @@ static void __cpuinit exynos_secondary_init(unsigned int cpu)
        spin_unlock(&boot_lock);
 }
 
-static int __cpuinit exynos_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int exynos_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        unsigned long timeout;
        unsigned long phys_cpu = cpu_logical_map(cpu);
index a984573e0d02323c62cdfe11aadb12ae3f37ecda..32d75cf55cbc72d3e48281d7ade3ead1de793ba3 100644 (file)
@@ -24,7 +24,7 @@
 
 extern void secondary_startup(void);
 
-static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int highbank_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        highbank_set_cpu_jump(cpu, secondary_startup);
        arch_send_wakeup_ipi_mask(cpumask_of(cpu));
index c6e1ab5448822c8aaed044413f726b0dc8c47a39..1f24c1fdfea4eec4dafaf2ed4072682145fdb3b1 100644 (file)
@@ -53,7 +53,7 @@ void imx_scu_standby_enable(void)
        writel_relaxed(val, scu_base);
 }
 
-static int __cpuinit imx_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int imx_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        imx_set_cpu_jump(cpu, v7_secondary_startup);
        imx_enable_cpu(cpu, true);
index 1d4181e1daf2f83fafc38ce904dd2e14c5459af9..14378e3fef16309f2da2bb91ae6e558972bde938 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "keystone.h"
 
-static int __cpuinit keystone_smp_boot_secondary(unsigned int cpu,
+static int keystone_smp_boot_secondary(unsigned int cpu,
                                                struct task_struct *idle)
 {
        unsigned long start = virt_to_phys(&secondary_startup);
index bcd5af223deabaf48451bf3a4d67cea23c82566e..6c62c3f82fe668b33cf5976a36edce8d572eb833 100644 (file)
@@ -11,8 +11,6 @@
 #include <linux/linkage.h>
 #include <linux/init.h>
 
-       __CPUINIT
-
 /*
  * MSM specific entry point for secondary CPUs.  This provides
  * a "holding pen" into which all secondary cores are held until we're
index 00cdb0a5dac8e7f81710922eb59795ffa1fe8f55..3f06edcdd0ce7a05e84aab9babd912a2033ffa97 100644 (file)
@@ -38,7 +38,7 @@ static inline int get_core_count(void)
        return ((read_cpuid_id() >> 4) & 3) + 1;
 }
 
-static void __cpuinit msm_secondary_init(unsigned int cpu)
+static void msm_secondary_init(unsigned int cpu)
 {
        /*
         * let the primary processor know we're out of the
@@ -54,7 +54,7 @@ static void __cpuinit msm_secondary_init(unsigned int cpu)
        spin_unlock(&boot_lock);
 }
 
-static __cpuinit void prepare_cold_cpu(unsigned int cpu)
+static void prepare_cold_cpu(unsigned int cpu)
 {
        int ret;
        ret = scm_set_boot_addr(virt_to_phys(msm_secondary_startup),
@@ -73,7 +73,7 @@ static __cpuinit void prepare_cold_cpu(unsigned int cpu)
                                  "address\n");
 }
 
-static int __cpuinit msm_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int msm_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        unsigned long timeout;
        static int cold_boot_done;
index b6418fd5fe0dc49eb6c6fbfef7d30b918ba2e193..8697cfc0d0b6a74538a59eaf92bd3266a10bab9f 100644 (file)
@@ -139,7 +139,7 @@ static struct clocksource msm_clocksource = {
 };
 
 #ifdef CONFIG_LOCAL_TIMERS
-static int __cpuinit msm_local_timer_setup(struct clock_event_device *evt)
+static int msm_local_timer_setup(struct clock_event_device *evt)
 {
        /* Use existing clock_event for cpu 0 */
        if (!smp_processor_id())
@@ -164,7 +164,7 @@ static void msm_local_timer_stop(struct clock_event_device *evt)
        disable_percpu_irq(evt->irq);
 }
 
-static struct local_timer_ops msm_local_timer_ops __cpuinitdata = {
+static struct local_timer_ops msm_local_timer_ops = {
        .setup  = msm_local_timer_setup,
        .stop   = msm_local_timer_stop,
 };
index be117591f7f256ca04c47c40d7fabd38aa081161..4c24303ec4816bfb6f1c4bc0695f57450a624517 100644 (file)
@@ -28,7 +28,7 @@
 #include <asm/cacheflush.h>
 #include "armada-370-xp.h"
 
-unsigned long __cpuinitdata coherency_phys_base;
+unsigned long coherency_phys_base;
 static void __iomem *coherency_base;
 static void __iomem *coherency_cpu_base;
 
index 7147300c8af25d20e90279632a1499f3e9dbb674..8a1b0c96e9ece9a05ba3c78a04e51c5d65c3f240 100644 (file)
@@ -21,8 +21,6 @@
 #include <linux/linkage.h>
 #include <linux/init.h>
 
-       __CPUINIT
-
 /*
  * Armada XP specific entry point for secondary CPUs.
  * We add the CPU to the coherency fabric and then jump to secondary
index 93f2f3ab45f1346925dc0a17db326a23e553ca1c..ce81d303140598debb8e5cb9c6bb557e28268f49 100644 (file)
@@ -71,13 +71,12 @@ void __init set_secondary_cpus_clock(void)
        }
 }
 
-static void __cpuinit armada_xp_secondary_init(unsigned int cpu)
+static void armada_xp_secondary_init(unsigned int cpu)
 {
        armada_xp_mpic_smp_cpu_init();
 }
 
-static int __cpuinit armada_xp_boot_secondary(unsigned int cpu,
-                                             struct task_struct *idle)
+static int armada_xp_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        pr_info("Booting CPU %d\n", cpu);
 
index 4ea308114165689e1638eca94f1099d436cce803..75e92952c18efe3e597791e6798c2ee2ce5969a1 100644 (file)
@@ -20,8 +20,6 @@
 
 #include "omap44xx.h"
 
-       __CPUINIT
-
 /* Physical address needed since MMU not enabled yet on secondary core */
 #define AUX_CORE_BOOT0_PA                      0x48281800
 
index f993a41887010f726e7bee233f3bb80754cc4a47..f991016e2a6ac38a6f444b48c31dac4a2e0cc332 100644 (file)
@@ -291,7 +291,7 @@ int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state)
  * @cpu : CPU ID
  * @power_state: CPU low power state.
  */
-int __cpuinit omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
+int omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state)
 {
        struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu);
        unsigned int cpu_state = 0;
index 98a11463a843afdaca3ef99680e0a7c785d5fc33..8708b2a9da453e91be9bc16590d48e9652b35508 100644 (file)
@@ -51,7 +51,7 @@ void __iomem *omap4_get_scu_base(void)
        return scu_base;
 }
 
-static void __cpuinit omap4_secondary_init(unsigned int cpu)
+static void omap4_secondary_init(unsigned int cpu)
 {
        /*
         * Configure ACTRL and enable NS SMP bit access on CPU1 on HS device.
@@ -72,7 +72,7 @@ static void __cpuinit omap4_secondary_init(unsigned int cpu)
        spin_unlock(&boot_lock);
 }
 
-static int __cpuinit omap4_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int omap4_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        static struct clockdomain *cpu1_clkdm;
        static bool booted;
index f8bb3b9b6a76238af322ea1e9ee4fde52b7ac46b..813c61558a5fcc70dfafea59a2a7d14c5b893c10 100644 (file)
@@ -323,8 +323,8 @@ static void irq_save_secure_context(void)
 #endif
 
 #ifdef CONFIG_HOTPLUG_CPU
-static int __cpuinit irq_cpu_hotplug_notify(struct notifier_block *self,
-                                        unsigned long action, void *hcpu)
+static int irq_cpu_hotplug_notify(struct notifier_block *self,
+                                 unsigned long action, void *hcpu)
 {
        unsigned int cpu = (unsigned int)hcpu;
 
index 5b8a408d892173266bd2fc39c820e2104cd4ad17..d86fe33c5f538a206ed26421b54482d9058b1b3b 100644 (file)
@@ -9,8 +9,6 @@
 #include <linux/linkage.h>
 #include <linux/init.h>
 
-       __CPUINIT
-
 /*
  * SIRFSOC specific entry point for secondary CPUs.  This provides
  * a "holding pen" into which all secondary cores are held until we're
index 1c3de7bed841328a2f2d0020962a7e54309b2ced..3dbcb1ab6e37e5ea5eeedcc05c27e45b9e14ac2b 100644 (file)
@@ -44,7 +44,7 @@ void __init sirfsoc_map_scu(void)
        scu_base = (void __iomem *)SIRFSOC_VA(base);
 }
 
-static void __cpuinit sirfsoc_secondary_init(unsigned int cpu)
+static void sirfsoc_secondary_init(unsigned int cpu)
 {
        /*
         * let the primary processor know we're out of the
@@ -65,7 +65,7 @@ static struct of_device_id rsc_ids[]  = {
        {},
 };
 
-static int __cpuinit sirfsoc_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int sirfsoc_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        unsigned long timeout;
        struct device_node *np;
index 6f986546725892df07a62fd097ab363a4e7270f7..bfd920083a3b294db1808d1cf9a145d2d6afa59e 100644 (file)
@@ -23,7 +23,6 @@
 #include <linux/init.h>
 #include <asm/memory.h>
 
-       __CPUINIT
 /*
  * Boot code for secondary CPUs.
  *
index 559d1ce5f57ee0a47ffbea3d1332b41aca0fc03d..a9d21249898701f2838507b5c7e5096a2874bccd 100644 (file)
@@ -14,8 +14,6 @@
 #include <linux/init.h>
 #include <asm/memory.h>
 
-       __CPUINIT
-
 ENTRY(shmobile_invalidate_start)
        bl      v7_invalidate_l1
        b       secondary_startup
index 80991b35f4ac0af6a7878c3e79cc97d2704995fb..22a05a869d2559ddf26bd2f3666f746218280d69 100644 (file)
@@ -30,7 +30,7 @@
 
 #define EMEV2_SCU_BASE 0x1e000000
 
-static int __cpuinit emev2_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int emev2_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        arch_send_wakeup_ipi_mask(cpumask_of(cpu_logical_map(cpu)));
        return 0;
index 526cfaae81c1bd35897735db73aa309cbe30028f..9bdf810f2a87489677394138a47f54f121bc3f91 100644 (file)
@@ -81,7 +81,7 @@ static int r8a7779_platform_cpu_kill(unsigned int cpu)
        return ret ? ret : 1;
 }
 
-static int __cpuinit r8a7779_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int r8a7779_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        struct r8a7779_pm_ch *ch = NULL;
        int ret = -EIO;
index d613113a04bda27f12042803a92fe239be567a9b..d5fc3ed4e31542c2bc1c8a68fb0ebe923105a21d 100644 (file)
@@ -48,7 +48,7 @@ void __init sh73a0_register_twd(void)
 }
 #endif
 
-static int __cpuinit sh73a0_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int sh73a0_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        cpu = cpu_logical_map(cpu);
 
index 9004bfb1756ee345192d78c3f2a125c2b985a8e5..95c115d8b5eee5407feb99ce996f5793ceb34747 100644 (file)
@@ -10,7 +10,6 @@
 #include <linux/linkage.h>
 #include <linux/init.h>
 
-       __CPUINIT
        .arch   armv7-a
 
 ENTRY(secondary_trampoline)
index b51ce8c7929dcf16991d2f3e45914c7ede976b92..5356a72bc8ce901fdf82d0626f6ca59c9bfa85bf 100644 (file)
@@ -29,7 +29,7 @@
 
 #include "core.h"
 
-static int __cpuinit socfpga_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int socfpga_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        int trampoline_size = &secondary_trampoline_end - &secondary_trampoline;
 
index 904f2c907b46d7a2a77229aa01812c0749670b6c..a99d90a4d09c522d0d01c5fd54d5dd2b3c1cdfda 100644 (file)
@@ -37,7 +37,7 @@ void __init spear13xx_l2x0_init(void);
 void spear_restart(enum reboot_mode, const char *);
 
 void spear13xx_secondary_startup(void);
-void __cpuinit spear13xx_cpu_die(unsigned int cpu);
+void spear13xx_cpu_die(unsigned int cpu);
 
 extern struct smp_operations spear13xx_smp_ops;
 
index 9c4c722c954e0b0b4eceb1f75c33b6777b4eed96..5c4a19887b2bb13b1c4779a6a676acc18ad35d52 100644 (file)
@@ -24,7 +24,7 @@ static DEFINE_SPINLOCK(boot_lock);
 
 static void __iomem *scu_base = IOMEM(VA_SCU_BASE);
 
-static void __cpuinit spear13xx_secondary_init(unsigned int cpu)
+static void spear13xx_secondary_init(unsigned int cpu)
 {
        /*
         * let the primary processor know we're out of the
@@ -40,7 +40,7 @@ static void __cpuinit spear13xx_secondary_init(unsigned int cpu)
        spin_unlock(&boot_lock);
 }
 
-static int __cpuinit spear13xx_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int spear13xx_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        unsigned long timeout;
 
index 977a863468fcb715079540328da5d9d3041ef48b..dce50d983a8edc267c4157903952f07487a177c7 100644 (file)
@@ -27,7 +27,7 @@
 
 #include "smp.h"
 
-static void __cpuinit write_pen_release(int val)
+static void write_pen_release(int val)
 {
        pen_release = val;
        smp_wmb();
@@ -37,7 +37,7 @@ static void __cpuinit write_pen_release(int val)
 
 static DEFINE_SPINLOCK(boot_lock);
 
-void __cpuinit sti_secondary_init(unsigned int cpu)
+void sti_secondary_init(unsigned int cpu)
 {
        trace_hardirqs_off();
 
@@ -54,7 +54,7 @@ void __cpuinit sti_secondary_init(unsigned int cpu)
        spin_unlock(&boot_lock);
 }
 
-int __cpuinit sti_boot_secondary(unsigned int cpu, struct task_struct *idle)
+int sti_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        unsigned long timeout;
 
index 24db4ac428ae9641e503a1cc1c3638ebf05c9142..97b33a2a2d75cee6b00e918c14db64a2865514e4 100644 (file)
@@ -35,7 +35,7 @@
 
 static cpumask_t tegra_cpu_init_mask;
 
-static void __cpuinit tegra_secondary_init(unsigned int cpu)
+static void tegra_secondary_init(unsigned int cpu)
 {
        cpumask_set_cpu(cpu, &tegra_cpu_init_mask);
 }
@@ -167,7 +167,7 @@ static int tegra114_boot_secondary(unsigned int cpu, struct task_struct *idle)
        return ret;
 }
 
-static int __cpuinit tegra_boot_secondary(unsigned int cpu,
+static int tegra_boot_secondary(unsigned int cpu,
                                          struct task_struct *idle)
 {
        if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) && tegra_chip_id == TEGRA20)
index 94e69bee3da50b12933ae419d4affac950150ca0..261fec140c06db03ca8240a64a1c8a6479124c4f 100644 (file)
@@ -191,7 +191,7 @@ static const char *lp_state[TEGRA_MAX_SUSPEND_MODE] = {
        [TEGRA_SUSPEND_LP0] = "LP0",
 };
 
-static int __cpuinit tegra_suspend_enter(suspend_state_t state)
+static int tegra_suspend_enter(suspend_state_t state)
 {
        enum tegra_suspend_mode mode = tegra_pmc_get_suspend_mode();
 
index 14d90469392f1545d418aeeb20573c7c9bc39a3c..1f296e796a4fe42a93972a06a5517033db1b3307 100644 (file)
@@ -54,7 +54,7 @@ static void __iomem *scu_base_addr(void)
 
 static DEFINE_SPINLOCK(boot_lock);
 
-static void __cpuinit ux500_secondary_init(unsigned int cpu)
+static void ux500_secondary_init(unsigned int cpu)
 {
        /*
         * let the primary processor know we're out of the
@@ -69,7 +69,7 @@ static void __cpuinit ux500_secondary_init(unsigned int cpu)
        spin_unlock(&boot_lock);
 }
 
-static int __cpuinit ux500_boot_secondary(unsigned int cpu, struct task_struct *idle)
+static int ux500_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        unsigned long timeout;
 
index fbbd0e21c404d5f98bc4c6bf5387df045ceaa66f..3040d219570f23babca8b6cdbc81cfbfade17581 100644 (file)
@@ -27,7 +27,7 @@ extern void secondary_startup(void);
 extern char zynq_secondary_trampoline;
 extern char zynq_secondary_trampoline_jump;
 extern char zynq_secondary_trampoline_end;
-extern int __cpuinit zynq_cpun_start(u32 address, int cpu);
+extern int zynq_cpun_start(u32 address, int cpu);
 extern struct smp_operations zynq_smp_ops __initdata;
 #endif
 
index d183cd234a9bb68fe3c387718c89ed39d3499452..d4cd5f34fe5c6a0febdc473de016377f668ae5dd 100644 (file)
@@ -9,8 +9,6 @@
 #include <linux/linkage.h>
 #include <linux/init.h>
 
-       __CPUINIT
-
 ENTRY(zynq_secondary_trampoline)
        ldr     r0, [pc]
        bx      r0
index 023f225493f281e4109ece0fdcbbe22fb8a51dfc..689fbbc3d9c8860347f42f60c00c01f41c0a091a 100644 (file)
 /*
  * Store number of cores in the system
  * Because of scu_get_core_count() must be in __init section and can't
- * be called from zynq_cpun_start() because it is in __cpuinit section.
+ * be called from zynq_cpun_start() because it is not in __init section.
  */
 static int ncores;
 
-int __cpuinit zynq_cpun_start(u32 address, int cpu)
+int zynq_cpun_start(u32 address, int cpu)
 {
        u32 trampoline_code_size = &zynq_secondary_trampoline_end -
                                                &zynq_secondary_trampoline;
@@ -92,7 +92,7 @@ int __cpuinit zynq_cpun_start(u32 address, int cpu)
 }
 EXPORT_SYMBOL(zynq_cpun_start);
 
-static int __cpuinit zynq_boot_secondary(unsigned int cpu,
+static int zynq_boot_secondary(unsigned int cpu,
                                                struct task_struct *idle)
 {
        return zynq_cpun_start(virt_to_phys(secondary_startup), cpu);
index 2bb61e703d6c4d042cbbb86e6c655cbc0e94d762..d1a2d05971e02f00be78cc596e3b464292e18e3b 100644 (file)
@@ -443,8 +443,6 @@ ENTRY(cpu_arm1020_set_pte_ext)
 #endif /* CONFIG_MMU */
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __arm1020_setup, #function
 __arm1020_setup:
        mov     r0, #0
index 8f96aa40f5107987edf065c451d4d0879e5e108c..9d89405c3d03bf78e63fb206beb8b356bb6095f6 100644 (file)
@@ -425,8 +425,6 @@ ENTRY(cpu_arm1020e_set_pte_ext)
 #endif /* CONFIG_MMU */
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __arm1020e_setup, #function
 __arm1020e_setup:
        mov     r0, #0
index 8ebe4a469a22534c9a828681d57552a546fb820b..6f01a0ae3b30740218915dd0910aae84aa9ebe40 100644 (file)
@@ -407,8 +407,6 @@ ENTRY(cpu_arm1022_set_pte_ext)
 #endif /* CONFIG_MMU */
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __arm1022_setup, #function
 __arm1022_setup:
        mov     r0, #0
index 093fc7e520c341fb270b45e3ef2f4fbed694ae3c..4799a24b43e637b11de8e36d9cafb98071dbb83c 100644 (file)
@@ -396,9 +396,6 @@ ENTRY(cpu_arm1026_set_pte_ext)
 #endif /* CONFIG_MMU */
        mov     pc, lr
 
-
-       __CPUINIT
-
        .type   __arm1026_setup, #function
 __arm1026_setup:
        mov     r0, #0
index 0ac908c7ade1f178afe35a4c3d1c79e59aa8ceb2..d42c37f9f5bc465e35cf0f3da88457f1bf90be05 100644 (file)
@@ -116,8 +116,6 @@ ENTRY(cpu_arm720_reset)
 ENDPROC(cpu_arm720_reset)
                .popsection
 
-       __CPUINIT
-
        .type   __arm710_setup, #function
 __arm710_setup:
        mov     r0, #0
index fde2d2a794cfbc0b43c31619fff9668172aebad3..9b0ae90cbf17b09fdbf62ecb2c7ac42406e5c16e 100644 (file)
@@ -60,8 +60,6 @@ ENTRY(cpu_arm740_reset)
 ENDPROC(cpu_arm740_reset)
        .popsection
 
-       __CPUINIT
-
        .type   __arm740_setup, #function
 __arm740_setup:
        mov     r0, #0
index 6ddea3e464bd1e30ffc2115dc00b4a842949afdb..f6cc3f63ce397f2ef41e54f0939f69671a1bb1e3 100644 (file)
@@ -51,8 +51,6 @@ ENTRY(cpu_arm7tdmi_reset)
 ENDPROC(cpu_arm7tdmi_reset)
                .popsection
 
-               __CPUINIT
-
                .type   __arm7tdmi_setup, #function
 __arm7tdmi_setup:
                mov     pc, lr
index 2556cf1c2da1c8f40c09edbe7d43b7c0286f355f..549557df6d57a4273e99b2d0901b847af4382a39 100644 (file)
@@ -410,8 +410,6 @@ ENTRY(cpu_arm920_do_resume)
 ENDPROC(cpu_arm920_do_resume)
 #endif
 
-       __CPUINIT
-
        .type   __arm920_setup, #function
 __arm920_setup:
        mov     r0, #0
index 4464c49d7449b386b04c017f33fdeb79ef718f05..2a758b06c6f65fb9071a9f7faf73b3ccb720eef2 100644 (file)
@@ -388,8 +388,6 @@ ENTRY(cpu_arm922_set_pte_ext)
 #endif /* CONFIG_MMU */
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __arm922_setup, #function
 __arm922_setup:
        mov     r0, #0
index 281eb9b9c1d654061e0bc8d2e6d350f6d7a3b2ff..97448c3acf38a571cb96d1c9871952d56c605343 100644 (file)
@@ -438,8 +438,6 @@ ENTRY(cpu_arm925_set_pte_ext)
 #endif /* CONFIG_MMU */
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __arm925_setup, #function
 __arm925_setup:
        mov     r0, #0
index 344c8a548cc0ef95aea9653d883b26c629f016dd..0f098f407c9f12233b747e4bf1dac881d8b6d5a1 100644 (file)
@@ -425,8 +425,6 @@ ENTRY(cpu_arm926_do_resume)
 ENDPROC(cpu_arm926_do_resume)
 #endif
 
-       __CPUINIT
-
        .type   __arm926_setup, #function
 __arm926_setup:
        mov     r0, #0
index 8da189d4a4021a9184d1c78ac4cda76209406f02..1c39a704ff6e139fd409bb1e70617780491505c7 100644 (file)
@@ -273,8 +273,6 @@ ENDPROC(arm940_dma_unmap_area)
        @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S)
        define_cache_functions arm940
 
-       __CPUINIT
-
        .type   __arm940_setup, #function
 __arm940_setup:
        mov     r0, #0
index f666cf34075a1a8e7e496fd9c0a09657a0627040..0289cd905e734d8421c050014cbed60ca9baace7 100644 (file)
@@ -326,8 +326,6 @@ ENTRY(cpu_arm946_dcache_clean_area)
        mcr     p15, 0, r0, c7, c10, 4          @ drain WB
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __arm946_setup, #function
 __arm946_setup:
        mov     r0, #0
index 8881391dfb9ee42c819efd086de5b70711fee08d..f51197ba754a2951d2dac160470592de11fa0337 100644 (file)
@@ -51,8 +51,6 @@ ENTRY(cpu_arm9tdmi_reset)
 ENDPROC(cpu_arm9tdmi_reset)
                .popsection
 
-               __CPUINIT
-
                .type   __arm9tdmi_setup, #function
 __arm9tdmi_setup:
                mov     pc, lr
index aaeb6c127c7aa5766e9d1093477bc65e540bdca8..2dfc0f1d3bfdd99fe3534958dedd16ae13866e0b 100644 (file)
@@ -135,8 +135,6 @@ ENTRY(cpu_fa526_set_pte_ext)
 #endif
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __fa526_setup, #function
 __fa526_setup:
        /* On return of this routine, r0 must carry correct flags for CFG register */
index 4106b09e0c29ad07530e095ca361e84f92489d32..d5146b98c8d12bd59037017244bc0bf5ab9c4099 100644 (file)
@@ -514,8 +514,6 @@ ENTRY(cpu_feroceon_set_pte_ext)
 #endif
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __feroceon_setup, #function
 __feroceon_setup:
        mov     r0, #0
index 0b60dd3d742a1d909e4ffdf8d5162cd052754098..40acba595731c0ec4fa6c934f428222bcb95424e 100644 (file)
@@ -383,8 +383,6 @@ ENTRY(cpu_mohawk_do_resume)
 ENDPROC(cpu_mohawk_do_resume)
 #endif
 
-       __CPUINIT
-
        .type   __mohawk_setup, #function
 __mohawk_setup:
        mov     r0, #0
index 775d70fba93719e04c297d14c1a9a6491a9dcc8e..c45319c8f1d9821a396f8b453473614fe92a8ea6 100644 (file)
@@ -159,8 +159,6 @@ ENTRY(cpu_sa110_set_pte_ext)
 #endif
        mov     pc, lr
 
-       __CPUINIT
-
        .type   __sa110_setup, #function
 __sa110_setup:
        mov     r10, #0
index d92dfd081429294200875ddedfbd6beb4fd98735..09d241ae2dbe07620c5c86a7b8303d7a38619f89 100644 (file)
@@ -198,8 +198,6 @@ ENTRY(cpu_sa1100_do_resume)
 ENDPROC(cpu_sa1100_do_resume)
 #endif
 
-       __CPUINIT
-
        .type   __sa1100_setup, #function
 __sa1100_setup:
        mov     r0, #0
index 2d1ef87328a1783d309296a25889d8a37d2a9ae6..1128064fddcbd6c11754d5c2b4241e8b51c7d6a5 100644 (file)
@@ -180,8 +180,6 @@ ENDPROC(cpu_v6_do_resume)
 
        .align
 
-       __CPUINIT
-
 /*
  *     __v6_setup
  *
index 9704097c450e13300be619e73015c65b7bd08c4a..f64afb9f1bd595a9fb1b9c0cd8bb442c9fda0337 100644 (file)
@@ -160,8 +160,6 @@ ENDPROC(cpu_v7_set_pte_ext)
        mcr     p15, 0, \ttbr1, c2, c0, 1       @ load TTB1
        .endm
 
-       __CPUINIT
-
        /*   AT
         *  TFR   EV X F   I D LR    S
         * .EEE ..EE PUI. .T.T 4RVI ZWRS BLDP WCAM
@@ -172,5 +170,3 @@ ENDPROC(cpu_v7_set_pte_ext)
        .type   v7_crval, #object
 v7_crval:
        crval   clear=0x2120c302, mmuset=0x10c03c7d, ucset=0x00c01c7c
-
-       .previous
index 5ffe1956c6d95c5ba227986347caddec5d0dacda..c36ac69488c8fa60b17d91d085d1f8efcae42cb6 100644 (file)
@@ -140,8 +140,6 @@ ENDPROC(cpu_v7_set_pte_ext)
        mcrr    p15, 0, \ttbr0, \zero, c2                       @ load TTBR0
        .endm
 
-       __CPUINIT
-
        /*
         *   AT
         *  TFR   EV X F   IHD LR    S
@@ -153,5 +151,3 @@ ENDPROC(cpu_v7_set_pte_ext)
        .type   v7_crval, #object
 v7_crval:
        crval   clear=0x0120c302, mmuset=0x30c23c7d, ucset=0x00c01c7c
-
-       .previous
index 7ef3ad05df398656d2f63302139288154fa1abfd..5c6d5a3050eac65f1f2f89465d8398c971f866e4 100644 (file)
@@ -167,8 +167,6 @@ ENDPROC(cpu_pj4b_do_idle)
 
 #endif
 
-       __CPUINIT
-
 /*
  *     __v7_setup
  *
index e8efd83b6f252f00b85b29eb45d24bbd4919d4ae..dc1645890042dd4bac11cdb4a2fdb83afb1dd752 100644 (file)
@@ -446,8 +446,6 @@ ENTRY(cpu_xsc3_do_resume)
 ENDPROC(cpu_xsc3_do_resume)
 #endif
 
-       __CPUINIT
-
        .type   __xsc3_setup, #function
 __xsc3_setup:
        mov     r0, #PSR_F_BIT|PSR_I_BIT|SVC_MODE
index e766f889bfd6d1b4159c6724a975468dbba56892..d19b1cfcad91e69934945d180c404298c33c2287 100644 (file)
@@ -558,8 +558,6 @@ ENTRY(cpu_xscale_do_resume)
 ENDPROC(cpu_xscale_do_resume)
 #endif
 
-       __CPUINIT
-
        .type   __xscale_setup, #function
 __xscale_setup:
        mcr     p15, 0, ip, c7, c7, 0           @ invalidate I, D caches & BTB
index 1e1b2d7697488ddb8c73ad80ea22afb5a2dd3f7d..39895d892c3be7d158093ddd930e0fa1ea7a8890 100644 (file)
@@ -23,7 +23,7 @@
  * observers, irrespective of whether they're taking part in coherency
  * or not.  This is necessary for the hotplug code to work reliably.
  */
-static void __cpuinit write_pen_release(int val)
+static void write_pen_release(int val)
 {
        pen_release = val;
        smp_wmb();
@@ -33,7 +33,7 @@ static void __cpuinit write_pen_release(int val)
 
 static DEFINE_SPINLOCK(boot_lock);
 
-void __cpuinit versatile_secondary_init(unsigned int cpu)
+void versatile_secondary_init(unsigned int cpu)
 {
        /*
         * let the primary processor know we're out of the
@@ -48,7 +48,7 @@ void __cpuinit versatile_secondary_init(unsigned int cpu)
        spin_unlock(&boot_lock);
 }
 
-int __cpuinit versatile_boot_secondary(unsigned int cpu, struct task_struct *idle)
+int versatile_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
        unsigned long timeout;