diff options
Diffstat (limited to 'arch/arm/mach-tegra/hotplug.c')
| -rw-r--r-- | arch/arm/mach-tegra/hotplug.c | 23 | 
1 files changed, 9 insertions, 14 deletions
diff --git a/arch/arm/mach-tegra/hotplug.c b/arch/arm/mach-tegra/hotplug.c index a599f6e36de..8da9f78475d 100644 --- a/arch/arm/mach-tegra/hotplug.c +++ b/arch/arm/mach-tegra/hotplug.c @@ -1,8 +1,7 @@  /* - *   *  Copyright (C) 2002 ARM Ltd.   *  All Rights Reserved - *  Copyright (c) 2010, 2012 NVIDIA Corporation. All rights reserved. + *  Copyright (c) 2010, 2012-2013, NVIDIA Corporation. All rights reserved.   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License version 2 as @@ -15,6 +14,7 @@  #include <asm/cacheflush.h>  #include <asm/smp_plat.h> +#include "fuse.h"  #include "sleep.h"  static void (*tegra_hotplug_shutdown)(void); @@ -56,18 +56,13 @@ int tegra_cpu_disable(unsigned int cpu)  	return cpu == 0 ? -EPERM : 0;  } -#ifdef CONFIG_ARCH_TEGRA_2x_SOC -extern void tegra20_hotplug_shutdown(void); -void __init tegra20_hotplug_init(void) +void __init tegra_hotplug_init(void)  { -	tegra_hotplug_shutdown = tegra20_hotplug_shutdown; -} -#endif +	if (!IS_ENABLED(CONFIG_HOTPLUG_CPU)) +		return; -#ifdef CONFIG_ARCH_TEGRA_3x_SOC -extern void tegra30_hotplug_shutdown(void); -void __init tegra30_hotplug_init(void) -{ -	tegra_hotplug_shutdown = tegra30_hotplug_shutdown; +	if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) && tegra_chip_id == TEGRA20) +		tegra_hotplug_shutdown = tegra20_hotplug_shutdown; +	if (IS_ENABLED(CONFIG_ARCH_TEGRA_3x_SOC) && tegra_chip_id == TEGRA30) +		tegra_hotplug_shutdown = tegra30_hotplug_shutdown;  } -#endif  |