LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 10/20] powerpc/powermac: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/powermac` 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>
---
 arch/powerpc/include/asm/smu.h               | 2 +-
 arch/powerpc/include/asm/udbg.h              | 2 +-
 arch/powerpc/platforms/powermac/feature.c    | 2 +-
 arch/powerpc/platforms/powermac/nvram.c      | 2 +-
 arch/powerpc/platforms/powermac/pfunc_base.c | 6 +++---
 arch/powerpc/platforms/powermac/setup.c      | 2 +-
 arch/powerpc/platforms/powermac/smp.c        | 4 ++--
 arch/powerpc/platforms/powermac/udbg_scc.c   | 2 +-
 8 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/powerpc/include/asm/smu.h b/arch/powerpc/include/asm/smu.h
index 4b30a0205c93..149d5d8e0d8c 100644
--- a/arch/powerpc/include/asm/smu.h
+++ b/arch/powerpc/include/asm/smu.h
@@ -456,7 +456,7 @@ extern void smu_poll(void);
 /*
  * Init routine, presence check....
  */
-extern int smu_init(void);
+extern int smu_init(void) __init;
 extern int smu_present(void);
 struct platform_device;
 extern struct platform_device *smu_get_ofdev(void);
diff --git a/arch/powerpc/include/asm/udbg.h b/arch/powerpc/include/asm/udbg.h
index 40b46dfa0fb7..8f647a6399bb 100644
--- a/arch/powerpc/include/asm/udbg.h
+++ b/arch/powerpc/include/asm/udbg.h
@@ -30,7 +30,7 @@ extern void udbg_uart_setup(unsigned int speed, unsigned int clock) __init;
 extern unsigned int udbg_probe_uart_speed(unsigned int clock) __init;
 
 struct device_node;
-extern void udbg_scc_init(int force_scc);
+extern void udbg_scc_init(int force_scc) __init;
 extern int udbg_adb_init(int force_btext);
 extern void udbg_adb_init_early(void);
 
diff --git a/arch/powerpc/platforms/powermac/feature.c b/arch/powerpc/platforms/powermac/feature.c
index 5c77b9a24c0e..e67c624f35a2 100644
--- a/arch/powerpc/platforms/powermac/feature.c
+++ b/arch/powerpc/platforms/powermac/feature.c
@@ -1530,7 +1530,7 @@ static long g5_reset_cpu(struct device_node *node, long param, long value)
  * This takes the second CPU off the bus on dual CPU machines
  * running UP
  */
-void g5_phy_disable_cpu1(void)
+void __init g5_phy_disable_cpu1(void)
 {
 	if (uninorth_maj == 3)
 		UN_OUT(U3_API_PHY_CONFIG_1, 0);
diff --git a/arch/powerpc/platforms/powermac/nvram.c b/arch/powerpc/platforms/powermac/nvram.c
index 853ccc4480e2..2091c8dba2a0 100644
--- a/arch/powerpc/platforms/powermac/nvram.c
+++ b/arch/powerpc/platforms/powermac/nvram.c
@@ -258,7 +258,7 @@ static u32 core99_calc_adler(u8 *buffer)
 	return (high << 16) | low;
 }
 
-static u32 core99_check(u8* datas)
+static u32 __init core99_check(u8* datas)
 {
 	struct core99_header* hdr99 = (struct core99_header*)datas;
 
diff --git a/arch/powerpc/platforms/powermac/pfunc_base.c b/arch/powerpc/platforms/powermac/pfunc_base.c
index f5422506d4b0..9c2947a3edd5 100644
--- a/arch/powerpc/platforms/powermac/pfunc_base.c
+++ b/arch/powerpc/platforms/powermac/pfunc_base.c
@@ -93,7 +93,7 @@ static struct pmf_handlers macio_gpio_handlers = {
 	.delay		= macio_do_delay,
 };
 
-static void macio_gpio_init_one(struct macio_chip *macio)
+static void __init macio_gpio_init_one(struct macio_chip *macio)
 {
 	struct device_node *gparent, *gp;
 
@@ -265,7 +265,7 @@ static struct pmf_handlers macio_mmio_handlers = {
 	.delay			= macio_do_delay,
 };
 
-static void macio_mmio_init_one(struct macio_chip *macio)
+static void __init macio_mmio_init_one(struct macio_chip *macio)
 {
 	DBG("Installing MMIO functions for macio %pOF\n",
 	    macio->of_node);
@@ -294,7 +294,7 @@ static struct pmf_handlers unin_mmio_handlers = {
 	.delay			= macio_do_delay,
 };
 
-static void uninorth_install_pfunc(void)
+static void __init uninorth_install_pfunc(void)
 {
 	struct device_node *np;
 
diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index 13e8a8a9841c..f7661b81db18 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -194,7 +194,7 @@ int find_via_pmu(void)
 #endif
 
 #ifndef CONFIG_PMAC_SMU
-int smu_init(void)
+int __init smu_init(void)
 {
 	/* should check and warn if SMU is present */
 	return 0;
diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms/powermac/smp.c
index 3256a316e884..da1efdc30d6c 100644
--- a/arch/powerpc/platforms/powermac/smp.c
+++ b/arch/powerpc/platforms/powermac/smp.c
@@ -186,7 +186,7 @@ static const struct irq_domain_ops psurge_host_ops = {
 	.map	= psurge_host_map,
 };
 
-static int psurge_secondary_ipi_init(void)
+static int __init psurge_secondary_ipi_init(void)
 {
 	int rc = -ENOMEM;
 
@@ -875,7 +875,7 @@ static int smp_core99_cpu_online(unsigned int cpu)
 
 static void __init smp_core99_bringup_done(void)
 {
-	extern void g5_phy_disable_cpu1(void);
+	extern void __init g5_phy_disable_cpu1(void);
 
 	/* Close i2c bus if it was used for tb sync */
 	if (pmac_tb_clock_chip_host)
diff --git a/arch/powerpc/platforms/powermac/udbg_scc.c b/arch/powerpc/platforms/powermac/udbg_scc.c
index f286bdfe8346..965827ac2e9c 100644
--- a/arch/powerpc/platforms/powermac/udbg_scc.c
+++ b/arch/powerpc/platforms/powermac/udbg_scc.c
@@ -62,7 +62,7 @@ static unsigned char scc_inittab[] = {
     3,  0xc1,		/* rx enable, 8 bits */
 };
 
-void udbg_scc_init(int force_scc)
+void __init udbg_scc_init(int force_scc)
 {
 	const u32 *reg;
 	unsigned long addr;
-- 
2.25.1


^ permalink raw reply related

* [PATCH 11/20] powerpc/powernv: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/powernv' 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>
---
 arch/powerpc/include/asm/cpuidle.h                  | 2 +-
 arch/powerpc/include/asm/opal.h                     | 2 +-
 arch/powerpc/platforms/powernv/idle.c               | 6 +++---
 arch/powerpc/platforms/powernv/opal-core.c          | 6 +++---
 arch/powerpc/platforms/powernv/opal-fadump.c        | 2 +-
 arch/powerpc/platforms/powernv/opal-msglog.c        | 4 ++--
 arch/powerpc/platforms/powernv/opal-power.c         | 2 +-
 arch/powerpc/platforms/powernv/opal-powercap.c      | 2 +-
 arch/powerpc/platforms/powernv/opal-rtc.c           | 2 +-
 arch/powerpc/platforms/powernv/opal-sensor-groups.c | 4 ++--
 arch/powerpc/platforms/powernv/opal.c               | 8 ++++----
 arch/powerpc/platforms/powernv/pci-ioda.c           | 4 ++--
 arch/powerpc/platforms/powernv/powernv.h            | 4 ++--
 arch/powerpc/platforms/powernv/rng.c                | 2 +-
 arch/powerpc/platforms/powernv/setup.c              | 6 +++---
 15 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/arch/powerpc/include/asm/cpuidle.h b/arch/powerpc/include/asm/cpuidle.h
index 9844b3ded187..4eb37daca312 100644
--- a/arch/powerpc/include/asm/cpuidle.h
+++ b/arch/powerpc/include/asm/cpuidle.h
@@ -85,7 +85,7 @@ extern struct pnv_idle_states_t *pnv_idle_states;
 extern int nr_pnv_idle_states;
 
 unsigned long pnv_cpu_offline(unsigned int cpu);
-int validate_psscr_val_mask(u64 *psscr_val, u64 *psscr_mask, u32 flags);
+int validate_psscr_val_mask(u64 *psscr_val, u64 *psscr_mask, u32 flags) __init;
 static inline void report_invalid_psscr_val(u64 psscr_val, int err)
 {
 	switch (err) {
diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index 6ea9001de9a9..95cab891b0e8 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -314,7 +314,7 @@ extern int early_init_dt_scan_opal(unsigned long node, const char *uname,
 				   int depth, void *data);
 extern int early_init_dt_scan_recoverable_ranges(unsigned long node,
 				 const char *uname, int depth, void *data);
-extern void opal_configure_cores(void);
+extern void opal_configure_cores(void) __init;
 
 extern int opal_get_chars(uint32_t vtermno, char *buf, int count);
 extern int opal_put_chars(uint32_t vtermno, const char *buf, int total_len);
diff --git a/arch/powerpc/platforms/powernv/idle.c b/arch/powerpc/platforms/powernv/idle.c
index 3bc84e2fe064..e2eff85bd7fa 100644
--- a/arch/powerpc/platforms/powernv/idle.c
+++ b/arch/powerpc/platforms/powernv/idle.c
@@ -62,7 +62,7 @@ static bool deepest_stop_found;
 
 static unsigned long power7_offline_type;
 
-static int pnv_save_sprs_for_deep_states(void)
+static int __init pnv_save_sprs_for_deep_states(void)
 {
 	int cpu;
 	int rc;
@@ -1121,7 +1121,7 @@ unsigned long pnv_cpu_offline(unsigned int cpu)
  *	stop instruction
  */
 
-int validate_psscr_val_mask(u64 *psscr_val, u64 *psscr_mask, u32 flags)
+int __init validate_psscr_val_mask(u64 *psscr_val, u64 *psscr_mask, u32 flags)
 {
 	int err = 0;
 
@@ -1315,7 +1315,7 @@ static void __init pnv_probe_idle_states(void)
  * which is the number of cpuidle states discovered through device-tree.
  */
 
-static int pnv_parse_cpuidle_dt(void)
+static int __init pnv_parse_cpuidle_dt(void)
 {
 	struct device_node *np;
 	int nr_idle_states, i;
diff --git a/arch/powerpc/platforms/powernv/opal-core.c b/arch/powerpc/platforms/powernv/opal-core.c
index 5b9736bbc2aa..0331f1973f0e 100644
--- a/arch/powerpc/platforms/powernv/opal-core.c
+++ b/arch/powerpc/platforms/powernv/opal-core.c
@@ -89,7 +89,7 @@ static inline int is_opalcore_usable(void)
 	return (oc_conf && oc_conf->opalcorebuf != NULL) ? 1 : 0;
 }
 
-static Elf64_Word *append_elf64_note(Elf64_Word *buf, char *name,
+static Elf64_Word *__init append_elf64_note(Elf64_Word *buf, char *name,
 				     u32 type, void *data,
 				     size_t data_len)
 {
@@ -108,7 +108,7 @@ static Elf64_Word *append_elf64_note(Elf64_Word *buf, char *name,
 	return buf;
 }
 
-static void fill_prstatus(struct elf_prstatus *prstatus, int pir,
+static void __init fill_prstatus(struct elf_prstatus *prstatus, int pir,
 			  struct pt_regs *regs)
 {
 	memset(prstatus, 0, sizeof(struct elf_prstatus));
@@ -134,7 +134,7 @@ static void fill_prstatus(struct elf_prstatus *prstatus, int pir,
 	}
 }
 
-static Elf64_Word *auxv_to_elf64_notes(Elf64_Word *buf,
+static Elf64_Word *__init auxv_to_elf64_notes(Elf64_Word *buf,
 				       u64 opal_boot_entry)
 {
 	Elf64_Off *bufp = (Elf64_Off *)oc_conf->auxv_buf;
diff --git a/arch/powerpc/platforms/powernv/opal-fadump.c b/arch/powerpc/platforms/powernv/opal-fadump.c
index 9a360ced663b..c8ad057c7221 100644
--- a/arch/powerpc/platforms/powernv/opal-fadump.c
+++ b/arch/powerpc/platforms/powernv/opal-fadump.c
@@ -112,7 +112,7 @@ static void opal_fadump_update_config(struct fw_dump *fadump_conf,
  * This function is called in the capture kernel to get configuration details
  * from metadata setup by the first kernel.
  */
-static void opal_fadump_get_config(struct fw_dump *fadump_conf,
+static void __init opal_fadump_get_config(struct fw_dump *fadump_conf,
 				   const struct opal_fadump_mem_struct *fdm)
 {
 	unsigned long base, size, last_end, hole_size;
diff --git a/arch/powerpc/platforms/powernv/opal-msglog.c b/arch/powerpc/platforms/powernv/opal-msglog.c
index d3b6e135c18b..22d6efe17b0d 100644
--- a/arch/powerpc/platforms/powernv/opal-msglog.c
+++ b/arch/powerpc/platforms/powernv/opal-msglog.c
@@ -105,7 +105,7 @@ static struct bin_attribute opal_msglog_attr = {
 	.read = opal_msglog_read
 };
 
-struct memcons *memcons_init(struct device_node *node, const char *mc_prop_name)
+struct memcons *__init memcons_init(struct device_node *node, const char *mc_prop_name)
 {
 	u64 mcaddr;
 	struct memcons *mc;
@@ -133,7 +133,7 @@ struct memcons *memcons_init(struct device_node *node, const char *mc_prop_name)
 	return NULL;
 }
 
-u32 memcons_get_size(struct memcons *mc)
+u32 __init memcons_get_size(struct memcons *mc)
 {
 	return be32_to_cpu(mc->ibuf_size) + be32_to_cpu(mc->obuf_size);
 }
diff --git a/arch/powerpc/platforms/powernv/opal-power.c b/arch/powerpc/platforms/powernv/opal-power.c
index 2a3717fc24ea..db99ffcb7b82 100644
--- a/arch/powerpc/platforms/powernv/opal-power.c
+++ b/arch/powerpc/platforms/powernv/opal-power.c
@@ -53,7 +53,7 @@ static bool detect_epow(void)
 }
 
 /* Check for existing EPOW, DPO events */
-static bool poweroff_pending(void)
+static bool __init poweroff_pending(void)
 {
 	int rc;
 	__be64 opal_dpo_timeout;
diff --git a/arch/powerpc/platforms/powernv/opal-powercap.c b/arch/powerpc/platforms/powernv/opal-powercap.c
index c16d44f6f1d1..64506b46e77b 100644
--- a/arch/powerpc/platforms/powernv/opal-powercap.c
+++ b/arch/powerpc/platforms/powernv/opal-powercap.c
@@ -129,7 +129,7 @@ static ssize_t powercap_store(struct kobject *kobj,
 	return ret;
 }
 
-static void powercap_add_attr(int handle, const char *name,
+static void __init powercap_add_attr(int handle, const char *name,
 			      struct powercap_attr *attr)
 {
 	attr->handle = handle;
diff --git a/arch/powerpc/platforms/powernv/opal-rtc.c b/arch/powerpc/platforms/powernv/opal-rtc.c
index 44d7dacb33a2..a9bcf9217e64 100644
--- a/arch/powerpc/platforms/powernv/opal-rtc.c
+++ b/arch/powerpc/platforms/powernv/opal-rtc.c
@@ -18,7 +18,7 @@
 #include <asm/firmware.h>
 #include <asm/machdep.h>
 
-static void opal_to_tm(u32 y_m_d, u64 h_m_s_ms, struct rtc_time *tm)
+static void __init opal_to_tm(u32 y_m_d, u64 h_m_s_ms, struct rtc_time *tm)
 {
 	tm->tm_year	= ((bcd2bin(y_m_d >> 24) * 100) +
 			   bcd2bin((y_m_d >> 16) & 0xff)) - 1900;
diff --git a/arch/powerpc/platforms/powernv/opal-sensor-groups.c b/arch/powerpc/platforms/powernv/opal-sensor-groups.c
index f8ae1fb0c102..8fba7d25ae56 100644
--- a/arch/powerpc/platforms/powernv/opal-sensor-groups.c
+++ b/arch/powerpc/platforms/powernv/opal-sensor-groups.c
@@ -126,7 +126,7 @@ static void add_attr(int handle, struct sg_attr *attr, int index)
 	attr->attr.store = ops_info[index].store;
 }
 
-static int add_attr_group(const __be32 *ops, int len, struct sensor_group *sg,
+static int __init add_attr_group(const __be32 *ops, int len, struct sensor_group *sg,
 			   u32 handle)
 {
 	int i, j;
@@ -144,7 +144,7 @@ static int add_attr_group(const __be32 *ops, int len, struct sensor_group *sg,
 	return sysfs_create_group(sg_kobj, &sg->sg);
 }
 
-static int get_nr_attrs(const __be32 *ops, int len)
+static int __init get_nr_attrs(const __be32 *ops, int len)
 {
 	int i, j;
 	int nr_attrs = 0;
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index e9d18519e650..55a8fbfdb5b2 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -73,7 +73,7 @@ static struct task_struct *kopald_tsk;
 static struct opal_msg *opal_msg;
 static u32 opal_msg_size __ro_after_init;
 
-void opal_configure_cores(void)
+void __init opal_configure_cores(void)
 {
 	u64 reinit_flags = 0;
 
@@ -779,7 +779,7 @@ bool opal_mce_check_early_recovery(struct pt_regs *regs)
 	return !!recover_addr;
 }
 
-static int opal_sysfs_init(void)
+static int __init opal_sysfs_init(void)
 {
 	opal_kobj = kobject_create_and_add("opal", firmware_kobj);
 	if (!opal_kobj) {
@@ -937,7 +937,7 @@ static void __init opal_dump_region_init(void)
 			"rc = %d\n", rc);
 }
 
-static void opal_pdev_init(const char *compatible)
+static void __init opal_pdev_init(const char *compatible)
 {
 	struct device_node *np;
 
@@ -981,7 +981,7 @@ void opal_wake_poller(void)
 		wake_up_process(kopald_tsk);
 }
 
-static void opal_init_heartbeat(void)
+static void __init opal_init_heartbeat(void)
 {
 	/* Old firwmware, we assume the HVC heartbeat is sufficient */
 	if (of_property_read_u32(opal_node, "ibm,heartbeat-ms",
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
index 004cd6a96c8a..acd763593ab4 100644
--- a/arch/powerpc/platforms/powernv/pci-ioda.c
+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
@@ -2265,7 +2265,7 @@ static const struct irq_domain_ops pnv_irq_domain_ops = {
 	.free   = pnv_irq_domain_free,
 };
 
-static int pnv_msi_allocate_domains(struct pci_controller *hose, unsigned int count)
+static int __init pnv_msi_allocate_domains(struct pci_controller *hose, unsigned int count)
 {
 	struct pnv_phb *phb = hose->private_data;
 	struct irq_domain *parent = irq_get_default_host();
@@ -2298,7 +2298,7 @@ static int pnv_msi_allocate_domains(struct pci_controller *hose, unsigned int co
 	return 0;
 }
 
-static void pnv_pci_init_ioda_msis(struct pnv_phb *phb)
+static void __init pnv_pci_init_ioda_msis(struct pnv_phb *phb)
 {
 	unsigned int count;
 	const __be32 *prop = of_get_property(phb->hose->dn,
diff --git a/arch/powerpc/platforms/powernv/powernv.h b/arch/powerpc/platforms/powernv/powernv.h
index 11df4e16a1cc..6ea49bcaa118 100644
--- a/arch/powerpc/platforms/powernv/powernv.h
+++ b/arch/powerpc/platforms/powernv/powernv.h
@@ -39,7 +39,7 @@ bool cpu_core_split_required(void);
 
 struct memcons;
 ssize_t memcons_copy(struct memcons *mc, char *to, loff_t pos, size_t count);
-u32 memcons_get_size(struct memcons *mc);
-struct memcons *memcons_init(struct device_node *node, const char *mc_prop_name);
+u32 memcons_get_size(struct memcons *mc) __init;
+struct memcons *memcons_init(struct device_node *node, const char *mc_prop_name) __init;
 
 #endif /* _POWERNV_H */
diff --git a/arch/powerpc/platforms/powernv/rng.c b/arch/powerpc/platforms/powernv/rng.c
index 72c25295c1c2..b4386714494a 100644
--- a/arch/powerpc/platforms/powernv/rng.c
+++ b/arch/powerpc/platforms/powernv/rng.c
@@ -80,7 +80,7 @@ static int powernv_get_random_darn(unsigned long *v)
 	return 1;
 }
 
-static int initialise_darn(void)
+static int __init initialise_darn(void)
 {
 	unsigned long val;
 	int i;
diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c
index 5ef6b8afb3d0..8ebac5896ea6 100644
--- a/arch/powerpc/platforms/powernv/setup.c
+++ b/arch/powerpc/platforms/powernv/setup.c
@@ -40,7 +40,7 @@
 #include "powernv.h"
 
 
-static bool fw_feature_is(const char *state, const char *name,
+static bool __init fw_feature_is(const char *state, const char *name,
 			  struct device_node *fw_features)
 {
 	struct device_node *np;
@@ -55,7 +55,7 @@ static bool fw_feature_is(const char *state, const char *name,
 	return rc;
 }
 
-static void init_fw_feat_flags(struct device_node *np)
+static void __init init_fw_feat_flags(struct device_node *np)
 {
 	if (fw_feature_is("enabled", "inst-spec-barrier-ori31,31,0", np))
 		security_ftr_set(SEC_FTR_SPEC_BAR_ORI31);
@@ -98,7 +98,7 @@ static void init_fw_feat_flags(struct device_node *np)
 		security_ftr_clear(SEC_FTR_BNDS_CHK_SPEC_BAR);
 }
 
-static void pnv_setup_security_mitigations(void)
+static void __init pnv_setup_security_mitigations(void)
 {
 	struct device_node *np, *fw_features;
 	enum l1d_flush_type type;
-- 
2.25.1


^ permalink raw reply related

* [PATCH 12/20] powerpc/pseries: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/pseries' 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>
---
 arch/powerpc/include/asm/book3s/64/mmu.h       | 2 +-
 arch/powerpc/include/asm/iommu.h               | 2 +-
 arch/powerpc/include/asm/setup.h               | 2 +-
 arch/powerpc/platforms/pseries/event_sources.c | 2 +-
 arch/powerpc/platforms/pseries/iommu.c         | 2 +-
 arch/powerpc/platforms/pseries/lpar.c          | 6 +++---
 arch/powerpc/platforms/pseries/pseries.h       | 2 +-
 arch/powerpc/platforms/pseries/rtas-fadump.c   | 6 +++---
 arch/powerpc/platforms/pseries/setup.c         | 4 ++--
 arch/powerpc/platforms/pseries/vas.c           | 2 +-
 arch/powerpc/platforms/pseries/vio.c           | 6 +++---
 11 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/arch/powerpc/include/asm/book3s/64/mmu.h b/arch/powerpc/include/asm/book3s/64/mmu.h
index c02f42d1031e..7c6a210cb482 100644
--- a/arch/powerpc/include/asm/book3s/64/mmu.h
+++ b/arch/powerpc/include/asm/book3s/64/mmu.h
@@ -238,7 +238,7 @@ static inline void setup_initial_memory_limit(phys_addr_t first_memblock_base,
 }
 
 #ifdef CONFIG_PPC_PSERIES
-extern void radix_init_pseries(void);
+extern void radix_init_pseries(void) __init;
 #else
 static inline void radix_init_pseries(void) { }
 #endif
diff --git a/arch/powerpc/include/asm/iommu.h b/arch/powerpc/include/asm/iommu.h
index c361212ac160..d38d43af4495 100644
--- a/arch/powerpc/include/asm/iommu.h
+++ b/arch/powerpc/include/asm/iommu.h
@@ -275,7 +275,7 @@ extern void iommu_unmap_page(struct iommu_table *tbl, dma_addr_t dma_handle,
 			     size_t size, enum dma_data_direction direction,
 			     unsigned long attrs);
 
-extern void iommu_init_early_pSeries(void);
+extern void iommu_init_early_pSeries(void) __init;
 extern void iommu_init_early_dart(struct pci_controller_ops *controller_ops);
 extern void iommu_init_early_pasemi(void);
 
diff --git a/arch/powerpc/include/asm/setup.h b/arch/powerpc/include/asm/setup.h
index fb2de1b1c266..5257f498d611 100644
--- a/arch/powerpc/include/asm/setup.h
+++ b/arch/powerpc/include/asm/setup.h
@@ -32,7 +32,7 @@ void setup_panic(void);
 extern bool pseries_enable_reloc_on_exc(void);
 extern void pseries_disable_reloc_on_exc(void);
 extern void pseries_big_endian_exceptions(void);
-extern void pseries_little_endian_exceptions(void);
+extern void pseries_little_endian_exceptions(void) __init;
 #else
 static inline bool pseries_enable_reloc_on_exc(void) { return false; }
 static inline void pseries_disable_reloc_on_exc(void) {}
diff --git a/arch/powerpc/platforms/pseries/event_sources.c b/arch/powerpc/platforms/pseries/event_sources.c
index be661e919c76..623dfe0d8e1c 100644
--- a/arch/powerpc/platforms/pseries/event_sources.c
+++ b/arch/powerpc/platforms/pseries/event_sources.c
@@ -8,7 +8,7 @@
 
 #include "pseries.h"
 
-void request_event_sources_irqs(struct device_node *np,
+void __init request_event_sources_irqs(struct device_node *np,
 				irq_handler_t handler,
 				const char *name)
 {
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index 8f998e55735b..4d991cf840d9 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -1654,7 +1654,7 @@ static struct notifier_block iommu_reconfig_nb = {
 };
 
 /* These are called very early. */
-void iommu_init_early_pSeries(void)
+void __init iommu_init_early_pSeries(void)
 {
 	if (of_chosen && of_get_property(of_chosen, "linux,iommu-off", NULL))
 		return;
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c
index 3df6bdfea475..2729c489a533 100644
--- a/arch/powerpc/platforms/pseries/lpar.c
+++ b/arch/powerpc/platforms/pseries/lpar.c
@@ -1680,7 +1680,7 @@ static int pseries_lpar_resize_hpt(unsigned long shift)
 	return 0;
 }
 
-static int pseries_lpar_register_process_table(unsigned long base,
+static int __init pseries_lpar_register_process_table(unsigned long base,
 			unsigned long page_size, unsigned long table_size)
 {
 	long rc;
@@ -1732,7 +1732,7 @@ void __init hpte_init_pseries(void)
 }
 
 #ifdef CONFIG_PPC_RADIX_MMU
-void radix_init_pseries(void)
+void __init radix_init_pseries(void)
 {
 	pr_info("Using radix MMU under hypervisor\n");
 
@@ -1932,7 +1932,7 @@ int h_get_mpp_x(struct hvcall_mpp_x_data *mpp_x_data)
 	return rc;
 }
 
-static unsigned long vsid_unscramble(unsigned long vsid, int ssize)
+static unsigned long __init vsid_unscramble(unsigned long vsid, int ssize)
 {
 	unsigned long protovsid;
 	unsigned long va_bits = VA_BITS;
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
index 3544778e06d0..ea69add75796 100644
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
@@ -12,7 +12,7 @@
 struct device_node;
 
 extern void request_event_sources_irqs(struct device_node *np,
-				       irq_handler_t handler, const char *name);
+				       irq_handler_t handler, const char *name) __init;
 
 #include <linux/of.h>
 
diff --git a/arch/powerpc/platforms/pseries/rtas-fadump.c b/arch/powerpc/platforms/pseries/rtas-fadump.c
index f8f73b47b107..35f9cb602c30 100644
--- a/arch/powerpc/platforms/pseries/rtas-fadump.c
+++ b/arch/powerpc/platforms/pseries/rtas-fadump.c
@@ -39,7 +39,7 @@ static void rtas_fadump_update_config(struct fw_dump *fadump_conf,
  * This function is called in the capture kernel to get configuration details
  * setup in the first kernel and passed to the f/w.
  */
-static void rtas_fadump_get_config(struct fw_dump *fadump_conf,
+static void __init rtas_fadump_get_config(struct fw_dump *fadump_conf,
 				   const struct rtas_fadump_mem_struct *fdm)
 {
 	fadump_conf->boot_mem_addr[0] =
@@ -247,7 +247,7 @@ static inline int rtas_fadump_gpr_index(u64 id)
 	return i;
 }
 
-static void rtas_fadump_set_regval(struct pt_regs *regs, u64 reg_id, u64 reg_val)
+static void __init rtas_fadump_set_regval(struct pt_regs *regs, u64 reg_id, u64 reg_val)
 {
 	int i;
 
@@ -272,7 +272,7 @@ static void rtas_fadump_set_regval(struct pt_regs *regs, u64 reg_id, u64 reg_val
 		regs->dsisr = (unsigned long)reg_val;
 }
 
-static struct rtas_fadump_reg_entry*
+static struct rtas_fadump_reg_entry* __init
 rtas_fadump_read_regs(struct rtas_fadump_reg_entry *reg_entry,
 		      struct pt_regs *regs)
 {
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index 8a62af5b9c24..b9bf60689ac8 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -447,7 +447,7 @@ void pseries_big_endian_exceptions(void)
 		panic("Could not enable big endian exceptions");
 }
 
-void pseries_little_endian_exceptions(void)
+void __init pseries_little_endian_exceptions(void)
 {
 	long rc;
 
@@ -905,7 +905,7 @@ void pSeries_coalesce_init(void)
  * fw_cmo_feature_init - FW_FEATURE_CMO is not stored in ibm,hypertas-functions,
  * handle that here. (Stolen from parse_system_parameter_string)
  */
-static void pSeries_cmo_feature_init(void)
+static void __init pSeries_cmo_feature_init(void)
 {
 	char *ptr, *key, *value, *end;
 	int call_status;
diff --git a/arch/powerpc/platforms/pseries/vas.c b/arch/powerpc/platforms/pseries/vas.c
index b043e3936d21..3e59662d0181 100644
--- a/arch/powerpc/platforms/pseries/vas.c
+++ b/arch/powerpc/platforms/pseries/vas.c
@@ -482,7 +482,7 @@ EXPORT_SYMBOL_GPL(vas_unregister_api_pseries);
  * Get the specific capabilities based on the feature type.
  * Right now supports GZIP default and GZIP QoS capabilities.
  */
-static int get_vas_capabilities(u8 feat, enum vas_cop_feat_type type,
+static int __init get_vas_capabilities(u8 feat, enum vas_cop_feat_type type,
 				struct hv_vas_cop_feat_caps *hv_caps)
 {
 	struct vas_cop_feat_caps *caps;
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index feafcb582e1b..c9f9be4ea26a 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -1061,7 +1061,7 @@ static struct attribute *vio_bus_attrs[] = {
 };
 ATTRIBUTE_GROUPS(vio_bus);
 
-static void vio_cmo_sysfs_init(void)
+static void __init vio_cmo_sysfs_init(void)
 {
 	vio_bus_type.dev_groups = vio_cmo_dev_groups;
 	vio_bus_type.bus_groups = vio_bus_groups;
@@ -1073,7 +1073,7 @@ static int vio_cmo_bus_probe(struct vio_dev *viodev) { return 0; }
 static void vio_cmo_bus_remove(struct vio_dev *viodev) {}
 static void vio_cmo_set_dma_ops(struct vio_dev *viodev) {}
 static void vio_cmo_bus_init(void) {}
-static void vio_cmo_sysfs_init(void) { }
+static void __init vio_cmo_sysfs_init(void) { }
 #endif /* CONFIG_PPC_SMLPAR */
 EXPORT_SYMBOL(vio_cmo_entitlement_update);
 EXPORT_SYMBOL(vio_cmo_set_dev_desired);
@@ -1479,7 +1479,7 @@ EXPORT_SYMBOL(vio_register_device_node);
  * Starting from the root node provide, register the device node for
  * each child beneath the root.
  */
-static void vio_bus_scan_register_devices(char *root_name)
+static void __init vio_bus_scan_register_devices(char *root_name)
 {
 	struct device_node *node_root, *node_child;
 
-- 
2.25.1


^ permalink raw reply related

* [PATCH 13/20] powerpc/ps3: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/ps3' 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>
---
 arch/powerpc/platforms/ps3/gelic_udbg.c |  2 +-
 arch/powerpc/platforms/ps3/mm.c         |  4 ++--
 arch/powerpc/platforms/ps3/os-area.c    |  4 ++--
 arch/powerpc/platforms/ps3/platform.h   | 14 +++++++-------
 arch/powerpc/platforms/ps3/repository.c | 20 ++++++++++----------
 arch/powerpc/platforms/ps3/smp.c        |  2 +-
 arch/powerpc/platforms/ps3/spu.c        |  2 +-
 7 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/arch/powerpc/platforms/ps3/gelic_udbg.c b/arch/powerpc/platforms/ps3/gelic_udbg.c
index cba4f8f5b8d7..6b298010fd84 100644
--- a/arch/powerpc/platforms/ps3/gelic_udbg.c
+++ b/arch/powerpc/platforms/ps3/gelic_udbg.c
@@ -113,7 +113,7 @@ static int unmap_dma_mem(int bus_id, int dev_id, u64 bus_addr, size_t len)
 	return lv1_free_device_dma_region(bus_id, dev_id, real_bus_addr);
 }
 
-static void gelic_debug_init(void)
+static void __init gelic_debug_init(void)
 {
 	s64 result;
 	u64 v2;
diff --git a/arch/powerpc/platforms/ps3/mm.c b/arch/powerpc/platforms/ps3/mm.c
index 9c44f335c0b9..5ce924611b94 100644
--- a/arch/powerpc/platforms/ps3/mm.c
+++ b/arch/powerpc/platforms/ps3/mm.c
@@ -41,7 +41,7 @@ enum {
 	PAGE_SHIFT_16M = 24U,
 };
 
-static unsigned long make_page_sizes(unsigned long a, unsigned long b)
+static unsigned long __init make_page_sizes(unsigned long a, unsigned long b)
 {
 	return (a << 56) | (b << 48);
 }
@@ -215,7 +215,7 @@ notrace void ps3_mm_vas_destroy(void)
 	}
 }
 
-static int ps3_mm_get_repository_highmem(struct mem_region *r)
+static int __init ps3_mm_get_repository_highmem(struct mem_region *r)
 {
 	int result;
 
diff --git a/arch/powerpc/platforms/ps3/os-area.c b/arch/powerpc/platforms/ps3/os-area.c
index e8530371aed6..cb844e0add2b 100644
--- a/arch/powerpc/platforms/ps3/os-area.c
+++ b/arch/powerpc/platforms/ps3/os-area.c
@@ -501,7 +501,7 @@ static int db_set_64(struct os_area_db *db, const struct os_area_db_id *id,
 	return -1;
 }
 
-static int db_get_64(const struct os_area_db *db,
+static int __init db_get_64(const struct os_area_db *db,
 	const struct os_area_db_id *id, uint64_t *value)
 {
 	struct db_iterator i;
@@ -517,7 +517,7 @@ static int db_get_64(const struct os_area_db *db,
 	return -1;
 }
 
-static int db_get_rtc_diff(const struct os_area_db *db, int64_t *rtc_diff)
+static int __init db_get_rtc_diff(const struct os_area_db *db, int64_t *rtc_diff)
 {
 	return db_get_64(db, &os_area_db_id_rtc_diff, (uint64_t*)rtc_diff);
 }
diff --git a/arch/powerpc/platforms/ps3/platform.h b/arch/powerpc/platforms/ps3/platform.h
index 07bd39ef71ff..d43ddb8f7210 100644
--- a/arch/powerpc/platforms/ps3/platform.h
+++ b/arch/powerpc/platforms/ps3/platform.h
@@ -35,7 +35,7 @@ void __init ps3_register_ipi_irq(unsigned int cpu, unsigned int virq);
 
 /* smp */
 
-void smp_init_ps3(void);
+void smp_init_ps3(void) __init;
 #ifdef CONFIG_SMP
 void ps3_smp_cleanup_cpu(int cpu);
 #else
@@ -135,9 +135,9 @@ int ps3_repository_find_device(struct ps3_repository_device *repo);
 int ps3_repository_find_device_by_id(struct ps3_repository_device *repo,
 				     u64 bus_id, u64 dev_id);
 int ps3_repository_find_devices(enum ps3_bus_type bus_type,
-	int (*callback)(const struct ps3_repository_device *repo));
+	int (*callback)(const struct ps3_repository_device *repo)) __init;
 int ps3_repository_find_bus(enum ps3_bus_type bus_type, unsigned int from,
-	unsigned int *bus_index);
+	unsigned int *bus_index) __init;
 int ps3_repository_find_interrupt(const struct ps3_repository_device *repo,
 	enum ps3_interrupt_type intr_type, unsigned int *interrupt_id);
 int ps3_repository_find_reg(const struct ps3_repository_device *repo,
@@ -211,8 +211,8 @@ static inline int ps3_repository_delete_highmem_info(unsigned int region_index)
 int ps3_repository_read_num_be(unsigned int *num_be);
 int ps3_repository_read_be_node_id(unsigned int be_index, u64 *node_id);
 int ps3_repository_read_be_id(u64 node_id, u64 *be_id);
-int ps3_repository_read_tb_freq(u64 node_id, u64 *tb_freq);
-int ps3_repository_read_be_tb_freq(unsigned int be_index, u64 *tb_freq);
+int ps3_repository_read_tb_freq(u64 node_id, u64 *tb_freq) __init;
+int ps3_repository_read_be_tb_freq(unsigned int be_index, u64 *tb_freq) __init;
 
 /* repository performance monitor info */
 
@@ -247,7 +247,7 @@ int ps3_repository_read_spu_resource_id(unsigned int res_index,
 
 /* repository vuart info */
 
-int ps3_repository_read_vuart_av_port(unsigned int *port);
-int ps3_repository_read_vuart_sysmgr_port(unsigned int *port);
+int ps3_repository_read_vuart_av_port(unsigned int *port) __init;
+int ps3_repository_read_vuart_sysmgr_port(unsigned int *port) __init;
 
 #endif
diff --git a/arch/powerpc/platforms/ps3/repository.c b/arch/powerpc/platforms/ps3/repository.c
index 21712964e76f..205763061a2d 100644
--- a/arch/powerpc/platforms/ps3/repository.c
+++ b/arch/powerpc/platforms/ps3/repository.c
@@ -413,7 +413,7 @@ int ps3_repository_find_device_by_id(struct ps3_repository_device *repo,
 	return 0;
 }
 
-int ps3_repository_find_devices(enum ps3_bus_type bus_type,
+int __init ps3_repository_find_devices(enum ps3_bus_type bus_type,
 	int (*callback)(const struct ps3_repository_device *repo))
 {
 	int result = 0;
@@ -455,7 +455,7 @@ int ps3_repository_find_devices(enum ps3_bus_type bus_type,
 	return result;
 }
 
-int ps3_repository_find_bus(enum ps3_bus_type bus_type, unsigned int from,
+int __init ps3_repository_find_bus(enum ps3_bus_type bus_type, unsigned int from,
 	unsigned int *bus_index)
 {
 	unsigned int i;
@@ -908,7 +908,7 @@ int ps3_repository_read_boot_dat_size(unsigned int *size)
 	return result;
 }
 
-int ps3_repository_read_vuart_av_port(unsigned int *port)
+int __init ps3_repository_read_vuart_av_port(unsigned int *port)
 {
 	int result;
 	u64 v1 = 0;
@@ -923,7 +923,7 @@ int ps3_repository_read_vuart_av_port(unsigned int *port)
 	return result;
 }
 
-int ps3_repository_read_vuart_sysmgr_port(unsigned int *port)
+int __init ps3_repository_read_vuart_sysmgr_port(unsigned int *port)
 {
 	int result;
 	u64 v1 = 0;
@@ -1005,7 +1005,7 @@ int ps3_repository_read_be_id(u64 node_id, u64 *be_id)
 		be_id, NULL);
 }
 
-int ps3_repository_read_tb_freq(u64 node_id, u64 *tb_freq)
+int __init ps3_repository_read_tb_freq(u64 node_id, u64 *tb_freq)
 {
 	return read_node(PS3_LPAR_ID_PME,
 		make_first_field("be", 0),
@@ -1015,7 +1015,7 @@ int ps3_repository_read_tb_freq(u64 node_id, u64 *tb_freq)
 		tb_freq, NULL);
 }
 
-int ps3_repository_read_be_tb_freq(unsigned int be_index, u64 *tb_freq)
+int __init ps3_repository_read_be_tb_freq(unsigned int be_index, u64 *tb_freq)
 {
 	int result;
 	u64 node_id;
@@ -1178,7 +1178,7 @@ int ps3_repository_delete_highmem_info(unsigned int region_index)
 
 #if defined(DEBUG)
 
-int ps3_repository_dump_resource_info(const struct ps3_repository_device *repo)
+int __init ps3_repository_dump_resource_info(const struct ps3_repository_device *repo)
 {
 	int result = 0;
 	unsigned int res_index;
@@ -1231,7 +1231,7 @@ int ps3_repository_dump_resource_info(const struct ps3_repository_device *repo)
 	return result;
 }
 
-static int dump_stor_dev_info(struct ps3_repository_device *repo)
+static int __init dump_stor_dev_info(struct ps3_repository_device *repo)
 {
 	int result = 0;
 	unsigned int num_regions, region_index;
@@ -1279,7 +1279,7 @@ static int dump_stor_dev_info(struct ps3_repository_device *repo)
 	return result;
 }
 
-static int dump_device_info(struct ps3_repository_device *repo,
+static int __init dump_device_info(struct ps3_repository_device *repo,
 	unsigned int num_dev)
 {
 	int result = 0;
@@ -1323,7 +1323,7 @@ static int dump_device_info(struct ps3_repository_device *repo,
 	return result;
 }
 
-int ps3_repository_dump_bus_info(void)
+int __init ps3_repository_dump_bus_info(void)
 {
 	int result = 0;
 	struct ps3_repository_device repo;
diff --git a/arch/powerpc/platforms/ps3/smp.c b/arch/powerpc/platforms/ps3/smp.c
index 93b1e73b3529..85295756005a 100644
--- a/arch/powerpc/platforms/ps3/smp.c
+++ b/arch/powerpc/platforms/ps3/smp.c
@@ -112,7 +112,7 @@ static struct smp_ops_t ps3_smp_ops = {
 	.kick_cpu	= smp_generic_kick_cpu,
 };
 
-void smp_init_ps3(void)
+void __init smp_init_ps3(void)
 {
 	DBG(" -> %s\n", __func__);
 	smp_ops = &ps3_smp_ops;
diff --git a/arch/powerpc/platforms/ps3/spu.c b/arch/powerpc/platforms/ps3/spu.c
index 0c252478e556..4a2520ec6d7f 100644
--- a/arch/powerpc/platforms/ps3/spu.c
+++ b/arch/powerpc/platforms/ps3/spu.c
@@ -137,7 +137,7 @@ u64 ps3_get_spe_id(void *arg)
 }
 EXPORT_SYMBOL_GPL(ps3_get_spe_id);
 
-static unsigned long get_vas_id(void)
+static unsigned long __init get_vas_id(void)
 {
 	u64 id;
 
-- 
2.25.1


^ permalink raw reply related

* [PATCH 14/20] powerpc/4xx: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/4xx' are deserving of an
`__init` macro attribute. These functions are only called by other
initialization functions and therefore should inherit the attribute.

Signed-off-by: Nick Child <nick.child@ibm.com>
---
 arch/powerpc/platforms/4xx/cpm.c | 4 ++--
 arch/powerpc/platforms/4xx/pci.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/platforms/4xx/cpm.c b/arch/powerpc/platforms/4xx/cpm.c
index ae8b812c9202..2571841625a2 100644
--- a/arch/powerpc/platforms/4xx/cpm.c
+++ b/arch/powerpc/platforms/4xx/cpm.c
@@ -163,7 +163,7 @@ static ssize_t cpm_idle_store(struct kobject *kobj,
 static struct kobj_attribute cpm_idle_attr =
 	__ATTR(idle, 0644, cpm_idle_show, cpm_idle_store);
 
-static void cpm_idle_config_sysfs(void)
+static void __init cpm_idle_config_sysfs(void)
 {
 	struct device *dev;
 	unsigned long ret;
@@ -231,7 +231,7 @@ static const struct platform_suspend_ops cpm_suspend_ops = {
 	.enter		= cpm_suspend_enter,
 };
 
-static int cpm_get_uint_property(struct device_node *np,
+static int __init cpm_get_uint_property(struct device_node *np,
 				 const char *name)
 {
 	int len;
diff --git a/arch/powerpc/platforms/4xx/pci.c b/arch/powerpc/platforms/4xx/pci.c
index c13d64c3b019..24f41e178cbc 100644
--- a/arch/powerpc/platforms/4xx/pci.c
+++ b/arch/powerpc/platforms/4xx/pci.c
@@ -1273,7 +1273,7 @@ static int __init ppc405ex_pciex_core_init(struct device_node *np)
 	return 2;
 }
 
-static void ppc405ex_pcie_phy_reset(struct ppc4xx_pciex_port *port)
+static void __init ppc405ex_pcie_phy_reset(struct ppc4xx_pciex_port *port)
 {
 	/* Assert the PE0_PHY reset */
 	mtdcri(SDR0, port->sdr_base + PESDRn_RCSSET, 0x01010000);
-- 
2.25.1


^ permalink raw reply related

* [PATCH 15/20] powerpc/44x: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/44x/' are deserving of an
`__init` macro attribute. These functions are only called by other
initialization functions and therefore should inherit the attribute.

Signed-off-by: Nick Child <nick.child@ibm.com>
---
 arch/powerpc/platforms/44x/fsp2.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/44x/fsp2.c b/arch/powerpc/platforms/44x/fsp2.c
index 823397c802de..af13a59d2f60 100644
--- a/arch/powerpc/platforms/44x/fsp2.c
+++ b/arch/powerpc/platforms/44x/fsp2.c
@@ -197,7 +197,7 @@ static irqreturn_t rst_wrn_handler(int irq, void *data) {
 	}
 }
 
-static void node_irq_request(const char *compat, irq_handler_t errirq_handler)
+static void __init node_irq_request(const char *compat, irq_handler_t errirq_handler)
 {
 	struct device_node *np;
 	unsigned int irq;
@@ -222,7 +222,7 @@ static void node_irq_request(const char *compat, irq_handler_t errirq_handler)
 	}
 }
 
-static void critical_irq_setup(void)
+static void __init critical_irq_setup(void)
 {
 	node_irq_request(FSP2_CMU_ERR, cmu_err_handler);
 	node_irq_request(FSP2_BUS_ERR, bus_err_handler);
-- 
2.25.1


^ permalink raw reply related

* [PATCH 16/20] powerpc/embedded6xx: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/embedded6xx' 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>
---
 arch/powerpc/platforms/embedded6xx/hlwd-pic.c      | 4 ++--
 arch/powerpc/platforms/embedded6xx/hlwd-pic.h      | 2 +-
 arch/powerpc/platforms/embedded6xx/holly.c         | 2 +-
 arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c | 4 ++--
 arch/powerpc/platforms/embedded6xx/wii.c           | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
index a4b020e4b6af..380b4285cce4 100644
--- a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
+++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
@@ -153,7 +153,7 @@ static void __hlwd_quiesce(void __iomem *io_base)
 	out_be32(io_base + HW_BROADWAY_ICR, 0xffffffff);
 }
 
-static struct irq_domain *hlwd_pic_init(struct device_node *np)
+static struct irq_domain *__init hlwd_pic_init(struct device_node *np)
 {
 	struct irq_domain *irq_domain;
 	struct resource res;
@@ -197,7 +197,7 @@ unsigned int hlwd_pic_get_irq(void)
  *
  */
 
-void hlwd_pic_probe(void)
+void __init hlwd_pic_probe(void)
 {
 	struct irq_domain *host;
 	struct device_node *np;
diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.h b/arch/powerpc/platforms/embedded6xx/hlwd-pic.h
index f18eeeef0815..b1ff935c187e 100644
--- a/arch/powerpc/platforms/embedded6xx/hlwd-pic.h
+++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.h
@@ -11,7 +11,7 @@
 #define __HLWD_PIC_H
 
 extern unsigned int hlwd_pic_get_irq(void);
-extern void hlwd_pic_probe(void);
+extern void hlwd_pic_probe(void) __init;
 extern void hlwd_quiesce(void);
 
 #endif
diff --git a/arch/powerpc/platforms/embedded6xx/holly.c b/arch/powerpc/platforms/embedded6xx/holly.c
index 7a85b117f7a4..07e71ba3e846 100644
--- a/arch/powerpc/platforms/embedded6xx/holly.c
+++ b/arch/powerpc/platforms/embedded6xx/holly.c
@@ -50,7 +50,7 @@ static int holly_exclude_device(struct pci_controller *hose, u_char bus,
 		return PCIBIOS_SUCCESSFUL;
 }
 
-static void holly_remap_bridge(void)
+static void __init holly_remap_bridge(void)
 {
 	u32 lut_val, lut_addr;
 	int i;
diff --git a/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c b/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c
index ed45db70a781..5aea46566233 100644
--- a/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c
+++ b/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c
@@ -194,7 +194,7 @@ static int ug_udbg_getc_poll(void)
 /*
  * Retrieves and prepares the virtual address needed to access the hardware.
  */
-static void __iomem *ug_udbg_setup_exi_io_base(struct device_node *np)
+static void __iomem *__init ug_udbg_setup_exi_io_base(struct device_node *np)
 {
 	void __iomem *exi_io_base = NULL;
 	phys_addr_t paddr;
@@ -212,7 +212,7 @@ static void __iomem *ug_udbg_setup_exi_io_base(struct device_node *np)
 /*
  * Checks if a USB Gecko adapter is inserted in any memory card slot.
  */
-static void __iomem *ug_udbg_probe(void __iomem *exi_io_base)
+static void __iomem *__init ug_udbg_probe(void __iomem *exi_io_base)
 {
 	int i;
 
diff --git a/arch/powerpc/platforms/embedded6xx/wii.c b/arch/powerpc/platforms/embedded6xx/wii.c
index a802ef957d63..f60ade584bb2 100644
--- a/arch/powerpc/platforms/embedded6xx/wii.c
+++ b/arch/powerpc/platforms/embedded6xx/wii.c
@@ -69,7 +69,7 @@ static void __noreturn wii_spin(void)
 		cpu_relax();
 }
 
-static void __iomem *wii_ioremap_hw_regs(char *name, char *compatible)
+static void __iomem *__init wii_ioremap_hw_regs(char *name, char *compatible)
 {
 	void __iomem *hw_regs = NULL;
 	struct device_node *np;
-- 
2.25.1


^ permalink raw reply related

* [PATCH 17/20] powerpc/83xx: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/83xx' 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>
---
 arch/powerpc/platforms/83xx/km83xx.c      | 2 +-
 arch/powerpc/platforms/83xx/mpc834x_mds.c | 2 +-
 arch/powerpc/platforms/83xx/mpc837x_mds.c | 2 +-
 arch/powerpc/platforms/83xx/mpc837x_rdb.c | 2 +-
 arch/powerpc/platforms/83xx/mpc83xx.h     | 6 +++---
 arch/powerpc/platforms/83xx/usb.c         | 6 +++---
 6 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/platforms/83xx/km83xx.c b/arch/powerpc/platforms/83xx/km83xx.c
index 108e1e4d2683..d9eed0decb28 100644
--- a/arch/powerpc/platforms/83xx/km83xx.c
+++ b/arch/powerpc/platforms/83xx/km83xx.c
@@ -39,7 +39,7 @@
 
 #define SVR_REV(svr)    (((svr) >>  0) & 0xFFFF) /* Revision field */
 
-static void quirk_mpc8360e_qe_enet10(void)
+static void __init quirk_mpc8360e_qe_enet10(void)
 {
 	/*
 	 * handle mpc8360E Erratum QE_ENET10:
diff --git a/arch/powerpc/platforms/83xx/mpc834x_mds.c b/arch/powerpc/platforms/83xx/mpc834x_mds.c
index 6d91bdce0a18..0713deffb40c 100644
--- a/arch/powerpc/platforms/83xx/mpc834x_mds.c
+++ b/arch/powerpc/platforms/83xx/mpc834x_mds.c
@@ -35,7 +35,7 @@
 #include "mpc83xx.h"
 
 #define BCSR5_INT_USB		0x02
-static int mpc834xemds_usb_cfg(void)
+static int __init mpc834xemds_usb_cfg(void)
 {
 	struct device_node *np;
 	void __iomem *bcsr_regs = NULL;
diff --git a/arch/powerpc/platforms/83xx/mpc837x_mds.c b/arch/powerpc/platforms/83xx/mpc837x_mds.c
index f28d166ea7db..fc88ab97f6e3 100644
--- a/arch/powerpc/platforms/83xx/mpc837x_mds.c
+++ b/arch/powerpc/platforms/83xx/mpc837x_mds.c
@@ -23,7 +23,7 @@
 #define BCSR12_USB_SER_PIN	0x80
 #define BCSR12_USB_SER_DEVICE	0x02
 
-static int mpc837xmds_usb_cfg(void)
+static int __init mpc837xmds_usb_cfg(void)
 {
 	struct device_node *np;
 	const void *phy_type, *mode;
diff --git a/arch/powerpc/platforms/83xx/mpc837x_rdb.c b/arch/powerpc/platforms/83xx/mpc837x_rdb.c
index 7fb7684c256b..5d48c6842098 100644
--- a/arch/powerpc/platforms/83xx/mpc837x_rdb.c
+++ b/arch/powerpc/platforms/83xx/mpc837x_rdb.c
@@ -18,7 +18,7 @@
 
 #include "mpc83xx.h"
 
-static void mpc837x_rdb_sd_cfg(void)
+static void __init mpc837x_rdb_sd_cfg(void)
 {
 	void __iomem *im;
 
diff --git a/arch/powerpc/platforms/83xx/mpc83xx.h b/arch/powerpc/platforms/83xx/mpc83xx.h
index a30d30588cf6..06ca2687b974 100644
--- a/arch/powerpc/platforms/83xx/mpc83xx.h
+++ b/arch/powerpc/platforms/83xx/mpc83xx.h
@@ -68,9 +68,9 @@
 
 extern void __noreturn mpc83xx_restart(char *cmd);
 extern long mpc83xx_time_init(void);
-extern int mpc837x_usb_cfg(void);
-extern int mpc834x_usb_cfg(void);
-extern int mpc831x_usb_cfg(void);
+extern int mpc837x_usb_cfg(void) __init;
+extern int mpc834x_usb_cfg(void) __init;
+extern int mpc831x_usb_cfg(void) __init;
 extern void mpc83xx_ipic_init_IRQ(void);
 
 #ifdef CONFIG_PCI
diff --git a/arch/powerpc/platforms/83xx/usb.c b/arch/powerpc/platforms/83xx/usb.c
index 3d247d726ed5..b0bda20aaccf 100644
--- a/arch/powerpc/platforms/83xx/usb.c
+++ b/arch/powerpc/platforms/83xx/usb.c
@@ -20,7 +20,7 @@
 
 
 #ifdef CONFIG_PPC_MPC834x
-int mpc834x_usb_cfg(void)
+int __init mpc834x_usb_cfg(void)
 {
 	unsigned long sccr, sicrl, sicrh;
 	void __iomem *immap;
@@ -96,7 +96,7 @@ int mpc834x_usb_cfg(void)
 #endif /* CONFIG_PPC_MPC834x */
 
 #ifdef CONFIG_PPC_MPC831x
-int mpc831x_usb_cfg(void)
+int __init mpc831x_usb_cfg(void)
 {
 	u32 temp;
 	void __iomem *immap, *usb_regs;
@@ -209,7 +209,7 @@ int mpc831x_usb_cfg(void)
 #endif /* CONFIG_PPC_MPC831x */
 
 #ifdef CONFIG_PPC_MPC837x
-int mpc837x_usb_cfg(void)
+int __init mpc837x_usb_cfg(void)
 {
 	void __iomem *immap;
 	struct device_node *np = NULL;
-- 
2.25.1


^ permalink raw reply related

* [PATCH 18/20] powerpc/85xx: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/85xx' 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>
---
 arch/powerpc/platforms/85xx/ge_imp3a.c          | 2 +-
 arch/powerpc/platforms/85xx/mpc85xx_cds.c       | 2 +-
 arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 2 +-
 arch/powerpc/platforms/85xx/socrates_fpga_pic.h | 2 +-
 arch/powerpc/platforms/85xx/xes_mpc85xx.c       | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/platforms/85xx/ge_imp3a.c b/arch/powerpc/platforms/85xx/ge_imp3a.c
index 83a0f7a1f0de..743c65e4d8e4 100644
--- a/arch/powerpc/platforms/85xx/ge_imp3a.c
+++ b/arch/powerpc/platforms/85xx/ge_imp3a.c
@@ -78,7 +78,7 @@ void __init ge_imp3a_pic_init(void)
 	of_node_put(cascade_node);
 }
 
-static void ge_imp3a_pci_assign_primary(void)
+static void __init ge_imp3a_pci_assign_primary(void)
 {
 #ifdef CONFIG_PCI
 	struct device_node *np;
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_cds.c b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
index 172d2b7cfeb7..5bd487030256 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
@@ -282,7 +282,7 @@ machine_device_initcall(mpc85xx_cds, mpc85xx_cds_8259_attach);
 
 #endif /* CONFIG_PPC_I8259 */
 
-static void mpc85xx_cds_pci_assign_primary(void)
+static void __init mpc85xx_cds_pci_assign_primary(void)
 {
 #ifdef CONFIG_PCI
 	struct device_node *np;
diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
index 199a137c0ddb..3768c86b9629 100644
--- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
+++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
@@ -271,7 +271,7 @@ static const struct irq_domain_ops socrates_fpga_pic_host_ops = {
 	.xlate  = socrates_fpga_pic_host_xlate,
 };
 
-void socrates_fpga_pic_init(struct device_node *pic)
+void __init socrates_fpga_pic_init(struct device_node *pic)
 {
 	unsigned long flags;
 	int i;
diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.h b/arch/powerpc/platforms/85xx/socrates_fpga_pic.h
index c592b8bc94dd..1d27169309c4 100644
--- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.h
+++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.h
@@ -6,6 +6,6 @@
 #ifndef SOCRATES_FPGA_PIC_H
 #define SOCRATES_FPGA_PIC_H
 
-void socrates_fpga_pic_init(struct device_node *pic);
+void socrates_fpga_pic_init(struct device_node *pic) __init;
 
 #endif
diff --git a/arch/powerpc/platforms/85xx/xes_mpc85xx.c b/arch/powerpc/platforms/85xx/xes_mpc85xx.c
index d54e1ae56997..397e158c1edb 100644
--- a/arch/powerpc/platforms/85xx/xes_mpc85xx.c
+++ b/arch/powerpc/platforms/85xx/xes_mpc85xx.c
@@ -45,7 +45,7 @@ void __init xes_mpc85xx_pic_init(void)
 	mpic_init(mpic);
 }
 
-static void xes_mpc85xx_configure_l2(void __iomem *l2_base)
+static void __init xes_mpc85xx_configure_l2(void __iomem *l2_base)
 {
 	volatile uint32_t ctl, tmp;
 
@@ -72,7 +72,7 @@ static void xes_mpc85xx_configure_l2(void __iomem *l2_base)
 	asm volatile("msync; isync");
 }
 
-static void xes_mpc85xx_fixups(void)
+static void __init xes_mpc85xx_fixups(void)
 {
 	struct device_node *np;
 	int err;
-- 
2.25.1


^ permalink raw reply related

* [PATCH 19/20] powerpc/512x: Add __init attribute to eligible functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Some functions defined in 'arch/powerpc/platforms/512x' 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>
---
 arch/powerpc/platforms/512x/clock-commonclk.c | 52 +++++++++----------
 arch/powerpc/platforms/512x/mpc512x.h         |  4 +-
 arch/powerpc/platforms/512x/mpc512x_shared.c  |  4 +-
 3 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/arch/powerpc/platforms/512x/clock-commonclk.c b/arch/powerpc/platforms/512x/clock-commonclk.c
index 30342b60aa63..0b03d812baae 100644
--- a/arch/powerpc/platforms/512x/clock-commonclk.c
+++ b/arch/powerpc/platforms/512x/clock-commonclk.c
@@ -97,7 +97,7 @@ static enum soc_type {
 	MPC512x_SOC_MPC5125,
 } soc;
 
-static void mpc512x_clk_determine_soc(void)
+static void __init mpc512x_clk_determine_soc(void)
 {
 	if (of_machine_is_compatible("fsl,mpc5121")) {
 		soc = MPC512x_SOC_MPC5121;
@@ -113,98 +113,98 @@ static void mpc512x_clk_determine_soc(void)
 	}
 }
 
-static bool soc_has_mbx(void)
+static bool __init soc_has_mbx(void)
 {
 	if (soc == MPC512x_SOC_MPC5121)
 		return true;
 	return false;
 }
 
-static bool soc_has_axe(void)
+static bool __init soc_has_axe(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return false;
 	return true;
 }
 
-static bool soc_has_viu(void)
+static bool __init soc_has_viu(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return false;
 	return true;
 }
 
-static bool soc_has_spdif(void)
+static bool __init soc_has_spdif(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return false;
 	return true;
 }
 
-static bool soc_has_pata(void)
+static bool __init soc_has_pata(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return false;
 	return true;
 }
 
-static bool soc_has_sata(void)
+static bool __init soc_has_sata(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return false;
 	return true;
 }
 
-static bool soc_has_pci(void)
+static bool __init soc_has_pci(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return false;
 	return true;
 }
 
-static bool soc_has_fec2(void)
+static bool __init soc_has_fec2(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return true;
 	return false;
 }
 
-static int soc_max_pscnum(void)
+static int __init soc_max_pscnum(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return 10;
 	return 12;
 }
 
-static bool soc_has_sdhc2(void)
+static bool __init soc_has_sdhc2(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return true;
 	return false;
 }
 
-static bool soc_has_nfc_5125(void)
+static bool __init soc_has_nfc_5125(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return true;
 	return false;
 }
 
-static bool soc_has_outclk(void)
+static bool __init soc_has_outclk(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return true;
 	return false;
 }
 
-static bool soc_has_cpmf_0_bypass(void)
+static bool __init soc_has_cpmf_0_bypass(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return true;
 	return false;
 }
 
-static bool soc_has_mclk_mux0_canin(void)
+static bool __init soc_has_mclk_mux0_canin(void)
 {
 	if (soc == MPC512x_SOC_MPC5125)
 		return true;
@@ -294,7 +294,7 @@ static inline int get_bit_field(uint32_t __iomem *reg, uint8_t pos, uint8_t len)
 }
 
 /* get the SPMF and translate it into the "sys pll" multiplier */
-static int get_spmf_mult(void)
+static int __init get_spmf_mult(void)
 {
 	static int spmf_to_mult[] = {
 		68, 1, 12, 16, 20, 24, 28, 32,
@@ -312,7 +312,7 @@ static int get_spmf_mult(void)
  * values returned from here are a multiple of the real factor since the
  * divide ratio is fractional
  */
-static int get_sys_div_x2(void)
+static int __init get_sys_div_x2(void)
 {
 	static int sysdiv_code_to_x2[] = {
 		4, 5, 6, 7, 8, 9, 10, 14,
@@ -333,7 +333,7 @@ static int get_sys_div_x2(void)
  * values returned from here are a multiple of the real factor since the
  * multiplier ratio is fractional
  */
-static int get_cpmf_mult_x2(void)
+static int __init get_cpmf_mult_x2(void)
 {
 	static int cpmf_to_mult_x36[] = {
 		/* 0b000 is "times 36" */
@@ -379,7 +379,7 @@ static const struct clk_div_table divtab_1234[] = {
 	{ .div = 0, },
 };
 
-static int get_freq_from_dt(char *propname)
+static int __init get_freq_from_dt(char *propname)
 {
 	struct device_node *np;
 	const unsigned int *prop;
@@ -396,7 +396,7 @@ static int get_freq_from_dt(char *propname)
 	return val;
 }
 
-static void mpc512x_clk_preset_data(void)
+static void __init mpc512x_clk_preset_data(void)
 {
 	size_t i;
 
@@ -418,7 +418,7 @@ static void mpc512x_clk_preset_data(void)
  *   SYS -> CSB -> IPS) from the REF clock rate and the returned mul/div
  *   values
  */
-static void mpc512x_clk_setup_ref_clock(struct device_node *np, int bus_freq,
+static void __init mpc512x_clk_setup_ref_clock(struct device_node *np, int bus_freq,
 					int *sys_mul, int *sys_div,
 					int *ips_div)
 {
@@ -592,7 +592,7 @@ static struct mclk_setup_data mclk_outclk_data[] = {
 };
 
 /* setup the MCLK clock subtree of an individual PSC/MSCAN/SPDIF */
-static void mpc512x_clk_setup_mclk(struct mclk_setup_data *entry, size_t idx)
+static void __init mpc512x_clk_setup_mclk(struct mclk_setup_data *entry, size_t idx)
 {
 	size_t clks_idx_pub, clks_idx_int;
 	u32 __iomem *mccr_reg;	/* MCLK control register (mux, en, div) */
@@ -701,7 +701,7 @@ static void mpc512x_clk_setup_mclk(struct mclk_setup_data *entry, size_t idx)
 
 /* }}} MCLK helpers */
 
-static void mpc512x_clk_setup_clock_tree(struct device_node *np, int busfreq)
+static void __init mpc512x_clk_setup_clock_tree(struct device_node *np, int busfreq)
 {
 	int sys_mul, sys_div, ips_div;
 	int mul, div;
@@ -937,7 +937,7 @@ static void mpc512x_clk_setup_clock_tree(struct device_node *np, int busfreq)
  * registers the set of public clocks (those listed in the dt-bindings/
  * header file) for OF lookups, keeps the intermediates private to us
  */
-static void mpc5121_clk_register_of_provider(struct device_node *np)
+static void __init mpc5121_clk_register_of_provider(struct device_node *np)
 {
 	clk_data.clks = clks;
 	clk_data.clk_num = MPC512x_CLK_LAST_PUBLIC + 1;	/* _not_ ARRAY_SIZE() */
@@ -948,7 +948,7 @@ static void mpc5121_clk_register_of_provider(struct device_node *np)
  * temporary support for the period of time between introduction of CCF
  * support and the adjustment of peripheral drivers to OF based lookups
  */
-static void mpc5121_clk_provide_migration_support(void)
+static void __init mpc5121_clk_provide_migration_support(void)
 {
 
 	/*
@@ -1009,7 +1009,7 @@ static void mpc5121_clk_provide_migration_support(void)
  * case of not yet adjusted device tree data, where clock related specs
  * are missing)
  */
-static void mpc5121_clk_provide_backwards_compat(void)
+static void __init mpc5121_clk_provide_backwards_compat(void)
 {
 	enum did_reg_flags {
 		DID_REG_PSC	= BIT(0),
diff --git a/arch/powerpc/platforms/512x/mpc512x.h b/arch/powerpc/platforms/512x/mpc512x.h
index fff225901e2f..75431b0e1df3 100644
--- a/arch/powerpc/platforms/512x/mpc512x.h
+++ b/arch/powerpc/platforms/512x/mpc512x.h
@@ -12,8 +12,8 @@ extern void __init mpc512x_init_early(void);
 extern void __init mpc512x_init(void);
 extern void __init mpc512x_setup_arch(void);
 extern int __init mpc5121_clk_init(void);
-extern const char *mpc512x_select_psc_compat(void);
-extern const char *mpc512x_select_reset_compat(void);
+extern const char *mpc512x_select_psc_compat(void) __init;
+extern const char *mpc512x_select_reset_compat(void) __init;
 extern void __noreturn mpc512x_restart(char *cmd);
 
 #endif				/* __MPC512X_H__ */
diff --git a/arch/powerpc/platforms/512x/mpc512x_shared.c b/arch/powerpc/platforms/512x/mpc512x_shared.c
index 7a9ae9591d60..e3411663edad 100644
--- a/arch/powerpc/platforms/512x/mpc512x_shared.c
+++ b/arch/powerpc/platforms/512x/mpc512x_shared.c
@@ -352,7 +352,7 @@ static void __init mpc512x_declare_of_platform_devices(void)
 
 #define DEFAULT_FIFO_SIZE 16
 
-const char *mpc512x_select_psc_compat(void)
+const char *__init mpc512x_select_psc_compat(void)
 {
 	if (of_machine_is_compatible("fsl,mpc5121"))
 		return "fsl,mpc5121-psc";
@@ -363,7 +363,7 @@ const char *mpc512x_select_psc_compat(void)
 	return NULL;
 }
 
-const char *mpc512x_select_reset_compat(void)
+const char *__init mpc512x_select_reset_compat(void)
 {
 	if (of_machine_is_compatible("fsl,mpc5121"))
 		return "fsl,mpc5121-reset";
-- 
2.25.1


^ permalink raw reply related

* [PATCH 20/20] cuda/pmu: Make find_via_cuda/pmu init functions
From: Nick Child @ 2021-12-15 16:12 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nick Child, dja
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>

Make `find_via_cuda` and `find_via_pmu` initialization functions.
Previously, their definitions in `drivers/macintosh/via-cuda.h` include the
`__init` attribute but their alternative definitions in `arch/powerpc/powermac
/sectup./c` and prototypes in `include/linux/cuda.h` and `include/linux/
pmu.h` do not use the `__init` macro. Since, only initialization functions
call `find_via_cuda` and `find_via_pmu` it is safe to label these functions
with `__init`.

Signed-off-by: Nick Child <nick.child@ibm.com>
---
 arch/powerpc/platforms/powermac/setup.c | 4 ++--
 include/linux/cuda.h                    | 2 +-
 include/linux/pmu.h                     | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
index f7661b81db18..974d4b49867b 100644
--- a/arch/powerpc/platforms/powermac/setup.c
+++ b/arch/powerpc/platforms/powermac/setup.c
@@ -166,7 +166,7 @@ static void pmac_show_cpuinfo(struct seq_file *m)
 }
 
 #ifndef CONFIG_ADB_CUDA
-int find_via_cuda(void)
+int __init find_via_cuda(void)
 {
 	struct device_node *dn = of_find_node_by_name(NULL, "via-cuda");
 
@@ -180,7 +180,7 @@ int find_via_cuda(void)
 #endif
 
 #ifndef CONFIG_ADB_PMU
-int find_via_pmu(void)
+int __init find_via_pmu(void)
 {
 	struct device_node *dn = of_find_node_by_name(NULL, "via-pmu");
 
diff --git a/include/linux/cuda.h b/include/linux/cuda.h
index 45bfe9d61271..e1bfbcadb601 100644
--- a/include/linux/cuda.h
+++ b/include/linux/cuda.h
@@ -12,7 +12,7 @@
 #include <uapi/linux/cuda.h>
 
 
-extern int find_via_cuda(void);
+extern int find_via_cuda(void) __init;
 extern int cuda_request(struct adb_request *req,
 			void (*done)(struct adb_request *), int nbytes, ...);
 extern void cuda_poll(void);
diff --git a/include/linux/pmu.h b/include/linux/pmu.h
index 52453a24a24f..bfe891eb6e0f 100644
--- a/include/linux/pmu.h
+++ b/include/linux/pmu.h
@@ -13,7 +13,7 @@
 #include <uapi/linux/pmu.h>
 
 
-extern int find_via_pmu(void);
+extern int find_via_pmu(void) __init;
 
 extern int pmu_request(struct adb_request *req,
 		void (*done)(struct adb_request *), int nbytes, ...);
-- 
2.25.1


^ permalink raw reply related

* Re: [BUG] mtd: cfi_cmdset_0002: write regression since v4.17-rc1
From: Tokunori Ikegami @ 2021-12-15 17:34 UTC (permalink / raw)
  To: Thorsten Leemhuis, Ahmad Fatoum, linux-mtd, Joakim.Tjernlund,
	miquel.raynal, vigneshr, richard, regressions@lists.linux.dev
  Cc: linuxppc-dev, linux-kernel@vger.kernel.org, marek.vasut,
	Chris Packham, Pengutronix Kernel Team, cyrille.pitchen,
	Shaohui.Xie, Brian Norris, David Woodhouse
In-Reply-To: <dff2abcc-5813-2f2c-35ba-f03cd1f35ac3@leemhuis.info>

Hi Ahmad-san,

Sorry for the regression issue by the change: dfeae1073583.
To make sure could you please try with the word write instead of the 
buffered writes?

FYI: There are some changes to disable the buffered writes as below.
   1. 
https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/ar71xx/patches-4.9/411-mtd-cfi_cmdset_0002-force-word-write.patch;h=ddd69f17e1ac16e8fc3a694c56231fee1e2ef149;hb=fec8fe806963c96a6506c2aebc3572d3a11f285f
   2. 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/mtd/chips/cfi_cmdset_0002.c?h=v5.16-rc5&id=7e4404113686868858a34210c28ae122e967aa64

Note:
   Currently I am not able to investigate the issue on the product for 
the change before.

   By the way in the past I had investigated the similar issue on 
Buffalo WZR-HP-G300NH using the S29GL256N.
   It was not able to find the root cause by the investigation since not 
required actually at that time.
   Also actually the buffered writes were disabled on the OpenWrt 
firmware as the change [1] above.
   But I am not sure the reason detail to disable the buffered writes on 
the OpenWrt firmware.
   I thought the issue not caused by the change: dfeae1073583 since the 
issue happened without the change.

   So I am not sure why the above change [2] needed to disable the 
buffered writes on Buffalo WZR-HP-G300NH.
   Probably seems needed to disable the buffered writes on the other 
firmware also but not OpenWrt firmware.

   Anyway there are difference with your regression issue as below.
     1. Flash device: S29GL064N (Your regression issue), S29GL256N 
(WZR-HP-G300NH)
     2. Regression issue: Yes (Your regression issue), No (WZR-HP-G300NH 
as I investigated before)

Regards,
Ikegami

On 2021/12/14 16:23, Thorsten Leemhuis wrote:
> [TLDR: adding this regression to regzbot; most of this mail is compiled
> from a few templates paragraphs some of you might have seen already.]
>
> Hi, this is your Linux kernel regression tracker speaking.
>
> Top-posting for once, to make this easy accessible to everyone.
>
> Thanks for the report.
>
> Adding the regression mailing list to the list of recipients, as it
> should be in the loop for all regressions, as explained here:
> https://www.kernel.org/doc/html/latest/admin-guide/reporting-issues.html
>
> To be sure this issue doesn't fall through the cracks unnoticed, I'm
> adding it to regzbot, my Linux kernel regression tracking bot:
>
> #regzbot ^introduced dfeae1073583
> #regzbot title mtd: cfi_cmdset_0002: flash write accesses on the
> hardware fail on a PowerPC MPC8313 to a 8-bit-parallel S29GL064N flash
> #regzbot ignore-activity
>
> Reminder: when fixing the issue, please add a 'Link:' tag with the URL
> to the report (the parent of this mail), then regzbot will automatically
> mark the regression as resolved once the fix lands in the appropriate
> tree. For more details about regzbot see footer.
>
> Sending this to everyone that got the initial report, to make all aware
> of the tracking. I also hope that messages like this motivate people to
> directly get at least the regression mailing list and ideally even
> regzbot involved when dealing with regressions, as messages like this
> wouldn't be needed then.
>
> Don't worry, I'll send further messages wrt to this regression just to
> the lists (with a tag in the subject so people can filter them away), as
> long as they are intended just for regzbot. With a bit of luck no such
> messages will be needed anyway.
>
> Ciao, Thorsten (wearing his 'Linux kernel regression tracker' hat).
>
> P.S.: As a Linux kernel regression tracker I'm getting a lot of reports
> on my table. I can only look briefly into most of them. Unfortunately
> therefore I sometimes will get things wrong or miss something important.
> I hope that's not the case here; if you think it is, don't hesitate to
> tell me about it in a public reply. That's in everyone's interest, as
> what I wrote above might be misleading to everyone reading this; any
> suggestion I gave thus might sent someone reading this down the wrong
> rabbit hole, which none of us wants.
>
> BTW, I have no personal interest in this issue, which is tracked using
> regzbot, my Linux kernel regression tracking bot
> (https://linux-regtracking.leemhuis.info/regzbot/). I'm only posting
> this mail to get things rolling again and hence don't need to be CC on
> all further activities wrt to this regression.
>
> On 13.12.21 14:24, Ahmad Fatoum wrote:
>> Hi,
>>
>> I've been investigating a breakage on a PowerPC MPC8313: The SoC is connected
>> via the "Enhanced Local Bus Controller" to a 8-bit-parallel S29GL064N flash,
>> which is represented as a memory-mapped cfi-flash.
>>
>> The regression began in v4.17-rc1 with
>>
>>    dfeae1073583 ("mtd: cfi_cmdset_0002: Change write buffer to check correct value")
>>
>> and causes all flash write accesses on the hardware to fail. Example output
>> after v5.1-rc2[1]:
>>
>>    root@host:~# mount -t jffs2 /dev/mtdblock0 /mnt
>>    MTD do_write_buffer_wait(): software timeout, address:0x000c000b.
>>    jffs2: Write clean marker to block at 0x000c0000 failed: -5
>>
>> This issue still persists with v5.16-rc. Reverting aforementioned patch fixes
>> it, but I am still looking for a change that keeps both Tokunori's and my
>> hardware happy.
>>
>> What Tokunori's patch did is that it strengthened the success condition
>> for flash writes:
>>
>>   - Prior to the patch, DQ polling was done until bits
>>     stopped toggling. This was taken as an indicator that the write succeeded
>>     and was reported up the stack. i.e. success condition is chip_ready()
>>
>>   - After the patch, polling continues until the just written data is
>>     actually read back, i.e. success condition is chip_good()
>>
>> This new condition never holds for me, when DQ stabilizes, it reads 0xFF,
>> never the just written data. The data is still written and can be read back
>> on subsequent reads, just not at that point of time in the poll loop.
>>
>> We haven't had write issues for the years predating that patch. As the
>> regression has been mainline for a while, I am wondering what about my setup
>> that makes it pop up here, but not elsewhere?
>>
>> I consulted the data sheet[2] and found Figure 27, which describes DQ polling
>> during embedded algorithms. DQ switches from status output to "True" (I assume
>> True == all bits set == 0xFF) until CS# is reasserted.
>>
>> I compared with another chip's datasheet, and it (Figure 8.4) doesn't describe
>> such an intermittent "True" state. In any case, the driver polls a few hundred
>> times, however, before giving up, so there should be enough CS# toggles.
>>
>>
>> Locally, I'll revert this patch for now. I think accepting 0xFF as a success
>> condition may be appropriate, but I don't yet have the rationale to back it up.
>>
>> I am investigating this some more, probably with a logic trace, but I wanted
>> to report this in case someone has pointers and in case other people run into
>> the same issue.
>>
>>
>> Cheers,
>> Ahmad
>>
>> [1] Prior to d9b8a67b3b95 ("mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer")
>>      first included with v5.1-rc2, failing writes just hung indefinitely in kernel space.
>>      That's fixed, but the writes still fail.
>>
>> [2]: 001-98525 Rev. *B, https://www.infineon.com/dgdl/Infineon-S29GL064N_S29GL032N_64_Mbit_32_Mbit_3_V_Page_Mode_MirrorBit_Flash-DataSheet-v03_00-EN.pdf?fileId=8ac78c8c7d0d8da4017d0ed556fd548b
>>
>> [3]: https://www.mouser.com/datasheet/2/268/SST39VF1601C-SST39VF1602C-16-Mbit-x16-Multi-Purpos-709008.pdf
>>       Note that "true data" means valid data here, not all bits one.
>>

^ permalink raw reply

* Re: [PATCH 2/9] lib/bitmap: implement bitmap_{empty, full} with bitmap_weight_eq()
From: Yury Norov @ 2021-12-15 17:45 UTC (permalink / raw)
  To: David Laight
  Cc: Juri Lelli, Andrew Lunn, Rafael J. Wysocki, Catalin Marinas,
	Guo Ren, Christoph Lameter, Christoph Hellwig, Andi Kleen,
	Vincent Guittot, Ingo Molnar, Geert Uytterhoeven, Mel Gorman,
	Viresh Kumar, Petr Mladek, Arnaldo Carvalho de Melo,
	Michał Mirosław, Jens Axboe, Andy Lutomirski, Lee Jones,
	Greg Kroah-Hartman, Randy Dunlap, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, Sergey Senozhatsky,
	Thomas Gleixner, linux-crypto@vger.kernel.org, Tejun Heo,
	Andrew Morton, Mark Rutland, Anup Patel,
	linux-ia64@vger.kernel.org, David Airlie, Roy Pledge, Dave Hansen,
	Solomon Peachy, Stephen Rothwell, Krzysztof Kozlowski,
	Dennis Zhou, Matti Vaittinen, linux-alpha@vger.kernel.org,
	Kalle Valo, Stephen Boyd, Tariq Toukan, Dinh Nguyen,
	Jonathan Cameron, Ulf Hansson, Alexander Shishkin,
	Mike Marciniszyn, Rasmus Villemoes, Subbaraya Sundeep,
	Will Deacon, Sagi Grimberg, linux-csky@vger.kernel.org,
	bcm-kernel-feedback-list@broadcom.com,
	linux-arm-kernel@lists.infradead.org,
	linux-snps-arc@lists.infradead.org, Kees Cook, Arnd Bergmann,
	James E.J. Bottomley, Vineet Gupta, Steven Rostedt, Mark Gross,
	Borislav Petkov, Mauro Carvalho Chehab, Thomas Bogendoerfer,
	Martin K. Petersen, Sudeep Holla, Geetha sowjanya, Ian Rogers,
	kvm@vger.kernel.org, Peter Zijlstra, Amitkumar Karwar,
	linux-mm@kvack.org, linux-riscv@lists.infradead.org, Jiri Olsa,
	Ard Biesheuvel, Marc Zyngier, Russell King, Andy Gross,
	Jakub Kicinski, Vivien Didelot, Sunil Goutham, Paul E. McKenney,
	linux-s390@vger.kernel.org, Alexey Klimov, Heiko Carstens,
	Hans de Goede, Nicholas Piggin, Marcin Wojtas, Vlastimil Babka,
	linuxppc-dev@lists.ozlabs.org, linux-mips@vger.kernel.org,
	Palmer Dabbelt, Daniel Vetter, Jason Wessel, Saeed Mahameed,
	Andy Shevchenko
In-Reply-To: <0ccb827de1164b2989d652bfb6f1bbab@AcuMS.aculab.com>

On Wed, Dec 15, 2021 at 12:41 AM David Laight <David.Laight@aculab.com> wrote:
>
> From: Yury Norov
> > Sent: 14 December 2021 19:43
> ...
> >
> > I think that for long bitmaps the most time consuming operation is moving
> > data to L1, and for short bitmaps the difference between approaches is
> > barely measurable.
> >
> > But hweght_long on each iteration can't be more effective than the current
> > version. So, I'll drop this patch for v2 and keep things unchanged.
>
> Actually do bitmap_full/empty() calls make any sense at all?
> The result is stale since bitmaps are designed to do locked operations.
> If you have a lock covering the bitmap then you should be using
> something that uses non-locked accesses.
> Rightly or wrongly that isn't the bitmap api.

Are you talking about __{set,clear}_bit()?
include/asm-generic/bitops/non-atomic.h

^ permalink raw reply

* [PATCH] powerpc/iommu: fix modpost section mismatch error in allocate_dart()
From: Jackie Liu @ 2021-12-16  1:24 UTC (permalink / raw)
  To: mpe; +Cc: aik, liu.yun, linuxppc-dev

From: Jackie Liu <liuyun01@kylinos.cn>

allocate_dart is used in dart_init, and dart_init is in the __init
section, we should also put the allocate_dart function in the __init
section.

Reported-by: k2ci <kernel-bot@kylinos.cn>
Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
---
 arch/powerpc/sysdev/dart_iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
index 1d33b7a5ea83..be6b99b1b352 100644
--- a/arch/powerpc/sysdev/dart_iommu.c
+++ b/arch/powerpc/sysdev/dart_iommu.c
@@ -226,7 +226,7 @@ static void dart_free(struct iommu_table *tbl, long index, long npages)
 	dart_cache_sync(orig_dp, orig_npages);
 }
 
-static void allocate_dart(void)
+static void __init allocate_dart(void)
 {
 	unsigned long tmp;
 
-- 
2.25.1


^ permalink raw reply related

* Re: linux-next: manual merge of the audit tree with the powerpc tree
From: Christophe Leroy @ 2021-12-16  9:08 UTC (permalink / raw)
  To: Cédric Le Goater, Paul Moore
  Cc: Richard Guy Briggs, Stephen Rothwell, Linux Next Mailing List,
	PowerPC, Linux Kernel Mailing List
In-Reply-To: <102e59ba-fcf0-dd85-9338-75b7ce5fbd83@kaod.org>



Le 14/12/2021 à 21:30, Cédric Le Goater a écrit :
> On 12/14/21 20:32, Christophe Leroy wrote:
>>
>>
>> Le 14/12/2021 à 19:23, Paul Moore a écrit :
>>> On Tue, Dec 14, 2021 at 12:59 PM Christophe Leroy
>>> <christophe.leroy@csgroup.eu> wrote:
>>>> Hello Paul,
>>>>
>>>> I've been trying to setup your test suite on my powerpc board but it's
>>>> based on Perl and on a lot of optional Perl packages. I was able to add
>>>> them one by one until some of them require some .so libraries
>>>> (Pathtools-Cwd), and it seems nothing is made to allow cross building
>>>> those libraries.
>>>>
>>>> Do you have another test suite based on C and not perl ?
>>>>
>>>> If not, what can I do, do you know how I can cross compile those Perl
>>>> packages for PPC32 ?
>>>
>>> Is there no Linux distribution that supports PPC32?  I would think
>>> that would be the easiest path forward, but you're the PPC32 expert -
>>> not me - so I'll assume you already tried that or it didn't work for
>>> other reasons.
>>
>> There hasn't been Linux distribution supporting PPC32 for a few years
>> now. And regardless, the boards I'm running Linux on are home made
>> embedded boards, with limited amount of memory and flashdisk space and
>> no video chip, so they are hardly supported by any distributions, even
>> older ones.
> 
> We still have debian. you will find images under :
> 
>    https://cdimage.debian.org/cdimage/ports/snapshots/2021-04-17/
> 
> and from there, you can update to unstable, which runs fine under
> a mac99 QEMU machine.
> 

Thanks Cédric, I've now been able to install debian PPC32 port of DEBIAN 
11 on QEMU and run the tests.

I followed instructions in file README.md provided in the test suite.
I also modified tests/Makefile to force MODE := 32

I've got a lot of failures, am I missing some options in the kernel or 
something ?

Running as   user    root
         with context root:::
         on   system

# Test 3 got: "256" (backlog_wait_time_actual_reset/test at line 151)
#   Expected: "0"
#  backlog_wait_time_actual_reset/test line 151 is: ok( $result, 0 ); 
  # Was an event found?
# Test 4 got: "0" (backlog_wait_time_actual_reset/test at line 168)
#   Expected: "1"
#  backlog_wait_time_actual_reset/test line 168 is: ok( $found_msg, 1 ); 
    # Was the message well-formed?
# Failed test 5 in backlog_wait_time_actual_reset/test at line 169
#  backlog_wait_time_actual_reset/test line 169 is: ok( $reset_rc == 
$reset_msg )
backlog_wait_time_actual_reset/test ..
Failed 3/5 subtests
sh: 1: Syntax error: Bad fd number
sh: 1: Syntax error: Bad fd number
exec_execve/test ..................... ok
sh: 1: Syntax error: Bad fd number
sh: 1: Syntax error: Bad fd number
# Failed test 7 in exec_name/test at line 145 fail #4
#  exec_name/test line 145 is:         ok( $found[$_] == $expected[$_] );
sh: 1: Syntax error: Bad fd number
# Failed test 11 in exec_name/test at line 145 fail #7
sh: 1: Syntax error: Bad fd number
# Failed test 15 in exec_name/test at line 145 fail #10
# Failed test 17 in exec_name/test at line 145 fail #12
sh: 1: Syntax error: Bad fd number
# Failed test 19 in exec_name/test at line 145 fail #13
sh: 1: Syntax error: Bad fd number
# Failed test 23 in exec_name/test at line 145 fail #16
# Failed test 24 in exec_name/test at line 145 fail #17
sh: 1: Syntax error: Bad fd number
Error sending add rule data request (Rule exists)
# Failed test 29 in exec_name/test at line 145 fail #21
sh: 1: Syntax error: Bad fd number
exec_name/test .......................
Failed 8/29 subtests
sh: 1: Syntax error: Bad fd number
# Failed test 2 in file_create/test at line 121
#  file_create/test line 121 is: ok($found_syscall);
# Failed test 3 in file_create/test at line 122
#  file_create/test line 122 is: ok($found_parent);
# Failed test 4 in file_create/test at line 123
#  file_create/test line 123 is: ok($found_create);
sh: 1: Syntax error: Bad fd number
file_create/test .....................
Failed 3/4 subtests
sh: 1: Syntax error: Bad fd number
# Failed test 2 in file_delete/test at line 122
#  file_delete/test line 122 is: ok($found_syscall);
# Failed test 3 in file_delete/test at line 123
#  file_delete/test line 123 is: ok($found_parent);
# Failed test 4 in file_delete/test at line 124
#  file_delete/test line 124 is: ok($found_delete);
sh: 1: Syntax error: Bad fd number
file_delete/test .....................
Failed 3/4 subtests
sh: 1: Syntax error: Bad fd number
# Failed test 2 in file_rename/test at line 138
#  file_rename/test line 138 is: ok($found_syscall);
# Test 3 got: "0" (file_rename/test at line 139)
#   Expected: "2"
#  file_rename/test line 139 is: ok( $found_parent, 2 );
# Failed test 4 in file_rename/test at line 140
#  file_rename/test line 140 is: ok($found_create);
# Failed test 5 in file_rename/test at line 141
#  file_rename/test line 141 is: ok($found_delete);
sh: 1: Syntax error: Bad fd number
file_rename/test .....................
Failed 4/5 subtests
sh: 1: Syntax error: Bad fd number
# Test 1 got: "256" (filter_exclude/test at line 60)
#   Expected: "0"
#  filter_exclude/test line 60 is: ok( $result, 0 );
Use of uninitialized value $subj in scalar chomp at filter_exclude/test 
line 62.
Use of uninitialized value $subj in pattern match (m//) at 
filter_exclude/test line 63.
Use of uninitialized value $subj_user in concatenation (.) or string at 
filter_exclude/test line 86.
-F missing value after operation for subj_user
# Test 7 got: "65280" (filter_exclude/test at line 87)
#   Expected: "0"
#  filter_exclude/test line 87 is: ok( $result, 0 );
Use of uninitialized value $subj_user in concatenation (.) or string at 
filter_exclude/test line 88.
-F missing value after operation for subj_user
Use of uninitialized value $subj_role in concatenation (.) or string at 
filter_exclude/test line 89.
-F missing value after operation for subj_role
# Test 8 got: "65280" (filter_exclude/test at line 90)
#   Expected: "0"
#  filter_exclude/test line 90 is: ok( $result, 0 );
Use of uninitialized value $subj_role in concatenation (.) or string at 
filter_exclude/test line 91.
-F missing value after operation for subj_role
Use of uninitialized value $subj_type in concatenation (.) or string at 
filter_exclude/test line 92.
-F missing value after operation for subj_type
# Test 9 got: "65280" (filter_exclude/test at line 93)
#   Expected: "0"
#  filter_exclude/test line 93 is: ok( $result, 0 );
Use of uninitialized value $subj_type in concatenation (.) or string at 
filter_exclude/test line 94.
-F missing value after operation for subj_type
Use of uninitialized value $subj_sen in concatenation (.) or string at 
filter_exclude/test line 95.
-F missing value after operation for subj_sen
# Test 10 got: "65280" (filter_exclude/test at line 96)
#    Expected: "0"
#  filter_exclude/test line 96 is: ok( $result, 0 );
Use of uninitialized value $subj_sen in concatenation (.) or string at 
filter_exclude/test line 97.
-F missing value after operation for subj_sen
Use of uninitialized value $subj_clr in concatenation (.) or string at 
filter_exclude/test line 98.
-F missing value after operation for subj_clr
# Test 11 got: "65280" (filter_exclude/test at line 99)
#    Expected: "0"
#  filter_exclude/test line 99 is: ok( $result, 0 );
Use of uninitialized value $subj_clr in concatenation (.) or string at 
filter_exclude/test line 100.
-F missing value after operation for subj_clr
Use of uninitialized value $subj_user in concatenation (.) or string at 
filter_exclude/test line 113.
Use of uninitialized value $subj_role in concatenation (.) or string at 
filter_exclude/test line 113.
Use of uninitialized value $subj_type in concatenation (.) or string at 
filter_exclude/test line 113.
Use of uninitialized value $subj_sen in concatenation (.) or string at 
filter_exclude/test line 113.
Use of uninitialized value $subj_clr in concatenation (.) or string at 
filter_exclude/test line 113.
-F missing value after operation for subj_user
# Test 15 got: "65280" (filter_exclude/test at line 116)
#    Expected: "0"
#  filter_exclude/test line 116 is: ok( $result, 0 );
Use of uninitialized value $subj in concatenation (.) or string at 
filter_exclude/test line 135.
Use of uninitialized value $subj_user in concatenation (.) or string at 
filter_exclude/test line 147.
Use of uninitialized value $subj_role in concatenation (.) or string at 
filter_exclude/test line 147.
Use of uninitialized value $subj_type in concatenation (.) or string at 
filter_exclude/test line 147.
Use of uninitialized value $subj_sen in concatenation (.) or string at 
filter_exclude/test line 147.
Use of uninitialized value $subj_clr in concatenation (.) or string at 
filter_exclude/test line 147.
-F missing value after operation for subj_user
# Test 19 got: "65280" (filter_exclude/test at line 150)
#    Expected: "0"
#  filter_exclude/test line 150 is: ok( $result, 0 );
Use of uninitialized value $subj in concatenation (.) or string at 
filter_exclude/test line 164.
# Test 20 got: "256" (filter_exclude/test at line 167)
#    Expected: "0"
#  filter_exclude/test line 167 is: ok( $result, 0 );
# Test 21 got: "0" (filter_exclude/test at line 179)
#    Expected: "1"
#  filter_exclude/test line 179 is: ok( $found_msg, 1 );
sh: 1: Syntax error: Bad fd number
filter_exclude/test ..................
Failed 10/21 subtests
sh: 1: cannot create /dev/udp/127.0.0.1/24242: Directory nonexistent
# Test 3 got: "256" (filter_saddr_fam/test at line 88)
#   Expected: "0"
#  filter_saddr_fam/test line 88 is: ok( $result, 0 );    # Was an event 
found?
# Test 4 got: "0" (filter_saddr_fam/test at line 129)
#   Expected: "1"
#  filter_saddr_fam/test line 129 is: ok( $found_msg,    1 );     # Was 
the inet message found?
filter_saddr_fam/test ................
Failed 2/5 subtests
sh: 1: Syntax error: Bad fd number
sh: 1: Syntax error: Bad fd number
filter_sessionid/test ................ ok
sh: 1: Syntax error: Bad fd number
sh: 1: Syntax error: Bad fd number
login_tty/test ....................... ok
# Test 3 got: "256" (lost_reset/test at line 150)
#   Expected: "0"
#  lost_reset/test line 150 is: ok( $result, 0 );    # Was an event found?
# Test 4 got: "0" (lost_reset/test at line 167)
#   Expected: "1"
#  lost_reset/test line 167 is: ok( $found_msg, 1 );              # Was 
the message well-formed?
# Failed test 5 in lost_reset/test at line 168
#  lost_reset/test line 168 is: ok( $reset_rc == $reset_msg );    # Do 
the two lost values agree?
lost_reset/test ......................
Failed 3/5 subtests
sh: 1: Syntax error: Bad fd number
sh: 1: cannot create /dev/udp/127.0.0.1/42424: Directory nonexistent
sh: 1: cannot create /dev/udp/::1/42424: Directory nonexistent
sh: 1: cannot create /dev/tcp/127.0.0.1/42424: Directory nonexistent
sh: 1: cannot create /dev/tcp/::1/42424: Directory nonexistent
# Failed test 4 in netfilter_pkt/test at line 144 fail #3
#  netfilter_pkt/test line 144 is:     ok( $found[$_] );    # Was the 
nfmarked parcket found?
# Failed test 5 in netfilter_pkt/test at line 144 fail #4
# Failed test 6 in netfilter_pkt/test at line 144 fail #5
# Failed test 7 in netfilter_pkt/test at line 144 fail #6
# Failed test 10 in netfilter_pkt/test at line 148 fail #3
#  netfilter_pkt/test line 148 is:     ok( $fields[$_] == $fields ); 
# $_ Correct number of fields?
# Failed test 11 in netfilter_pkt/test at line 148 fail #4
# Failed test 12 in netfilter_pkt/test at line 148 fail #5
# Failed test 13 in netfilter_pkt/test at line 148 fail #6
sh: 1: Syntax error: Bad fd number

Thanks
Christophe

^ permalink raw reply

* Re: [PATCH 00/20] powerpc: Define eligible functions as __init
From: Christophe Leroy @ 2021-12-16  9:44 UTC (permalink / raw)
  To: Nick Child, linuxppc-dev@lists.ozlabs.org; +Cc: Nick Child, dja@axtens.net
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>



Le 15/12/2021 à 17:12, Nick Child a écrit :
> Hello all,
> 
> This patchset focuses on redefining/declaring functions that could be
> labeled with the macro `__init`. From my understanding, an initialization
> function is one which is only needed during the initial phases of booting,
> after which it's resources can be freed. I figure that any function which is
> only called by other initialization functions may also be labeled as an
> initialization function. There are several (mostly static) functions which
> can and should be labeled as `__init`. I created some scripts to help
> identify these functions. It scans all functions defined in `arch/powerpc`
> and, if it is only called by functions with the `__init` attribute, it will
> go on to adjust the prototype and definition to include the `__init`
> declaration.
> 
> Some notes about the scripts:
>    1. Trying to handle things like functions assigned to macros and function
>        pointers proved to be a bit too complicated to track. I ended up just
>        halting the investigation of these functions. In the future, I would
>        like to be able to attempt to `__init` them but for now we leave them
>        alone.
> 
>    2. The proper syntax for adding the `__init` macro is followed as it is
>        defined in `include/linux/init.h`.

It says:
  You should add __init immediately before the function name

And

  If the function has a prototype somewhere, you can also add __init 
between closing brace of the prototype and semicolon



As far as I can see the second alternative is almost never followed in 
arch/powerpc/include/asm/, so I would suggest to apply first, taking 
into account that a 'should' is more important than a child.


On the other hand I don't think the __init flag is needed at all for 
prototypes, so maybe we could avoid the changes.

Whatever you choose to do, you should take the opportunity to remove the 
pointless 'extern' keyword on the lines you modifify in .h files.

checkpatch reports the following on your first patch:

CHECK: extern prototypes should be avoided in .h files
#50: FILE: arch/powerpc/include/asm/btext.h:26:
+extern void btext_drawhex(unsigned long v) __init;

CHECK: extern prototypes should be avoided in .h files
#51: FILE: arch/powerpc/include/asm/btext.h:27:
+extern void btext_drawtext(const char *c, unsigned int len) __init;

CHECK: extern prototypes should be avoided in .h files
#56: FILE: arch/powerpc/include/asm/btext.h:29:
+extern void btext_clearscreen(void) __init;

CHECK: extern prototypes should be avoided in .h files
#57: FILE: arch/powerpc/include/asm/btext.h:30:
+extern void btext_flushscreen(void) __init;

CHECK: extern prototypes should be avoided in .h files
#58: FILE: arch/powerpc/include/asm/btext.h:31:
+extern void btext_flushline(void) __init;

CHECK: extern prototypes should be avoided in .h files
#102: FILE: arch/powerpc/include/asm/kexec.h:87:
+extern int overlaps_crashkernel(unsigned long start, unsigned long 
size) __init;

CHECK: extern prototypes should be avoided in .h files
#128: FILE: arch/powerpc/include/asm/pci.h:51:
+extern void set_pci_dma_ops(const struct dma_map_ops *dma_ops) __init;

CHECK: extern prototypes should be avoided in .h files
#164: FILE: arch/powerpc/include/asm/udbg.h:26:
+extern void udbg_uart_init_mmio(void __iomem *addr, unsigned int 
stride) __init;

CHECK: extern prototypes should be avoided in .h files
#165: FILE: arch/powerpc/include/asm/udbg.h:27:
+extern void udbg_uart_init_pio(unsigned long port, unsigned int stride) 
__init;

CHECK: extern prototypes should be avoided in .h files
#169: FILE: arch/powerpc/include/asm/udbg.h:29:
+extern void udbg_uart_setup(unsigned int speed, unsigned int clock) __init;

CHECK: extern prototypes should be avoided in .h files
#170: FILE: arch/powerpc/include/asm/udbg.h:30:
+extern unsigned int udbg_probe_uart_speed(unsigned int clock) __init;

CHECK: Alignment should match open parenthesis
#371: FILE: arch/powerpc/kernel/nvram_64.c:759:
+static int __init nvram_can_remove_partition(struct nvram_partition *part,
  		const char *name, int sig, const char *exceptions[])

WARNING: externs should be avoided in .c files
#396: FILE: arch/powerpc/kernel/pci_32.c:40:
+void __init pcibios_make_OF_bus_map(void);

CHECK: Alignment should match open parenthesis
#549: FILE: arch/powerpc/kernel/setup_64.c:503:
+static void __init init_cache_info(struct ppc_cache_info *info, u32 
size, u32 lsize,
  			    u32 bsize, u32 sets)

WARNING: line length of 123 exceeds 100 columns
#561: FILE: arch/powerpc/kernel/smp.c:899:
+static int __init update_mask_from_threadgroup(cpumask_var_t *mask, 
struct thread_groups *tg, int cpu, int cpu_group_start)

WARNING: From:/Signed-off-by: email address mismatch: 'From: Nick Child 
<nnac123@gmail.com>' != 'Signed-off-by: Nick Child <nick.child@ibm.com>'

total: 0 errors, 3 warnings, 13 checks, 489 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
       mechanically convert to the typical style using --fix or 
--fix-inplace.

Commit 97a61cac5b72 ("powerpc/kernel: Add __init attribute to eligible 
functions") has style problems, please review.

NOTE: If any of the errors are false positives, please report
       them to the maintainer, see CHECKPATCH in MAINTAINERS.




> 
>    3. There are some odd looking functions that look something like:
>        `char *__init foo(...`. I have found that this happens in many other
>        places in the kernel source prior to running the scripts. Additionally,
>        after running the scripts. I have successfully built all powerpc
>        defconfigs without error. For these reasons, I assume the odd syntax is
>        valid but I am interested in other opinions on this.
> 
>    5. I have run my scripts on the 12/3/2021 `merge` branch (specifically
>        78e00acdd35c)

Many CONFLICTs with latests.

12/3/2021 means 12 March 2021 for me 
(https://en.wikipedia.org/wiki/Date_format_by_country)

> 
> After running my script for 3 rounds, they have identified about 250
> functions so I tried to break the patches up into related platforms and
> subdirectories. There are only two functions with a prototype outside of
> `arch/powerpc`, these are `find_via_cuda` and `find_via_pmu`. I put those in
> their own patch.
> 
> Other than building all the ppc defconfigs, I have tested the changes by
> building kernels with and without the patches using defconfigs ppc64le_guest,
> powernv and pseries_le. There were no size differences reported in the boot
> logs. However, when using `readelf -t` we see the following differences in
> the size of the .text section:
>    ppc64le_guest -> .text decreased in size by 12.8k, init.text unchanged
>    powernv -> .text decreased in size by 7.7k, init.text unchanged
>    pseries_le -> .text decreased in size by 9.6k, init.text increased 65.5k
> 
> I figured the size differences (or lack of) in .init.text might have something
> to do with the requirement that the .init.text "section ends on a page
> boundary", as described in `arch/powerpc/kernel/vmlinux.lds.S`.
> 
> I am excited to say this is my first attempt at kernel development. I know
> this patchset is in no way important but I figured it was a good starting
> point. Please let me know if there is anything I am doing wrong or if I can
> do anything to help meet the kernel contribution guidelines.
> 
> Special thanks to Daniel Axtens for mentoring me and helping me get my first
> patchset out!
> 
> Nick Child (20):
>    powerpc/kernel: Add __init attribute to eligible functions
>    powerpc/lib: Add __init attribute to eligible functions
>    powerpc/mm: Add __init attribute to eligible functions
>    powerpc/perf: Add __init attribute to eligible functions
>    powerpc/sysdev: Add __init attribute to eligible functions
>    powerpc/xmon: Add __init attribute to eligible functions
>    powerpc/cell: Add __init attribute to eligible functions
>    powerpc/chrp: Add __init attribute to eligible functions
>    powerpc/pasemi: Add __init attribute to eligible functions
>    powerpc/powermac: Add __init attribute to eligible functions
>    powerpc/powernv: Add __init attribute to eligible functions
>    powerpc/pseries: Add __init attribute to eligible functions
>    powerpc/ps3: Add __init attribute to eligible functions
>    powerpc/4xx: Add __init attribute to eligible functions
>    powerpc/44x: Add __init attribute to eligible functions
>    powerpc/embedded6xx: Add __init attribute to eligible functions
>    powerpc/83xx: Add __init attribute to eligible functions
>    powerpc/85xx: Add __init attribute to eligible functions
>    powerpc/512x: Add __init attribute to eligible functions
>    cuda/pmu: Make find_via_cuda/pmu init functions
> 
>   arch/powerpc/include/asm/book3s/64/mmu.h      |  2 +-
>   arch/powerpc/include/asm/btext.h              | 10 ++--
>   arch/powerpc/include/asm/cpm2.h               |  6 +--
>   arch/powerpc/include/asm/cpuidle.h            |  2 +-
>   arch/powerpc/include/asm/eeh.h                |  2 +-
>   arch/powerpc/include/asm/fadump-internal.h    |  6 +--
>   arch/powerpc/include/asm/hugetlb.h            |  2 +-
>   arch/powerpc/include/asm/i8259.h              |  2 +-
>   arch/powerpc/include/asm/iommu.h              |  2 +-
>   arch/powerpc/include/asm/ipic.h               |  2 +-
>   arch/powerpc/include/asm/kexec.h              |  2 +-
>   arch/powerpc/include/asm/kvm_guest.h          |  2 +-
>   arch/powerpc/include/asm/mmu_context.h        |  2 +-
>   arch/powerpc/include/asm/mpic.h               |  2 +-
>   arch/powerpc/include/asm/opal.h               |  2 +-
>   arch/powerpc/include/asm/pci.h                |  2 +-
>   arch/powerpc/include/asm/perf_event_server.h  |  2 +-
>   arch/powerpc/include/asm/setup.h              |  8 +--
>   arch/powerpc/include/asm/smu.h                |  2 +-
>   arch/powerpc/include/asm/udbg.h               | 10 ++--
>   arch/powerpc/include/asm/xics.h               |  4 +-
>   arch/powerpc/include/asm/xmon.h               |  2 +-
>   arch/powerpc/kernel/btext.c                   | 12 ++---
>   arch/powerpc/kernel/dt_cpu_ftrs.c             |  2 +-
>   arch/powerpc/kernel/eeh_cache.c               |  2 +-
>   arch/powerpc/kernel/fadump.c                  | 18 +++----
>   arch/powerpc/kernel/nvram_64.c                |  6 +--
>   arch/powerpc/kernel/pci-common.c              |  2 +-
>   arch/powerpc/kernel/pci_32.c                  |  4 +-
>   arch/powerpc/kernel/prom.c                    |  4 +-
>   arch/powerpc/kernel/prom_init.c               | 12 ++---
>   arch/powerpc/kernel/rtasd.c                   |  6 +--
>   arch/powerpc/kernel/security.c                |  4 +-
>   arch/powerpc/kernel/setup_64.c                |  2 +-
>   arch/powerpc/kernel/smp.c                     |  4 +-
>   arch/powerpc/kernel/sysfs.c                   | 10 ++--
>   arch/powerpc/kernel/udbg_16550.c              | 10 ++--
>   arch/powerpc/kexec/core.c                     |  2 +-
>   arch/powerpc/lib/code-patching.c              |  2 +-
>   arch/powerpc/lib/feature-fixups.c             | 26 +++++-----
>   arch/powerpc/mm/book3s32/mmu.c                |  2 +-
>   arch/powerpc/mm/book3s64/hash_hugetlbpage.c   |  2 +-
>   arch/powerpc/mm/book3s64/hash_utils.c         |  6 +--
>   arch/powerpc/mm/book3s64/mmu_context.c        |  2 +-
>   arch/powerpc/mm/book3s64/pkeys.c              |  2 +-
>   arch/powerpc/mm/book3s64/radix_pgtable.c      |  4 +-
>   arch/powerpc/mm/nohash/44x.c                  |  4 +-
>   arch/powerpc/mm/nohash/fsl_book3e.c           |  2 +-
>   arch/powerpc/mm/nohash/tlb.c                  |  4 +-
>   arch/powerpc/mm/numa.c                        |  6 +--
>   arch/powerpc/mm/ptdump/ptdump.c               |  2 +-
>   arch/powerpc/perf/core-book3s.c               |  2 +-
>   arch/powerpc/perf/generic-compat-pmu.c        |  2 +-
>   arch/powerpc/perf/internal.h                  | 18 +++----
>   arch/powerpc/perf/power10-pmu.c               |  2 +-
>   arch/powerpc/perf/power5+-pmu.c               |  2 +-
>   arch/powerpc/perf/power5-pmu.c                |  2 +-
>   arch/powerpc/perf/power6-pmu.c                |  2 +-
>   arch/powerpc/perf/power7-pmu.c                |  2 +-
>   arch/powerpc/perf/power8-pmu.c                |  2 +-
>   arch/powerpc/perf/power9-pmu.c                |  2 +-
>   arch/powerpc/perf/ppc970-pmu.c                |  2 +-
>   arch/powerpc/platforms/44x/fsp2.c             |  4 +-
>   arch/powerpc/platforms/4xx/cpm.c              |  4 +-
>   arch/powerpc/platforms/4xx/pci.c              |  2 +-
>   arch/powerpc/platforms/512x/clock-commonclk.c | 52 +++++++++----------
>   arch/powerpc/platforms/512x/mpc512x.h         |  4 +-
>   arch/powerpc/platforms/512x/mpc512x_shared.c  |  4 +-
>   arch/powerpc/platforms/83xx/km83xx.c          |  2 +-
>   arch/powerpc/platforms/83xx/mpc834x_mds.c     |  2 +-
>   arch/powerpc/platforms/83xx/mpc837x_mds.c     |  2 +-
>   arch/powerpc/platforms/83xx/mpc837x_rdb.c     |  2 +-
>   arch/powerpc/platforms/83xx/mpc83xx.h         |  6 +--
>   arch/powerpc/platforms/83xx/usb.c             |  6 +--
>   arch/powerpc/platforms/85xx/ge_imp3a.c        |  2 +-
>   arch/powerpc/platforms/85xx/mpc85xx_cds.c     |  2 +-
>   .../platforms/85xx/socrates_fpga_pic.c        |  2 +-
>   .../platforms/85xx/socrates_fpga_pic.h        |  2 +-
>   arch/powerpc/platforms/85xx/xes_mpc85xx.c     |  4 +-
>   arch/powerpc/platforms/cell/cbe_regs.c        |  2 +-
>   arch/powerpc/platforms/cell/iommu.c           | 14 ++---
>   arch/powerpc/platforms/cell/spu_base.c        |  6 +--
>   arch/powerpc/platforms/cell/spu_manage.c      | 16 +++---
>   arch/powerpc/platforms/cell/spufs/inode.c     |  2 +-
>   arch/powerpc/platforms/chrp/pegasos_eth.c     |  2 +-
>   arch/powerpc/platforms/embedded6xx/hlwd-pic.c |  4 +-
>   arch/powerpc/platforms/embedded6xx/hlwd-pic.h |  2 +-
>   arch/powerpc/platforms/embedded6xx/holly.c    |  2 +-
>   .../platforms/embedded6xx/usbgecko_udbg.c     |  4 +-
>   arch/powerpc/platforms/embedded6xx/wii.c      |  2 +-
>   arch/powerpc/platforms/pasemi/msi.c           |  2 +-
>   arch/powerpc/platforms/pasemi/pasemi.h        |  2 +-
>   arch/powerpc/platforms/pasemi/pci.c           |  2 +-
>   arch/powerpc/platforms/pasemi/setup.c         |  2 +-
>   arch/powerpc/platforms/powermac/feature.c     |  2 +-
>   arch/powerpc/platforms/powermac/nvram.c       |  2 +-
>   arch/powerpc/platforms/powermac/pfunc_base.c  |  6 +--
>   arch/powerpc/platforms/powermac/setup.c       |  6 +--
>   arch/powerpc/platforms/powermac/smp.c         |  4 +-
>   arch/powerpc/platforms/powermac/udbg_scc.c    |  2 +-
>   arch/powerpc/platforms/powernv/idle.c         |  6 +--
>   arch/powerpc/platforms/powernv/opal-core.c    |  6 +--
>   arch/powerpc/platforms/powernv/opal-fadump.c  |  2 +-
>   arch/powerpc/platforms/powernv/opal-msglog.c  |  4 +-
>   arch/powerpc/platforms/powernv/opal-power.c   |  2 +-
>   .../powerpc/platforms/powernv/opal-powercap.c |  2 +-
>   arch/powerpc/platforms/powernv/opal-rtc.c     |  2 +-
>   .../platforms/powernv/opal-sensor-groups.c    |  4 +-
>   arch/powerpc/platforms/powernv/opal.c         |  8 +--
>   arch/powerpc/platforms/powernv/pci-ioda.c     |  4 +-
>   arch/powerpc/platforms/powernv/powernv.h      |  4 +-
>   arch/powerpc/platforms/powernv/rng.c          |  2 +-
>   arch/powerpc/platforms/powernv/setup.c        |  6 +--
>   arch/powerpc/platforms/ps3/gelic_udbg.c       |  2 +-
>   arch/powerpc/platforms/ps3/mm.c               |  4 +-
>   arch/powerpc/platforms/ps3/os-area.c          |  4 +-
>   arch/powerpc/platforms/ps3/platform.h         | 14 ++---
>   arch/powerpc/platforms/ps3/repository.c       | 20 +++----
>   arch/powerpc/platforms/ps3/smp.c              |  2 +-
>   arch/powerpc/platforms/ps3/spu.c              |  2 +-
>   .../powerpc/platforms/pseries/event_sources.c |  2 +-
>   arch/powerpc/platforms/pseries/iommu.c        |  2 +-
>   arch/powerpc/platforms/pseries/lpar.c         |  6 +--
>   arch/powerpc/platforms/pseries/pseries.h      |  2 +-
>   arch/powerpc/platforms/pseries/rtas-fadump.c  |  6 +--
>   arch/powerpc/platforms/pseries/setup.c        |  4 +-
>   arch/powerpc/platforms/pseries/vas.c          |  2 +-
>   arch/powerpc/platforms/pseries/vio.c          |  6 +--
>   arch/powerpc/sysdev/cpm2.c                    |  6 +--
>   arch/powerpc/sysdev/dart_iommu.c              |  2 +-
>   arch/powerpc/sysdev/fsl_mpic_err.c            |  4 +-
>   arch/powerpc/sysdev/fsl_pci.c                 |  2 +-
>   arch/powerpc/sysdev/fsl_pci.h                 |  2 +-
>   arch/powerpc/sysdev/i8259.c                   |  2 +-
>   arch/powerpc/sysdev/ipic.c                    |  2 +-
>   arch/powerpc/sysdev/mpic.c                    |  2 +-
>   arch/powerpc/sysdev/mpic.h                    | 10 ++--
>   arch/powerpc/sysdev/mpic_msi.c                |  6 +--
>   arch/powerpc/sysdev/mpic_timer.c              |  6 +--
>   arch/powerpc/sysdev/mpic_u3msi.c              |  2 +-
>   arch/powerpc/sysdev/tsi108_pci.c              |  2 +-
>   arch/powerpc/sysdev/udbg_memcons.c            |  2 +-
>   arch/powerpc/sysdev/xics/icp-hv.c             |  2 +-
>   arch/powerpc/sysdev/xics/icp-opal.c           |  2 +-
>   arch/powerpc/sysdev/xics/xics-common.c        |  2 +-
>   arch/powerpc/sysdev/xive/native.c             |  4 +-
>   arch/powerpc/sysdev/xive/spapr.c              |  6 +--
>   arch/powerpc/xmon/xmon.c                      |  2 +-
>   include/linux/cuda.h                          |  2 +-
>   include/linux/pmu.h                           |  2 +-
>   150 files changed, 334 insertions(+), 334 deletions(-)
> 

^ permalink raw reply

* [PATCH v2 0/6] Cleanup after removal of configs
From: Alexandre Ghiti @ 2021-12-16  9:44 UTC (permalink / raw)
  To: Steve French, Jonathan Corbet, David Howells, Russell King,
	Thomas Bogendoerfer, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, Yoshinori Sato, Rich Felker, Matti Vaittinen,
	Lee Jones, Jeff Layton, Greg Kroah-Hartman, Arnd Bergmann,
	Ronnie Sahlberg, Guenter Roeck, Wim Van Sebroeck, Lukas Bulwahn,
	Luis Chamberlain, Kalle Valo, linux-cifs, samba-technical,
	linux-doc, linux-kernel, linux-cachefs, linux-arm-kernel,
	linux-mips, linuxppc-dev, linux-sh, linux-power
  Cc: Alexandre Ghiti

While bumping from 5.13 to 5.15, I found that a few deleted configs had
left some pieces here and there: this patchset cleans that.

Changes in v2:
- Rebase on top of v5.16-rc1
- Removed patch 6 since Matti said he would take care of that
- Added AB, RB

Alexandre Ghiti (6):
  Documentation, arch: Remove leftovers from fscache/cachefiles
    histograms
  Documentation, arch: Remove leftovers from raw device
  Documentation, arch: Remove leftovers from CIFS_WEAK_PW_HASH
  arch: Remove leftovers from mandatory file locking
  Documentation, arch, fs: Remove leftovers from fscache object list
  arch: Remove leftovers from prism54 wireless driver

 Documentation/admin-guide/cifs/usage.rst      |   7 +-
 Documentation/admin-guide/devices.txt         |   8 +-
 .../filesystems/caching/cachefiles.rst        |  34 -----
 Documentation/filesystems/caching/fscache.rst | 123 +-----------------
 arch/arm/configs/axm55xx_defconfig            |   3 -
 arch/arm/configs/cm_x300_defconfig            |   1 -
 arch/arm/configs/ezx_defconfig                |   1 -
 arch/arm/configs/imote2_defconfig             |   1 -
 arch/arm/configs/nhk8815_defconfig            |   1 -
 arch/arm/configs/pxa_defconfig                |   1 -
 arch/arm/configs/spear13xx_defconfig          |   1 -
 arch/arm/configs/spear3xx_defconfig           |   1 -
 arch/arm/configs/spear6xx_defconfig           |   1 -
 arch/mips/configs/decstation_64_defconfig     |   1 -
 arch/mips/configs/decstation_defconfig        |   1 -
 arch/mips/configs/decstation_r4k_defconfig    |   1 -
 arch/mips/configs/fuloong2e_defconfig         |   1 -
 arch/mips/configs/ip27_defconfig              |   1 -
 arch/mips/configs/malta_defconfig             |   1 -
 arch/mips/configs/malta_kvm_defconfig         |   1 -
 arch/mips/configs/malta_qemu_32r6_defconfig   |   1 -
 arch/mips/configs/maltaaprp_defconfig         |   1 -
 arch/mips/configs/maltasmvp_defconfig         |   1 -
 arch/mips/configs/maltasmvp_eva_defconfig     |   1 -
 arch/mips/configs/maltaup_defconfig           |   1 -
 arch/mips/configs/maltaup_xpa_defconfig       |   1 -
 arch/powerpc/configs/pmac32_defconfig         |   1 -
 arch/powerpc/configs/ppc6xx_defconfig         |   1 -
 arch/powerpc/configs/pseries_defconfig        |   1 -
 arch/sh/configs/titan_defconfig               |   1 -
 fs/fscache/object.c                           |   3 -
 fs/fscache/proc.c                             |  12 --
 32 files changed, 6 insertions(+), 209 deletions(-)

-- 
2.32.0


^ permalink raw reply

* [PATCH v2 1/6] Documentation, arch: Remove leftovers from fscache/cachefiles histograms
From: Alexandre Ghiti @ 2021-12-16  9:44 UTC (permalink / raw)
  To: Steve French, Jonathan Corbet, David Howells, Russell King,
	Thomas Bogendoerfer, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, Yoshinori Sato, Rich Felker, Matti Vaittinen,
	Lee Jones, Jeff Layton, Greg Kroah-Hartman, Arnd Bergmann,
	Ronnie Sahlberg, Guenter Roeck, Wim Van Sebroeck, Lukas Bulwahn,
	Luis Chamberlain, Kalle Valo, linux-cifs, samba-technical,
	linux-doc, linux-kernel, linux-cachefs, linux-arm-kernel,
	linux-mips, linuxppc-dev, linux-sh, linux-power
  Cc: Alexandre Ghiti
In-Reply-To: <20211216094426.2083802-1-alexandre.ghiti@canonical.com>

A few references to the fscache and cachefiles histograms were left in
the Documentation and some arch defconfigs: remove them since those
configs do not exist anymore.

Fixes: 6ae9bd8bb037("fscache, cachefiles: Remove the histogram stuff")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Acked-by: Arnd Bergmann <arnd@arndb.de> [arch/arm/configs]
---
 .../filesystems/caching/cachefiles.rst        | 34 -------------------
 Documentation/filesystems/caching/fscache.rst | 34 ++-----------------
 arch/arm/configs/axm55xx_defconfig            |  2 --
 3 files changed, 2 insertions(+), 68 deletions(-)

diff --git a/Documentation/filesystems/caching/cachefiles.rst b/Documentation/filesystems/caching/cachefiles.rst
index e58bc1fd312a..e59861458029 100644
--- a/Documentation/filesystems/caching/cachefiles.rst
+++ b/Documentation/filesystems/caching/cachefiles.rst
@@ -424,40 +424,6 @@ for CacheFiles to run in a context of a specific security label, or to create
 files and directories with another security label.
 
 
-Statistical Information
-=======================
-
-If FS-Cache is compiled with the following option enabled::
-
-	CONFIG_CACHEFILES_HISTOGRAM=y
-
-then it will gather certain statistics and display them through a proc file.
-
- /proc/fs/cachefiles/histogram
-
-     ::
-
-	cat /proc/fs/cachefiles/histogram
-	JIFS  SECS  LOOKUPS   MKDIRS    CREATES
-	===== ===== ========= ========= =========
-
-     This shows the breakdown of the number of times each amount of time
-     between 0 jiffies and HZ-1 jiffies a variety of tasks took to run.  The
-     columns are as follows:
-
-	=======		=======================================================
-	COLUMN		TIME MEASUREMENT
-	=======		=======================================================
-	LOOKUPS		Length of time to perform a lookup on the backing fs
-	MKDIRS		Length of time to perform a mkdir on the backing fs
-	CREATES		Length of time to perform a create on the backing fs
-	=======		=======================================================
-
-     Each row shows the number of events that took a particular range of times.
-     Each step is 1 jiffy in size.  The JIFS column indicates the particular
-     jiffy range covered, and the SECS field the equivalent number of seconds.
-
-
 Debugging
 =========
 
diff --git a/Documentation/filesystems/caching/fscache.rst b/Documentation/filesystems/caching/fscache.rst
index 70de86922b6a..66e31a6d1070 100644
--- a/Documentation/filesystems/caching/fscache.rst
+++ b/Documentation/filesystems/caching/fscache.rst
@@ -201,10 +201,9 @@ Statistical Information
 If FS-Cache is compiled with the following options enabled::
 
 	CONFIG_FSCACHE_STATS=y
-	CONFIG_FSCACHE_HISTOGRAM=y
 
-then it will gather certain statistics and display them through a number of
-proc files.
+then it will gather certain statistics and display them through the following
+proc file.
 
 /proc/fs/fscache/stats
 ----------------------
@@ -413,35 +412,6 @@ proc files.
 
 
 
-/proc/fs/fscache/histogram
---------------------------
-
-     ::
-
-	cat /proc/fs/fscache/histogram
-	JIFS  SECS  OBJ INST  OP RUNS   OBJ RUNS  RETRV DLY RETRIEVLS
-	===== ===== ========= ========= ========= ========= =========
-
-     This shows the breakdown of the number of times each amount of time
-     between 0 jiffies and HZ-1 jiffies a variety of tasks took to run.  The
-     columns are as follows:
-
-	=========	=======================================================
-	COLUMN		TIME MEASUREMENT
-	=========	=======================================================
-	OBJ INST	Length of time to instantiate an object
-	OP RUNS		Length of time a call to process an operation took
-	OBJ RUNS	Length of time a call to process an object event took
-	RETRV DLY	Time between an requesting a read and lookup completing
-	RETRIEVLS	Time between beginning and end of a retrieval
-	=========	=======================================================
-
-     Each row shows the number of events that took a particular range of times.
-     Each step is 1 jiffy in size.  The JIFS column indicates the particular
-     jiffy range covered, and the SECS field the equivalent number of seconds.
-
-
-
 Object List
 ===========
 
diff --git a/arch/arm/configs/axm55xx_defconfig b/arch/arm/configs/axm55xx_defconfig
index 46075216ee6d..b36e0b347d1f 100644
--- a/arch/arm/configs/axm55xx_defconfig
+++ b/arch/arm/configs/axm55xx_defconfig
@@ -204,11 +204,9 @@ CONFIG_FUSE_FS=y
 CONFIG_CUSE=y
 CONFIG_FSCACHE=y
 CONFIG_FSCACHE_STATS=y
-CONFIG_FSCACHE_HISTOGRAM=y
 CONFIG_FSCACHE_DEBUG=y
 CONFIG_FSCACHE_OBJECT_LIST=y
 CONFIG_CACHEFILES=y
-CONFIG_CACHEFILES_HISTOGRAM=y
 CONFIG_ISO9660_FS=y
 CONFIG_UDF_FS=y
 CONFIG_MSDOS_FS=y
-- 
2.32.0


^ permalink raw reply related

* [PATCH v2 2/6] Documentation, arch: Remove leftovers from raw device
From: Alexandre Ghiti @ 2021-12-16  9:44 UTC (permalink / raw)
  To: Steve French, Jonathan Corbet, David Howells, Russell King,
	Thomas Bogendoerfer, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, Yoshinori Sato, Rich Felker, Matti Vaittinen,
	Lee Jones, Jeff Layton, Greg Kroah-Hartman, Arnd Bergmann,
	Ronnie Sahlberg, Guenter Roeck, Wim Van Sebroeck, Lukas Bulwahn,
	Luis Chamberlain, Kalle Valo, linux-cifs, samba-technical,
	linux-doc, linux-kernel, linux-cachefs, linux-arm-kernel,
	linux-mips, linuxppc-dev, linux-sh, linux-power
  Cc: Alexandre Ghiti
In-Reply-To: <20211216094426.2083802-1-alexandre.ghiti@canonical.com>

Raw device interface was removed so remove all references to configs
related to it.

Fixes: 603e4922f1c8 ("remove the raw driver")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Acked-by: Arnd Bergmann <arnd@arndb.de> [arch/arm/configs]
---
 Documentation/admin-guide/devices.txt  | 8 +-------
 arch/arm/configs/spear13xx_defconfig   | 1 -
 arch/arm/configs/spear3xx_defconfig    | 1 -
 arch/arm/configs/spear6xx_defconfig    | 1 -
 arch/powerpc/configs/pseries_defconfig | 1 -
 5 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/Documentation/admin-guide/devices.txt b/Documentation/admin-guide/devices.txt
index 922c23bb4372..c07dc0ee860e 100644
--- a/Documentation/admin-guide/devices.txt
+++ b/Documentation/admin-guide/devices.txt
@@ -2339,13 +2339,7 @@
 		disks (see major number 3) except that the limit on
 		partitions is 31.
 
- 162 char	Raw block device interface
-		  0 = /dev/rawctl	Raw I/O control device
-		  1 = /dev/raw/raw1	First raw I/O device
-		  2 = /dev/raw/raw2	Second raw I/O device
-		    ...
-		 max minor number of raw device is set by kernel config
-		 MAX_RAW_DEVS or raw module parameter 'max_raw_devs'
+ 162 char	Used for (now removed) raw block device interface
 
  163 char
 
diff --git a/arch/arm/configs/spear13xx_defconfig b/arch/arm/configs/spear13xx_defconfig
index 3b206a31902f..065553326b39 100644
--- a/arch/arm/configs/spear13xx_defconfig
+++ b/arch/arm/configs/spear13xx_defconfig
@@ -61,7 +61,6 @@ CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
 # CONFIG_HW_RANDOM is not set
 CONFIG_RAW_DRIVER=y
-CONFIG_MAX_RAW_DEVS=8192
 CONFIG_I2C=y
 CONFIG_I2C_DESIGNWARE_PLATFORM=y
 CONFIG_SPI=y
diff --git a/arch/arm/configs/spear3xx_defconfig b/arch/arm/configs/spear3xx_defconfig
index fc5f71c765ed..afca722d6605 100644
--- a/arch/arm/configs/spear3xx_defconfig
+++ b/arch/arm/configs/spear3xx_defconfig
@@ -41,7 +41,6 @@ CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
 # CONFIG_HW_RANDOM is not set
 CONFIG_RAW_DRIVER=y
-CONFIG_MAX_RAW_DEVS=8192
 CONFIG_I2C=y
 CONFIG_I2C_DESIGNWARE_PLATFORM=y
 CONFIG_SPI=y
diff --git a/arch/arm/configs/spear6xx_defconfig b/arch/arm/configs/spear6xx_defconfig
index 52a56b8ce6a7..bc32c02cb86b 100644
--- a/arch/arm/configs/spear6xx_defconfig
+++ b/arch/arm/configs/spear6xx_defconfig
@@ -36,7 +36,6 @@ CONFIG_INPUT_FF_MEMLESS=y
 CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
 CONFIG_RAW_DRIVER=y
-CONFIG_MAX_RAW_DEVS=8192
 CONFIG_I2C=y
 CONFIG_I2C_DESIGNWARE_PLATFORM=y
 CONFIG_SPI=y
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index de7641adb899..e64f2242abe1 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -189,7 +189,6 @@ CONFIG_HVCS=m
 CONFIG_VIRTIO_CONSOLE=m
 CONFIG_IBM_BSR=m
 CONFIG_RAW_DRIVER=y
-CONFIG_MAX_RAW_DEVS=1024
 CONFIG_I2C_CHARDEV=y
 CONFIG_FB=y
 CONFIG_FIRMWARE_EDID=y
-- 
2.32.0


^ permalink raw reply related

* [PATCH v2 3/6] Documentation, arch: Remove leftovers from CIFS_WEAK_PW_HASH
From: Alexandre Ghiti @ 2021-12-16  9:44 UTC (permalink / raw)
  To: Steve French, Jonathan Corbet, David Howells, Russell King,
	Thomas Bogendoerfer, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, Yoshinori Sato, Rich Felker, Matti Vaittinen,
	Lee Jones, Jeff Layton, Greg Kroah-Hartman, Arnd Bergmann,
	Ronnie Sahlberg, Guenter Roeck, Wim Van Sebroeck, Lukas Bulwahn,
	Luis Chamberlain, Kalle Valo, linux-cifs, samba-technical,
	linux-doc, linux-kernel, linux-cachefs, linux-arm-kernel,
	linux-mips, linuxppc-dev, linux-sh, linux-power
  Cc: Steve French, Alexandre Ghiti
In-Reply-To: <20211216094426.2083802-1-alexandre.ghiti@canonical.com>

This config was removed so remove all references to it.

Fixes: 76a3c92ec9e0 ("cifs: remove support for NTLM and weaker authentication algorithms")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Reviewed-by: Steve French <smfrench@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de> [arch/arm/configs]
---
 Documentation/admin-guide/cifs/usage.rst    | 7 +++----
 arch/arm/configs/cm_x300_defconfig          | 1 -
 arch/arm/configs/ezx_defconfig              | 1 -
 arch/arm/configs/imote2_defconfig           | 1 -
 arch/arm/configs/nhk8815_defconfig          | 1 -
 arch/arm/configs/pxa_defconfig              | 1 -
 arch/mips/configs/fuloong2e_defconfig       | 1 -
 arch/mips/configs/malta_qemu_32r6_defconfig | 1 -
 arch/mips/configs/maltaaprp_defconfig       | 1 -
 arch/mips/configs/maltasmvp_defconfig       | 1 -
 arch/mips/configs/maltasmvp_eva_defconfig   | 1 -
 arch/mips/configs/maltaup_defconfig         | 1 -
 arch/powerpc/configs/ppc6xx_defconfig       | 1 -
 arch/sh/configs/titan_defconfig             | 1 -
 14 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/Documentation/admin-guide/cifs/usage.rst b/Documentation/admin-guide/cifs/usage.rst
index f170d8820258..3766bf8a1c20 100644
--- a/Documentation/admin-guide/cifs/usage.rst
+++ b/Documentation/admin-guide/cifs/usage.rst
@@ -734,10 +734,9 @@ SecurityFlags		Flags which control security negotiation and
 			using weaker password hashes is 0x37037 (lanman,
 			plaintext, ntlm, ntlmv2, signing allowed).  Some
 			SecurityFlags require the corresponding menuconfig
-			options to be enabled (lanman and plaintext require
-			CONFIG_CIFS_WEAK_PW_HASH for example).  Enabling
-			plaintext authentication currently requires also
-			enabling lanman authentication in the security flags
+			options to be enabled.  Enabling plaintext
+			authentication currently requires also enabling
+			lanman authentication in the security flags
 			because the cifs module only supports sending
 			laintext passwords using the older lanman dialect
 			form of the session setup SMB.  (e.g. for authentication
diff --git a/arch/arm/configs/cm_x300_defconfig b/arch/arm/configs/cm_x300_defconfig
index 502a9d870ca4..45769d0ddd4e 100644
--- a/arch/arm/configs/cm_x300_defconfig
+++ b/arch/arm/configs/cm_x300_defconfig
@@ -146,7 +146,6 @@ CONFIG_NFS_V3_ACL=y
 CONFIG_NFS_V4=y
 CONFIG_ROOT_NFS=y
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_PARTITION_ADVANCED=y
 CONFIG_NLS_CODEPAGE_437=m
 CONFIG_NLS_ISO8859_1=m
diff --git a/arch/arm/configs/ezx_defconfig b/arch/arm/configs/ezx_defconfig
index a49e699e52de..ec84d80096b1 100644
--- a/arch/arm/configs/ezx_defconfig
+++ b/arch/arm/configs/ezx_defconfig
@@ -314,7 +314,6 @@ CONFIG_NFSD_V3_ACL=y
 CONFIG_SMB_FS=m
 CONFIG_CIFS=m
 CONFIG_CIFS_STATS=y
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_NLS_CODEPAGE_437=m
diff --git a/arch/arm/configs/imote2_defconfig b/arch/arm/configs/imote2_defconfig
index 118c4c927f26..6db871d4e077 100644
--- a/arch/arm/configs/imote2_defconfig
+++ b/arch/arm/configs/imote2_defconfig
@@ -288,7 +288,6 @@ CONFIG_NFSD_V3_ACL=y
 CONFIG_SMB_FS=m
 CONFIG_CIFS=m
 CONFIG_CIFS_STATS=y
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_NLS_CODEPAGE_437=m
diff --git a/arch/arm/configs/nhk8815_defconfig b/arch/arm/configs/nhk8815_defconfig
index 23595fc5a29a..907d6512821a 100644
--- a/arch/arm/configs/nhk8815_defconfig
+++ b/arch/arm/configs/nhk8815_defconfig
@@ -127,7 +127,6 @@ CONFIG_NFS_FS=y
 CONFIG_NFS_V3_ACL=y
 CONFIG_ROOT_NFS=y
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ASCII=y
 CONFIG_NLS_ISO8859_1=y
diff --git a/arch/arm/configs/pxa_defconfig b/arch/arm/configs/pxa_defconfig
index 58f4834289e6..dedaaae3d0d8 100644
--- a/arch/arm/configs/pxa_defconfig
+++ b/arch/arm/configs/pxa_defconfig
@@ -699,7 +699,6 @@ CONFIG_NFSD_V3_ACL=y
 CONFIG_NFSD_V4=y
 CONFIG_CIFS=m
 CONFIG_CIFS_STATS=y
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_NLS_DEFAULT="utf8"
diff --git a/arch/mips/configs/fuloong2e_defconfig b/arch/mips/configs/fuloong2e_defconfig
index 5c24ac7fdf56..ba47c5e929b7 100644
--- a/arch/mips/configs/fuloong2e_defconfig
+++ b/arch/mips/configs/fuloong2e_defconfig
@@ -206,7 +206,6 @@ CONFIG_NFSD_V3_ACL=y
 CONFIG_NFSD_V4=y
 CONFIG_CIFS=m
 CONFIG_CIFS_STATS2=y
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_CIFS_DEBUG2=y
diff --git a/arch/mips/configs/malta_qemu_32r6_defconfig b/arch/mips/configs/malta_qemu_32r6_defconfig
index 614af02d83e6..6fb9bc29f4a0 100644
--- a/arch/mips/configs/malta_qemu_32r6_defconfig
+++ b/arch/mips/configs/malta_qemu_32r6_defconfig
@@ -165,7 +165,6 @@ CONFIG_TMPFS=y
 CONFIG_NFS_FS=y
 CONFIG_ROOT_NFS=y
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_NLS_CODEPAGE_437=m
diff --git a/arch/mips/configs/maltaaprp_defconfig b/arch/mips/configs/maltaaprp_defconfig
index 9c051f8fd330..eb72df528243 100644
--- a/arch/mips/configs/maltaaprp_defconfig
+++ b/arch/mips/configs/maltaaprp_defconfig
@@ -166,7 +166,6 @@ CONFIG_TMPFS=y
 CONFIG_NFS_FS=y
 CONFIG_ROOT_NFS=y
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_NLS_CODEPAGE_437=m
diff --git a/arch/mips/configs/maltasmvp_defconfig b/arch/mips/configs/maltasmvp_defconfig
index 2e90d97551d6..1fb40d310f49 100644
--- a/arch/mips/configs/maltasmvp_defconfig
+++ b/arch/mips/configs/maltasmvp_defconfig
@@ -167,7 +167,6 @@ CONFIG_TMPFS=y
 CONFIG_NFS_FS=y
 CONFIG_ROOT_NFS=y
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_NLS_CODEPAGE_437=m
diff --git a/arch/mips/configs/maltasmvp_eva_defconfig b/arch/mips/configs/maltasmvp_eva_defconfig
index d1f7fdb27284..75cb778c6149 100644
--- a/arch/mips/configs/maltasmvp_eva_defconfig
+++ b/arch/mips/configs/maltasmvp_eva_defconfig
@@ -169,7 +169,6 @@ CONFIG_TMPFS=y
 CONFIG_NFS_FS=y
 CONFIG_ROOT_NFS=y
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_NLS_CODEPAGE_437=m
diff --git a/arch/mips/configs/maltaup_defconfig b/arch/mips/configs/maltaup_defconfig
index 48e5bd492452..7b4f247dc60c 100644
--- a/arch/mips/configs/maltaup_defconfig
+++ b/arch/mips/configs/maltaup_defconfig
@@ -165,7 +165,6 @@ CONFIG_TMPFS=y
 CONFIG_NFS_FS=y
 CONFIG_ROOT_NFS=y
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
 CONFIG_NLS_CODEPAGE_437=m
diff --git a/arch/powerpc/configs/ppc6xx_defconfig b/arch/powerpc/configs/ppc6xx_defconfig
index 6697c5e6682f..bb549cb1c3e3 100644
--- a/arch/powerpc/configs/ppc6xx_defconfig
+++ b/arch/powerpc/configs/ppc6xx_defconfig
@@ -1022,7 +1022,6 @@ CONFIG_NFSD=m
 CONFIG_NFSD_V3_ACL=y
 CONFIG_NFSD_V4=y
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_UPCALL=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
diff --git a/arch/sh/configs/titan_defconfig b/arch/sh/configs/titan_defconfig
index ba887f1351be..cd5c58916c65 100644
--- a/arch/sh/configs/titan_defconfig
+++ b/arch/sh/configs/titan_defconfig
@@ -242,7 +242,6 @@ CONFIG_NFSD=y
 CONFIG_NFSD_V3=y
 CONFIG_SMB_FS=m
 CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_PARTITION_ADVANCED=y
 CONFIG_NLS_CODEPAGE_437=m
 CONFIG_NLS_ASCII=m
-- 
2.32.0


^ permalink raw reply related

* Re: [PATCH 00/20] powerpc: Define eligible functions as __init
From: Christophe Leroy @ 2021-12-16  9:47 UTC (permalink / raw)
  To: Nick Child, linuxppc-dev@lists.ozlabs.org; +Cc: Nick Child, dja@axtens.net
In-Reply-To: <20211215161243.16396-1-nick.child@ibm.com>



Le 15/12/2021 à 17:12, Nick Child a écrit :
> Hello all,
> 
> This patchset focuses on redefining/declaring functions that could be
> labeled with the macro `__init`. From my understanding, an initialization
> function is one which is only needed during the initial phases of booting,
> after which it's resources can be freed. I figure that any function which is
> only called by other initialization functions may also be labeled as an
> initialization function. There are several (mostly static) functions which
> can and should be labeled as `__init`. I created some scripts to help
> identify these functions. It scans all functions defined in `arch/powerpc`
> and, if it is only called by functions with the `__init` attribute, it will
> go on to adjust the prototype and definition to include the `__init`
> declaration.

Maybe you could also mention or reference 
https://github.com/linuxppc/issues/issues/282

^ permalink raw reply

* [PATCH v2 4/6] arch: Remove leftovers from mandatory file locking
From: Alexandre Ghiti @ 2021-12-16  9:44 UTC (permalink / raw)
  To: Steve French, Jonathan Corbet, David Howells, Russell King,
	Thomas Bogendoerfer, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, Yoshinori Sato, Rich Felker, Matti Vaittinen,
	Lee Jones, Jeff Layton, Greg Kroah-Hartman, Arnd Bergmann,
	Ronnie Sahlberg, Guenter Roeck, Wim Van Sebroeck, Lukas Bulwahn,
	Luis Chamberlain, Kalle Valo, linux-cifs, samba-technical,
	linux-doc, linux-kernel, linux-cachefs, linux-arm-kernel,
	linux-mips, linuxppc-dev, linux-sh, linux-power
  Cc: Alexandre Ghiti
In-Reply-To: <20211216094426.2083802-1-alexandre.ghiti@canonical.com>

This config was removed so remove all references to it.

Fixes: f7e33bdbd6d1 ("fs: remove mandatory file locking support")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
---
 arch/mips/configs/decstation_64_defconfig  | 1 -
 arch/mips/configs/decstation_defconfig     | 1 -
 arch/mips/configs/decstation_r4k_defconfig | 1 -
 3 files changed, 3 deletions(-)

diff --git a/arch/mips/configs/decstation_64_defconfig b/arch/mips/configs/decstation_64_defconfig
index 85f1955b4b00..e2ed105f8c97 100644
--- a/arch/mips/configs/decstation_64_defconfig
+++ b/arch/mips/configs/decstation_64_defconfig
@@ -144,7 +144,6 @@ CONFIG_EXT2_FS_SECURITY=y
 CONFIG_EXT3_FS=y
 CONFIG_EXT3_FS_POSIX_ACL=y
 CONFIG_EXT3_FS_SECURITY=y
-# CONFIG_MANDATORY_FILE_LOCKING is not set
 CONFIG_ISO9660_FS=y
 CONFIG_JOLIET=y
 CONFIG_PROC_KCORE=y
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig
index 30a6eafdb1d0..7e987d6f5e34 100644
--- a/arch/mips/configs/decstation_defconfig
+++ b/arch/mips/configs/decstation_defconfig
@@ -140,7 +140,6 @@ CONFIG_EXT2_FS_SECURITY=y
 CONFIG_EXT3_FS=y
 CONFIG_EXT3_FS_POSIX_ACL=y
 CONFIG_EXT3_FS_SECURITY=y
-# CONFIG_MANDATORY_FILE_LOCKING is not set
 CONFIG_ISO9660_FS=y
 CONFIG_JOLIET=y
 CONFIG_PROC_KCORE=y
diff --git a/arch/mips/configs/decstation_r4k_defconfig b/arch/mips/configs/decstation_r4k_defconfig
index e2b58dbf4aa9..6df5f6f2ac8e 100644
--- a/arch/mips/configs/decstation_r4k_defconfig
+++ b/arch/mips/configs/decstation_r4k_defconfig
@@ -140,7 +140,6 @@ CONFIG_EXT2_FS_SECURITY=y
 CONFIG_EXT3_FS=y
 CONFIG_EXT3_FS_POSIX_ACL=y
 CONFIG_EXT3_FS_SECURITY=y
-# CONFIG_MANDATORY_FILE_LOCKING is not set
 CONFIG_ISO9660_FS=y
 CONFIG_JOLIET=y
 CONFIG_PROC_KCORE=y
-- 
2.32.0


^ permalink raw reply related

* Re: [PATCH v3 0/5] rtc: nintendo: Add a RTC driver for the GameCube, Wii and Wii U
From: Alexandre Belloni @ 2021-12-16  9:49 UTC (permalink / raw)
  To: Alessandro Zummo, Emmanuel Gil Peyrot
  Cc: linux-rtc, devicetree, Alexandre Belloni, rw-r-r-0644,
	linux-kernel, Rob Herring, Paul Mackerras, Ash Logan,
	linuxppc-dev, Jonathan Neuschäfer
In-Reply-To: <20211215175501.6761-1-linkmauve@linkmauve.fr>

On Wed, 15 Dec 2021 18:54:56 +0100, Emmanuel Gil Peyrot wrote:
> These three consoles share a device, the MX23L4005, which contains a
> clock and 64 bytes of SRAM storage, and is exposed on the EXI bus
> (similar to SPI) on channel 0, device 1.  This driver allows it to be
> used as a Linux RTC device, where time can be read and set.
> 
> The hardware also exposes two timers, one which shuts down the console
> and one which powers it on, but these aren’t supported currently.
> 
> [...]

Applied, thanks!

[1/5] rtc: gamecube: Add a RTC driver for the GameCube, Wii and Wii U
      commit: 86559400b3ef9de93ba50523cffe767c35cd531a
[2/5] rtc: gamecube: Report low battery as invalid data
      commit: 322539a014bcd24cbb9281832c09b24e07912237
[3/5] powerpc: wii.dts: Expose HW_SRNPROT on this platform
      commit: 5479618e1e2641dd57352a73b7b7b2f6908fbeee
[4/5] powerpc: gamecube_defconfig: Enable the RTC driver
      commit: 57bd7d356506b713d0df8d8e42da7810a18864df
[5/5] powerpc: wii_defconfig: Enable the RTC driver
      commit: 69e8ba80ddda4db31e59facbf2db19773ad3785b

This one didn't apply ceanly but I believe I did the right thing. Can you check?


Best regards,
-- 
Alexandre Belloni <alexandre.belloni@bootlin.com>

^ permalink raw reply

* [PATCH v2 5/6] Documentation, arch, fs: Remove leftovers from fscache object list
From: Alexandre Ghiti @ 2021-12-16  9:44 UTC (permalink / raw)
  To: Steve French, Jonathan Corbet, David Howells, Russell King,
	Thomas Bogendoerfer, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, Yoshinori Sato, Rich Felker, Matti Vaittinen,
	Lee Jones, Jeff Layton, Greg Kroah-Hartman, Arnd Bergmann,
	Ronnie Sahlberg, Guenter Roeck, Wim Van Sebroeck, Lukas Bulwahn,
	Luis Chamberlain, Kalle Valo, linux-cifs, samba-technical,
	linux-doc, linux-kernel, linux-cachefs, linux-arm-kernel,
	linux-mips, linuxppc-dev, linux-sh, linux-power
  Cc: Alexandre Ghiti
In-Reply-To: <20211216094426.2083802-1-alexandre.ghiti@canonical.com>

A few references to the fscache object list were left in the
Documentation, some arch defconfigs and in fs: remove them since this
config does not exists anymore.

Fixes: 58f386a73f16 ("fscache: Remove the object list procfile")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
Acked-by: Arnd Bergmann <arnd@arndb.de> [arch/arm/configs]
---
 Documentation/filesystems/caching/fscache.rst | 89 -------------------
 arch/arm/configs/axm55xx_defconfig            |  1 -
 fs/fscache/object.c                           |  3 -
 fs/fscache/proc.c                             | 12 ---
 4 files changed, 105 deletions(-)

diff --git a/Documentation/filesystems/caching/fscache.rst b/Documentation/filesystems/caching/fscache.rst
index 66e31a6d1070..7cedab444947 100644
--- a/Documentation/filesystems/caching/fscache.rst
+++ b/Documentation/filesystems/caching/fscache.rst
@@ -411,95 +411,6 @@ proc file.
 +--------------+-------+-------------------------------------------------------+
 
 
-
-Object List
-===========
-
-If CONFIG_FSCACHE_OBJECT_LIST is enabled, the FS-Cache facility will maintain a
-list of all the objects currently allocated and allow them to be viewed
-through::
-
-	/proc/fs/fscache/objects
-
-This will look something like::
-
-	[root@andromeda ~]# head /proc/fs/fscache/objects
-	OBJECT   PARENT   STAT CHLDN OPS OOP IPR EX READS EM EV F S | NETFS_COOKIE_DEF TY FL NETFS_DATA       OBJECT_KEY, AUX_DATA
-	======== ======== ==== ===== === === === == ===== == == = = | ================ == == ================ ================
-	   17e4b        2 ACTV     0   0   0   0  0     0 7b  4 0 0 | NFS.fh           DT  0 ffff88001dd82820 010006017edcf8bbc93b43298fdfbe71e50b57b13a172c0117f38472, e567634700000000000000000000000063f2404a000000000000000000000000c9030000000000000000000063f2404a
-	   1693a        2 ACTV     0   0   0   0  0     0 7b  4 0 0 | NFS.fh           DT  0 ffff88002db23380 010006017edcf8bbc93b43298fdfbe71e50b57b1e0162c01a2df0ea6, 420ebc4a000000000000000000000000420ebc4a0000000000000000000000000e1801000000000000000000420ebc4a
-
-where the first set of columns before the '|' describe the object:
-
-	=======	===============================================================
-	COLUMN	DESCRIPTION
-	=======	===============================================================
-	OBJECT	Object debugging ID (appears as OBJ%x in some debug messages)
-	PARENT	Debugging ID of parent object
-	STAT	Object state
-	CHLDN	Number of child objects of this object
-	OPS	Number of outstanding operations on this object
-	OOP	Number of outstanding child object management operations
-	IPR
-	EX	Number of outstanding exclusive operations
-	READS	Number of outstanding read operations
-	EM	Object's event mask
-	EV	Events raised on this object
-	F	Object flags
-	S	Object work item busy state mask (1:pending 2:running)
-	=======	===============================================================
-
-and the second set of columns describe the object's cookie, if present:
-
-	================ ======================================================
-	COLUMN		 DESCRIPTION
-	================ ======================================================
-	NETFS_COOKIE_DEF Name of netfs cookie definition
-	TY		 Cookie type (IX - index, DT - data, hex - special)
-	FL		 Cookie flags
-	NETFS_DATA	 Netfs private data stored in the cookie
-	OBJECT_KEY	 Object key } 1 column, with separating comma
-	AUX_DATA	 Object aux data } presence may be configured
-	================ ======================================================
-
-The data shown may be filtered by attaching the a key to an appropriate keyring
-before viewing the file.  Something like::
-
-		keyctl add user fscache:objlist <restrictions> @s
-
-where <restrictions> are a selection of the following letters:
-
-	==	=========================================================
-	K	Show hexdump of object key (don't show if not given)
-	A	Show hexdump of object aux data (don't show if not given)
-	==	=========================================================
-
-and the following paired letters:
-
-	==	=========================================================
-	C	Show objects that have a cookie
-	c	Show objects that don't have a cookie
-	B	Show objects that are busy
-	b	Show objects that aren't busy
-	W	Show objects that have pending writes
-	w	Show objects that don't have pending writes
-	R	Show objects that have outstanding reads
-	r	Show objects that don't have outstanding reads
-	S	Show objects that have work queued
-	s	Show objects that don't have work queued
-	==	=========================================================
-
-If neither side of a letter pair is given, then both are implied.  For example:
-
-	keyctl add user fscache:objlist KB @s
-
-shows objects that are busy, and lists their object keys, but does not dump
-their auxiliary data.  It also implies "CcWwRrSs", but as 'B' is given, 'b' is
-not implied.
-
-By default all objects and all fields will be shown.
-
-
 Debugging
 =========
 
diff --git a/arch/arm/configs/axm55xx_defconfig b/arch/arm/configs/axm55xx_defconfig
index b36e0b347d1f..c0ea326d4c5e 100644
--- a/arch/arm/configs/axm55xx_defconfig
+++ b/arch/arm/configs/axm55xx_defconfig
@@ -205,7 +205,6 @@ CONFIG_CUSE=y
 CONFIG_FSCACHE=y
 CONFIG_FSCACHE_STATS=y
 CONFIG_FSCACHE_DEBUG=y
-CONFIG_FSCACHE_OBJECT_LIST=y
 CONFIG_CACHEFILES=y
 CONFIG_ISO9660_FS=y
 CONFIG_UDF_FS=y
diff --git a/fs/fscache/object.c b/fs/fscache/object.c
index 6a675652129b..f31257a74f35 100644
--- a/fs/fscache/object.c
+++ b/fs/fscache/object.c
@@ -321,9 +321,6 @@ void fscache_object_init(struct fscache_object *object,
 	object->cookie = cookie;
 	fscache_cookie_get(cookie, fscache_cookie_get_attach_object);
 	object->parent = NULL;
-#ifdef CONFIG_FSCACHE_OBJECT_LIST
-	RB_CLEAR_NODE(&object->objlist_link);
-#endif
 
 	object->oob_event_mask = 0;
 	for (t = object->oob_table; t->events; t++)
diff --git a/fs/fscache/proc.c b/fs/fscache/proc.c
index 061df8f61ffc..4c327aeed91b 100644
--- a/fs/fscache/proc.c
+++ b/fs/fscache/proc.c
@@ -31,18 +31,9 @@ int __init fscache_proc_init(void)
 		goto error_stats;
 #endif
 
-#ifdef CONFIG_FSCACHE_OBJECT_LIST
-	if (!proc_create("fs/fscache/objects", S_IFREG | 0444, NULL,
-			 &fscache_objlist_proc_ops))
-		goto error_objects;
-#endif
-
 	_leave(" = 0");
 	return 0;
 
-#ifdef CONFIG_FSCACHE_OBJECT_LIST
-error_objects:
-#endif
 #ifdef CONFIG_FSCACHE_STATS
 	remove_proc_entry("fs/fscache/stats", NULL);
 error_stats:
@@ -60,9 +51,6 @@ int __init fscache_proc_init(void)
  */
 void fscache_proc_cleanup(void)
 {
-#ifdef CONFIG_FSCACHE_OBJECT_LIST
-	remove_proc_entry("fs/fscache/objects", NULL);
-#endif
 #ifdef CONFIG_FSCACHE_STATS
 	remove_proc_entry("fs/fscache/stats", NULL);
 #endif
-- 
2.32.0


^ permalink raw reply related

* [PATCH v2 6/6] arch: Remove leftovers from prism54 wireless driver
From: Alexandre Ghiti @ 2021-12-16  9:44 UTC (permalink / raw)
  To: Steve French, Jonathan Corbet, David Howells, Russell King,
	Thomas Bogendoerfer, Michael Ellerman, Benjamin Herrenschmidt,
	Paul Mackerras, Yoshinori Sato, Rich Felker, Matti Vaittinen,
	Lee Jones, Jeff Layton, Greg Kroah-Hartman, Arnd Bergmann,
	Ronnie Sahlberg, Guenter Roeck, Wim Van Sebroeck, Lukas Bulwahn,
	Luis Chamberlain, Kalle Valo, linux-cifs, samba-technical,
	linux-doc, linux-kernel, linux-cachefs, linux-arm-kernel,
	linux-mips, linuxppc-dev, linux-sh, linux-power
  Cc: Alexandre Ghiti
In-Reply-To: <20211216094426.2083802-1-alexandre.ghiti@canonical.com>

This driver was removed so remove all references to it.

Fixes: d249ff28b1d8 ("intersil: remove obsolete prism54 wireless driver")
Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
---
 arch/mips/configs/ip27_defconfig        | 1 -
 arch/mips/configs/malta_defconfig       | 1 -
 arch/mips/configs/malta_kvm_defconfig   | 1 -
 arch/mips/configs/maltaup_xpa_defconfig | 1 -
 arch/powerpc/configs/pmac32_defconfig   | 1 -
 5 files changed, 5 deletions(-)

diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig
index 638d7cf5ef01..821630ac1be7 100644
--- a/arch/mips/configs/ip27_defconfig
+++ b/arch/mips/configs/ip27_defconfig
@@ -223,7 +223,6 @@ CONFIG_TMD_HERMES=m
 CONFIG_NORTEL_HERMES=m
 CONFIG_P54_COMMON=m
 CONFIG_P54_PCI=m
-CONFIG_PRISM54=m
 CONFIG_LIBERTAS=m
 CONFIG_LIBERTAS_THINFIRM=m
 CONFIG_MWL8K=m
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig
index 9cb2cf2595e0..3321bb576944 100644
--- a/arch/mips/configs/malta_defconfig
+++ b/arch/mips/configs/malta_defconfig
@@ -302,7 +302,6 @@ CONFIG_HOSTAP_FIRMWARE=y
 CONFIG_HOSTAP_FIRMWARE_NVRAM=y
 CONFIG_HOSTAP_PLX=m
 CONFIG_HOSTAP_PCI=m
-CONFIG_PRISM54=m
 CONFIG_LIBERTAS=m
 CONFIG_INPUT_MOUSEDEV=y
 CONFIG_MOUSE_PS2_ELANTECH=y
diff --git a/arch/mips/configs/malta_kvm_defconfig b/arch/mips/configs/malta_kvm_defconfig
index 5924e48fd3ec..009b30372226 100644
--- a/arch/mips/configs/malta_kvm_defconfig
+++ b/arch/mips/configs/malta_kvm_defconfig
@@ -310,7 +310,6 @@ CONFIG_HOSTAP_FIRMWARE=y
 CONFIG_HOSTAP_FIRMWARE_NVRAM=y
 CONFIG_HOSTAP_PLX=m
 CONFIG_HOSTAP_PCI=m
-CONFIG_PRISM54=m
 CONFIG_LIBERTAS=m
 CONFIG_INPUT_MOUSEDEV=y
 CONFIG_SERIAL_8250=y
diff --git a/arch/mips/configs/maltaup_xpa_defconfig b/arch/mips/configs/maltaup_xpa_defconfig
index c0d3156ef640..e214e136101c 100644
--- a/arch/mips/configs/maltaup_xpa_defconfig
+++ b/arch/mips/configs/maltaup_xpa_defconfig
@@ -309,7 +309,6 @@ CONFIG_HOSTAP_FIRMWARE=y
 CONFIG_HOSTAP_FIRMWARE_NVRAM=y
 CONFIG_HOSTAP_PLX=m
 CONFIG_HOSTAP_PCI=m
-CONFIG_PRISM54=m
 CONFIG_LIBERTAS=m
 CONFIG_INPUT_MOUSEDEV=y
 CONFIG_MOUSE_PS2_ELANTECH=y
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index 7aefac5afab0..13885ec563d1 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -169,7 +169,6 @@ CONFIG_USB_USBNET=m
 CONFIG_B43=m
 CONFIG_B43LEGACY=m
 CONFIG_P54_COMMON=m
-CONFIG_PRISM54=m
 CONFIG_INPUT_EVDEV=y
 # CONFIG_KEYBOARD_ATKBD is not set
 # CONFIG_MOUSE_PS2 is not set
-- 
2.32.0


^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox