powerpc/pseries: Fix build break for SPLPAR=n and CPU hotplug

"Linux Kernel Mailing List" <[email protected]> Wed, 14 Feb 2018 18:19:53 +0000 (UTC)
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/82343484a2d4c97a03bfd81303b5493c65f05c50
Commit:     82343484a2d4c97a03bfd81303b5493c65f05c50
Parent:     fc5c2f4a55a2c258e12013cdf287cf266dbcd2a7
Refname:    refs/heads/master
Author:     Guenter Roeck <[email protected]>
AuthorDate: Mon Feb 12 14:34:08 2018 -0800
Committer:  Michael Ellerman <[email protected]>
CommitDate: Tue Feb 13 22:38:39 2018 +1100

    powerpc/pseries: Fix build break for SPLPAR=n and CPU hotplug
    
    Commit e67e02a544e9 ("powerpc/pseries: Fix cpu hotplug crash with
    memoryless nodes") adds an unconditional call to
    find_and_online_cpu_nid(), which is only declared if CONFIG_PPC_SPLPAR
    is enabled. This results in the following build error if this is not
    the case.
    
      arch/powerpc/platforms/pseries/hotplug-cpu.o: In function `dlpar_online_cpu':
      arch/powerpc/platforms/pseries/hotplug-cpu.c:369:
                            undefined reference to `.find_and_online_cpu_nid'
    
    Follow the guideline provided by similar functions and provide a dummy
    function if CONFIG_PPC_SPLPAR is not enabled. This also moves the
    external function declaration into an include file where it should be.
    
    Fixes: e67e02a544e9 ("powerpc/pseries: Fix cpu hotplug crash with memoryless nodes")
    Signed-off-by: Guenter Roeck <[email protected]>
    [mpe: Change subject to emphasise the build fix]
    Signed-off-by: Michael Ellerman <[email protected]>
---
 arch/powerpc/include/asm/topology.h          | 5 +++++
 arch/powerpc/platforms/pseries/hotplug-cpu.c | 2 --
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/include/asm/topology.h b/arch/powerpc/include/asm/topology.h
index 1c02e6900f78..593248110902 100644
--- a/arch/powerpc/include/asm/topology.h
+++ b/arch/powerpc/include/asm/topology.h
@@ -87,6 +87,7 @@ static inline int numa_update_cpu_topology(bool cpus_locked)
 extern int start_topology_update(void);
 extern int stop_topology_update(void);
 extern int prrn_is_enabled(void);
+extern int find_and_online_cpu_nid(int cpu);
 #else
 static inline int start_topology_update(void)
 {
@@ -100,6 +101,10 @@ static inline int prrn_is_enabled(void)
 {
 	return 0;
 }
+static inline int find_and_online_cpu_nid(int cpu)
+{
+	return 0;
+}
 #endif /* CONFIG_NUMA && CONFIG_PPC_SPLPAR */
 
 #if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_NEED_MULTIPLE_NODES)
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index f78fd2068d56..652d3e96b812 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -342,8 +342,6 @@ static void pseries_remove_processor(struct device_node *np)
 	cpu_maps_update_done();
 }
 
-extern int find_and_online_cpu_nid(int cpu);