Re: [PATCH v4 7/8] arm,arm64,drivers: move externs in a new header file

From: Greg KH
Date: Thu May 25 2017 - 09:14:02 EST


On Thu, Apr 20, 2017 at 03:43:15PM +0100, Juri Lelli wrote:
> Create a new header file (include/linux/arch_topology.h) and put there
> declarations of interfaces used by arm, arm64 and drivers code.
>
> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx>
> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx>
> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
> ---
> arch/arm/kernel/topology.c | 7 +------
> arch/arm64/kernel/topology.c | 4 +---
> drivers/base/arch_topology.c | 1 +
> include/linux/arch_topology.h | 17 +++++++++++++++++
> 4 files changed, 20 insertions(+), 9 deletions(-)
> create mode 100644 include/linux/arch_topology.h
>
> diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
> index 1e35a3265ddf..557be4f1d2d7 100644
> --- a/arch/arm/kernel/topology.c
> +++ b/arch/arm/kernel/topology.c
> @@ -11,6 +11,7 @@
> * for more details.
> */
>
> +#include <linux/arch_topology.h>
> #include <linux/cpu.h>
> #include <linux/cpufreq.h>
> #include <linux/cpumask.h>
> @@ -45,10 +46,6 @@
> * updated during this sequence.
> */
>
> -extern unsigned long
> -arch_scale_cpu_capacity(struct sched_domain *sd, int cpu);
> -extern void set_capacity_scale(unsigned int cpu, unsigned long capacity);
> -
> #ifdef CONFIG_OF
> struct cpu_efficiency {
> const char *compatible;
> @@ -76,8 +73,6 @@ static unsigned long *__cpu_capacity;
>
> static unsigned long middle_capacity = 1;
> static bool cap_from_dt = true;
> -extern void normalize_cpu_capacity(void);
> -extern int __init parse_cpu_capacity(struct device_node *cpu_node, int cpu);
>
> /*
> * Iterate all CPUs' descriptor in DT and compute the efficiency
> diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
> index 7e1f6f75185b..255230c3e835 100644
> --- a/arch/arm64/kernel/topology.c
> +++ b/arch/arm64/kernel/topology.c
> @@ -11,6 +11,7 @@
> * for more details.
> */
>
> +#include <linux/arch_topology.h>
> #include <linux/cpu.h>
> #include <linux/cpumask.h>
> #include <linux/init.h>
> @@ -27,9 +28,6 @@
> #include <asm/cputype.h>
> #include <asm/topology.h>
>
> -extern void normalize_cpu_capacity(void);
> -extern int __init parse_cpu_capacity(struct device_node *cpu_node, int cpu);
> -
> static int __init get_cpu_for_node(struct device_node *node)
> {
> struct device_node *cpu_node;
> diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
> index acf99372c5cf..76c19aa0d82f 100644
> --- a/drivers/base/arch_topology.c
> +++ b/drivers/base/arch_topology.c
> @@ -13,6 +13,7 @@
> */
>
> #include <linux/acpi.h>
> +#include <linux/arch_topology.h>
> #include <linux/cpu.h>
> #include <linux/cpufreq.h>
> #include <linux/device.h>
> diff --git a/include/linux/arch_topology.h b/include/linux/arch_topology.h
> new file mode 100644
> index 000000000000..4edae9fe8cdd
> --- /dev/null
> +++ b/include/linux/arch_topology.h
> @@ -0,0 +1,17 @@
> +/*
> + * include/linux/arch_topology.h - arch specific cpu topology information
> + */
> +#ifndef _LINUX_ARCH_TOPOLOGY_H_
> +#define _LINUX_ARCH_TOPOLOGY_H_
> +
> +void normalize_cpu_capacity(void);
> +
> +struct device_node;
> +int parse_cpu_capacity(struct device_node *cpu_node, int cpu);
> +
> +struct sched_domain;
> +unsigned long arch_scale_cpu_capacity(struct sched_domain *sd, int cpu);
> +
> +void set_capacity_scale(unsigned int cpu, unsigned long capacity);

Ugh, horrid names, but I'll get to that on your next patch, when you
rename these things...

Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>