[PATCH] powerpc: Drop zalloc_maybe_bootmem()

Christophe Leroy christophe.leroy at csgroup.eu
Wed Aug 23 16:01:38 AEST 2023



Le 23/08/2023 à 07:54, Michael Ellerman a écrit :
> The only callers of zalloc_maybe_bootmem() are PCI setup routines. These
> used to be called early during boot before slab setup, and also during
> runtime due to hotplug.
> 
> But commit 5537fcb319d0 ("powerpc/pci: Add ppc_md.discover_phbs()")
> moved the boot-time calls later, after slab setup, meaning there's no
> longer any need for zalloc_maybe_bootmem(), kzalloc() can be used in all
> cases.
> 
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

Reviewed-by: Christophe Leroy <christophe.leroy at csgroup.eu>

> ---
>   arch/powerpc/include/asm/setup.h |  1 -
>   arch/powerpc/kernel/pci-common.c |  2 +-
>   arch/powerpc/lib/Makefile        |  2 +-
>   arch/powerpc/lib/alloc.c         | 23 -----------------------
>   arch/powerpc/sysdev/fsl_pci.c    |  2 +-
>   5 files changed, 3 insertions(+), 27 deletions(-)
>   delete mode 100644 arch/powerpc/lib/alloc.c
> 
> diff --git a/arch/powerpc/include/asm/setup.h b/arch/powerpc/include/asm/setup.h
> index e29e83f8a89c..eed74c1fb832 100644
> --- a/arch/powerpc/include/asm/setup.h
> +++ b/arch/powerpc/include/asm/setup.h
> @@ -8,7 +8,6 @@
>   extern void ppc_printk_progress(char *s, unsigned short hex);
>   
>   extern unsigned long long memory_limit;
> -extern void *zalloc_maybe_bootmem(size_t size, gfp_t mask);
>   
>   struct device_node;
>   
> diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
> index e88d7c9feeec..040255ddb569 100644
> --- a/arch/powerpc/kernel/pci-common.c
> +++ b/arch/powerpc/kernel/pci-common.c
> @@ -125,7 +125,7 @@ struct pci_controller *pcibios_alloc_controller(struct device_node *dev)
>   {
>   	struct pci_controller *phb;
>   
> -	phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL);
> +	phb = kzalloc(sizeof(struct pci_controller), GFP_KERNEL);
>   	if (phb == NULL)
>   		return NULL;
>   
> diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile
> index 9aa8286c9687..51ad0397c17a 100644
> --- a/arch/powerpc/lib/Makefile
> +++ b/arch/powerpc/lib/Makefile
> @@ -27,7 +27,7 @@ endif
>   CFLAGS_code-patching.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
>   CFLAGS_feature-fixups.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
>   
> -obj-y += alloc.o code-patching.o feature-fixups.o pmem.o
> +obj-y += code-patching.o feature-fixups.o pmem.o
>   
>   obj-$(CONFIG_CODE_PATCHING_SELFTEST) += test-code-patching.o
>   
> diff --git a/arch/powerpc/lib/alloc.c b/arch/powerpc/lib/alloc.c
> deleted file mode 100644
> index ce180870bd52..000000000000
> --- a/arch/powerpc/lib/alloc.c
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0
> -#include <linux/types.h>
> -#include <linux/init.h>
> -#include <linux/slab.h>
> -#include <linux/memblock.h>
> -#include <linux/string.h>
> -#include <asm/setup.h>
> -
> -
> -void * __ref zalloc_maybe_bootmem(size_t size, gfp_t mask)
> -{
> -	void *p;
> -
> -	if (slab_is_available())
> -		p = kzalloc(size, mask);
> -	else {
> -		p = memblock_alloc(size, SMP_CACHE_BYTES);
> -		if (!p)
> -			panic("%s: Failed to allocate %zu bytes\n", __func__,
> -			      size);
> -	}
> -	return p;
> -}
> diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
> index 5f7219df35ef..3868483fbe29 100644
> --- a/arch/powerpc/sysdev/fsl_pci.c
> +++ b/arch/powerpc/sysdev/fsl_pci.c
> @@ -767,7 +767,7 @@ static int __init mpc83xx_pcie_setup(struct pci_controller *hose,
>   	u32 cfg_bar;
>   	int ret = -ENOMEM;
>   
> -	pcie = zalloc_maybe_bootmem(sizeof(*pcie), GFP_KERNEL);
> +	pcie = kzalloc(sizeof(*pcie), GFP_KERNEL);
>   	if (!pcie)
>   		return ret;
>   


More information about the Linuxppc-dev mailing list