powerpc/perf: Add __init attribute to eligible functions
authorNick Child <nick.child@ibm.com>
Thu, 16 Dec 2021 22:00:19 +0000 (17:00 -0500)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 23 Dec 2021 11:33:11 +0000 (22:33 +1100)
Some functions defined in 'arch/powerpc/perf' are deserving of an
`__init` macro attribute. These functions are only called by other
initialization functions and therefore should inherit the attribute.
Also, change function declarations in header files to include `__init`.

Signed-off-by: Nick Child <nick.child@ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20211216220035.605465-5-nick.child@ibm.com
12 files changed:
arch/powerpc/include/asm/perf_event_server.h
arch/powerpc/perf/core-book3s.c
arch/powerpc/perf/generic-compat-pmu.c
arch/powerpc/perf/internal.h
arch/powerpc/perf/power10-pmu.c
arch/powerpc/perf/power5+-pmu.c
arch/powerpc/perf/power5-pmu.c
arch/powerpc/perf/power6-pmu.c
arch/powerpc/perf/power7-pmu.c
arch/powerpc/perf/power8-pmu.c
arch/powerpc/perf/power9-pmu.c
arch/powerpc/perf/ppc970-pmu.c

index f4c3428e816bd46f6c265f7284c421034308bd81..e2221d29fdf9e38e53f9bc49fd7894de2dc25bf2 100644 (file)
@@ -98,7 +98,7 @@ struct power_pmu {
 #define PPMU_LIMITED_PMC_REQD  2       /* have to put this on a limited PMC */
 #define PPMU_ONLY_COUNT_RUN    4       /* only counting in run state */
 
-extern int register_power_pmu(struct power_pmu *);
+int __init register_power_pmu(struct power_pmu *pmu);
 
 struct pt_regs;
 extern unsigned long perf_misc_flags(struct pt_regs *regs);
index 07fd61a8d59d1b78013ecdcfb808b30ed8d9134f..a684901b6965756763349136227ed5faffc658ab 100644 (file)
@@ -2479,7 +2479,7 @@ static int power_pmu_prepare_cpu(unsigned int cpu)
        return 0;
 }
 
-int register_power_pmu(struct power_pmu *pmu)
+int __init register_power_pmu(struct power_pmu *pmu)
 {
        if (ppmu)
                return -EBUSY;          /* something's already registered */
index 695975227e60fdd2927ec8d827450fd502b58b4c..b6e25f75109d0c6568e7c8b0dab18284d5a19c1d 100644 (file)
@@ -307,7 +307,7 @@ static struct power_pmu generic_compat_pmu = {
        .attr_groups            = generic_compat_pmu_attr_groups,
 };
 
-int init_generic_compat_pmu(void)
+int __init init_generic_compat_pmu(void)
 {
        int rc = 0;
 
index 80bbf72bfec286e2b91d4f2555bc1a9b177fbaa4..4c18b5504326d3f8270b6f1f219d26badb81686b 100644 (file)
@@ -2,12 +2,12 @@
 //
 // Copyright 2019 Madhavan Srinivasan, IBM Corporation.
 
-extern int init_ppc970_pmu(void);
-extern int init_power5_pmu(void);
-extern int init_power5p_pmu(void);
-extern int init_power6_pmu(void);
-extern int init_power7_pmu(void);
-extern int init_power8_pmu(void);
-extern int init_power9_pmu(void);
-extern int init_power10_pmu(void);
-extern int init_generic_compat_pmu(void);
+int __init init_ppc970_pmu(void);
+int __init init_power5_pmu(void);
+int __init init_power5p_pmu(void);
+int __init init_power6_pmu(void);
+int __init init_power7_pmu(void);
+int __init init_power8_pmu(void);
+int __init init_power9_pmu(void);
+int __init init_power10_pmu(void);
+int __init init_generic_compat_pmu(void);
index 9dd75f38583722b827e3728a02cafa87d8f5a09a..0975ad0b42c4223f2f828a8aef872139fd07eb4a 100644 (file)
@@ -592,7 +592,7 @@ static struct power_pmu power10_pmu = {
        .check_attr_config      = power10_check_attr_config,
 };
 
-int init_power10_pmu(void)
+int __init init_power10_pmu(void)
 {
        unsigned int pvr;
        int rc;
index 18732267993a184a3bb98c57561a38782bc60839..753b4740ef64f38e6bf4b8663fc43b21cc33f421 100644 (file)
@@ -677,7 +677,7 @@ static struct power_pmu power5p_pmu = {
        .cache_events           = &power5p_cache_events,
 };
 
-int init_power5p_pmu(void)
+int __init init_power5p_pmu(void)
 {
        if (!cur_cpu_spec->oprofile_cpu_type ||
            (strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc64/power5+")
index cb611c1e7abefe99e6d1d6caf7082f895cd9b9ac..1f83c4cba0aac8e366b655a949197472803b7544 100644 (file)
@@ -618,7 +618,7 @@ static struct power_pmu power5_pmu = {
        .flags                  = PPMU_HAS_SSLOT,
 };
 
-int init_power5_pmu(void)
+int __init init_power5_pmu(void)
 {
        if (!cur_cpu_spec->oprofile_cpu_type ||
            strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc64/power5"))
index 69ef382164186f118ce7bb66ae7bcc07a42c8869..aec746f868046f8611dea1e095cf8ae948c75248 100644 (file)
@@ -539,7 +539,7 @@ static struct power_pmu power6_pmu = {
        .cache_events           = &power6_cache_events,
 };
 
-int init_power6_pmu(void)
+int __init init_power6_pmu(void)
 {
        if (!cur_cpu_spec->oprofile_cpu_type ||
            strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc64/power6"))
index 894c17f9a762b4c054da5e6149b94415994160a6..99b5ba314ea7d3e65f68d5c1deb7a050c1aed487 100644 (file)
@@ -445,7 +445,7 @@ static struct power_pmu power7_pmu = {
        .cache_events           = &power7_cache_events,
 };
 
-int init_power7_pmu(void)
+int __init init_power7_pmu(void)
 {
        if (!cur_cpu_spec->oprofile_cpu_type ||
            strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc64/power7"))
index 5282e8415ddfeffa97df74b3929f18ba88bc2aa4..f21194b5604ae72b01c0d952f6a7001d8daa0779 100644 (file)
@@ -378,7 +378,7 @@ static struct power_pmu power8_pmu = {
        .bhrb_nr                = 32,
 };
 
-int init_power8_pmu(void)
+int __init init_power8_pmu(void)
 {
        int rc;
 
index ff3382140d7e65a159f8be6032587d4ba2ef2422..4b7c17e3610039308204ac87f5aecddd4b2331a5 100644 (file)
@@ -452,7 +452,7 @@ static struct power_pmu power9_pmu = {
        .check_attr_config      = power9_check_attr_config,
 };
 
-int init_power9_pmu(void)
+int __init init_power9_pmu(void)
 {
        int rc = 0;
        unsigned int pvr = mfspr(SPRN_PVR);
index 1f82637852862ac3a0ef4e240f48dca98134fc8a..09802482ba7266d198aaa9659e96649ec6e28d1c 100644 (file)
@@ -489,7 +489,7 @@ static struct power_pmu ppc970_pmu = {
        .flags                  = PPMU_NO_SIPR | PPMU_NO_CONT_SAMPLING,
 };
 
-int init_ppc970_pmu(void)
+int __init init_ppc970_pmu(void)
 {
        if (!cur_cpu_spec->oprofile_cpu_type ||
            (strcmp(cur_cpu_spec->oprofile_cpu_type, "ppc64/970")