From: Arnd Bergmann <arnd@arndb.de>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>
Subject: [PATCH v9 12/13] ARM: smp: Make SoC descriptor mandatory for SMP platforms
Date: Wed, 12 Sep 2012 16:58:25 +0200 [thread overview]
Message-ID: <1347461906-13527-13-git-send-email-arnd@arndb.de> (raw)
In-Reply-To: <1347461906-13527-1-git-send-email-arnd@arndb.de>
From: Marc Zyngier <marc.zyngier@arm.com>
Now that all SMP platforms have been converted to the SOC descriptor
and its SMP operations, remove the "weak" attribute from the hooks
in smp.c, and make the functions static wherever possible.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/include/asm/smp.h | 14 --------------
arch/arm/kernel/smp.c | 18 +++++++++---------
2 files changed, 9 insertions(+), 23 deletions(-)
diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h
index f79a9f5..3a8cfee 100644
--- a/arch/arm/include/asm/smp.h
+++ b/arch/arm/include/asm/smp.h
@@ -60,15 +60,6 @@ extern int boot_secondary(unsigned int cpu, struct task_struct *);
*/
asmlinkage void secondary_start_kernel(void);
-/*
- * Perform platform specific initialisation of the specified CPU.
- */
-extern void platform_secondary_init(unsigned int cpu);
-
-/*
- * Initialize cpu_possible map, and enable coherency
- */
-extern void platform_smp_prepare_cpus(unsigned int);
/*
* Initial data for bringing up a secondary CPU.
@@ -81,15 +72,10 @@ struct secondary_data {
extern struct secondary_data secondary_data;
extern int __cpu_disable(void);
-extern int platform_cpu_disable(unsigned int cpu);
extern void __cpu_die(unsigned int cpu);
extern void cpu_die(void);
-extern void platform_cpu_die(unsigned int cpu);
-extern int platform_cpu_kill(unsigned int cpu);
-extern void platform_cpu_enable(unsigned int cpu);
-
extern void arch_send_call_function_single_ipi(int cpu);
extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index d924188..ac3ce02 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -110,25 +110,25 @@ int __cpuinit __cpu_up(unsigned int cpu, struct task_struct *idle)
}
/* platform specific SMP operations */
-void __attribute__((weak)) __init smp_init_cpus(void)
+void __init smp_init_cpus(void)
{
if (smp_ops.smp_init_cpus)
smp_ops.smp_init_cpus();
}
-void __attribute__((weak)) __init platform_smp_prepare_cpus(unsigned int max_cpus)
+static void __init platform_smp_prepare_cpus(unsigned int max_cpus)
{
if (smp_ops.smp_prepare_cpus)
smp_ops.smp_prepare_cpus(max_cpus);
}
-void __attribute__((weak)) __cpuinit platform_secondary_init(unsigned int cpu)
+static void __cpuinit platform_secondary_init(unsigned int cpu)
{
if (smp_ops.smp_secondary_init)
smp_ops.smp_secondary_init(cpu);
}
-int __attribute__((weak)) __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
+int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
{
if (smp_ops.smp_boot_secondary)
return smp_ops.smp_boot_secondary(cpu, idle);
@@ -138,20 +138,20 @@ int __attribute__((weak)) __cpuinit boot_secondary(unsigned int cpu, struct task
#ifdef CONFIG_HOTPLUG_CPU
static void percpu_timer_stop(void);
-int __attribute__((weak)) platform_cpu_kill(unsigned int cpu)
+static int platform_cpu_kill(unsigned int cpu)
{
if (smp_ops.cpu_kill)
return smp_ops.cpu_kill(cpu);
return 1;
}
-void __attribute__((weak)) platform_cpu_die(unsigned int cpu)
+static void platform_cpu_die(unsigned int cpu)
{
if (smp_ops.cpu_die)
smp_ops.cpu_die(cpu);
}
-int __attribute__((weak)) platform_cpu_disable(unsigned int cpu)
+static int platform_cpu_disable(unsigned int cpu)
{
if (smp_ops.cpu_disable)
return smp_ops.cpu_disable(cpu);
@@ -166,7 +166,7 @@ int __attribute__((weak)) platform_cpu_disable(unsigned int cpu)
/*
* __cpu_disable runs on the processor to be shutdown.
*/
-int __cpu_disable(void)
+int __cpuinit __cpu_disable(void)
{
unsigned int cpu = smp_processor_id();
int ret;
@@ -209,7 +209,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 __cpu_die(unsigned int cpu)
+void __cpuinit __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);
--
1.7.10
next prev parent reply other threads:[~2012-09-12 15:00 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-12 14:58 [PATCH v9 00/13] Per sub-architecture SMP operations Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 01/13] ARM: SoC: add per-platform " Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 02/13] ARM: SoC: convert VExpress/RealView to SoC descriptor Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 03/13] ARM: SoC: convert OMAP4 " Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 04/13] ARM: SoC: convert Tegra " Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 05/13] ARM: SoC: convert Exynos4 " Arnd Bergmann
2012-09-13 5:10 ` Kyungmin Park
2012-09-14 4:33 ` Kukjin Kim
2012-09-12 14:58 ` [PATCH v9 06/13] ARM: SoC: convert MSM SMP " Arnd Bergmann
2012-09-12 16:26 ` David Brown
2012-09-12 20:32 ` Stephen Boyd
2012-09-12 23:01 ` [PATCH 1/2] " David Brown
2012-09-12 23:01 ` [PATCH 2/2] ARM: msm: Move core.h contents into common.h David Brown
2012-09-13 8:47 ` [PATCH 1/2] ARM: SoC: convert MSM SMP to SoC descriptor Arnd Bergmann
2012-09-13 16:15 ` David Brown
2012-09-14 7:57 ` Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 07/13] ARM: SoC: convert ux500 " Arnd Bergmann
[not found] ` <CAE2-_9o5gEpEddGLvRRA=pe=vroTnBXmGmoBO1Ojos-hOJXQAQ@mail.gmail.com>
2012-09-12 16:30 ` Fwd: " Srinidhi Kasagar
2012-09-12 14:58 ` [PATCH v9 08/13] ARM: SoC: convert shmobile SMP " Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 09/13] ARM: SoC: convert highbank " Arnd Bergmann
2012-09-12 15:23 ` Rob Herring
2012-09-12 14:58 ` [PATCH v9 10/13] ARM: SoC: convert imx6q " Arnd Bergmann
2012-09-13 1:17 ` Shawn Guo
2012-09-13 8:44 ` Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 11/13] ARM: SoC: convert spear13xx " Arnd Bergmann
2012-09-13 11:18 ` viresh kumar
2012-09-12 14:58 ` Arnd Bergmann [this message]
2012-09-12 14:58 ` [PATCH v9 13/13] ARM: consolidate pen_release instead of having per platform definitions Arnd Bergmann
2012-09-12 19:54 ` Nicolas Pitre
2012-09-12 20:42 ` [PATCH v9 00/13] Per sub-architecture SMP operations Nicolas Pitre
2012-09-13 11:11 ` Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1347461906-13527-13-git-send-email-arnd@arndb.de \
--to=arnd@arndb.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®