@@ -50,7 +50,6 @@ struct smp_ops_t {
void (*give_timebase)(void);
int (*cpu_disable)(void);
void (*cpu_die)(unsigned int nr);
- int (*cpu_bootable)(unsigned int nr);
};
extern void smp_send_debugger_break(void);
@@ -489,8 +489,7 @@ int __cpu_up(unsigned int cpu, struct task_struct *tidle)
cpu_thread_in_subcore(cpu))
return -EBUSY;
- if (smp_ops == NULL ||
- (smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu)))
+ if (smp_ops == NULL)
return -EINVAL;
cpu_idle_thread_init(cpu, tidle);
@@ -326,7 +326,6 @@ out:
struct smp_ops_t smp_85xx_ops = {
.kick_cpu = smp_85xx_kick_cpu,
- .cpu_bootable = smp_generic_cpu_bootable,
#ifdef CONFIG_HOTPLUG_CPU
.cpu_disable = generic_cpu_disable,
.cpu_die = generic_cpu_die,
@@ -142,7 +142,6 @@ static struct smp_ops_t bpa_iic_smp_ops = {
.probe = smp_iic_probe,
.kick_cpu = smp_cell_kick_cpu,
.setup_cpu = smp_cell_setup_cpu,
- .cpu_bootable = smp_generic_cpu_bootable,
};
/* This is called very early */
@@ -191,7 +191,6 @@ static struct smp_ops_t pnv_smp_ops = {
.probe = xics_smp_probe,
.kick_cpu = pnv_smp_kick_cpu,
.setup_cpu = pnv_smp_setup_cpu,
- .cpu_bootable = smp_generic_cpu_bootable,
#ifdef CONFIG_HOTPLUG_CPU
.cpu_disable = pnv_smp_cpu_disable,
.cpu_die = generic_cpu_die,
@@ -222,7 +222,6 @@ static struct smp_ops_t pSeries_xics_smp_ops = {
.probe = pSeries_smp_probe,
.kick_cpu = smp_pSeries_kick_cpu,
.setup_cpu = smp_xics_setup_cpu,
- .cpu_bootable = smp_generic_cpu_bootable,
};
/* This is called very early */
All powerpc platforms share the same cpu_bootable hook, which does nothing but { return 1 }. It is not needed anymore. Let's drop it at last. Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> --- arch/powerpc/include/asm/smp.h | 1 - arch/powerpc/kernel/smp.c | 3 +-- arch/powerpc/platforms/85xx/smp.c | 1 - arch/powerpc/platforms/cell/smp.c | 1 - arch/powerpc/platforms/powernv/smp.c | 1 - arch/powerpc/platforms/pseries/smp.c | 1 - 6 files changed, 1 insertion(+), 7 deletions(-)