[PATCH v3 14/17] x86, nvdimm, kexec: Use walk_iomem_res_desc() for iomem search

Dave Young dyoung at redhat.com
Thu Jan 7 04:39:30 PST 2016


On 01/05/16 at 11:54am, Toshi Kani wrote:
> Change the callers of walk_iomem_res() with the following names
> to use walk_iomem_res(), instead.
> 
>  "ACPI Tables"
>  "ACPI Non-volatile Storage"
>  "Persistent Memory (legacy)"
>  "Crash kernel"
> 
> Note, the caller of walk_iomem_res() with "GART" will be removed
> in a later patch.
> 
> Cc: Borislav Petkov <bp at alien8.de>
> Cc: Dan Williams <dan.j.williams at intel.com>
> Cc: Dave Young <dyoung at redhat.com>
> Cc: Minfei Huang <mhuang at redhat.com>
> Cc: x86 at kernel.org
> Cc: linux-nvdimm at lists.01.org
> Cc: kexec at lists.infradead.org
> Signed-off-by: Toshi Kani <toshi.kani at hpe.com>
> ---
>  arch/x86/kernel/crash.c |    4 ++--
>  arch/x86/kernel/pmem.c  |    4 ++--
>  drivers/nvdimm/e820.c   |    2 +-
>  kernel/kexec_file.c     |    8 ++++----
>  4 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
> index 2c1910f..082373b 100644
> --- a/arch/x86/kernel/crash.c
> +++ b/arch/x86/kernel/crash.c
> @@ -588,12 +588,12 @@ int crash_setup_memmap_entries(struct kimage *image, struct boot_params *params)
>  	/* Add ACPI tables */
>  	cmd.type = E820_ACPI;
>  	flags = IORESOURCE_MEM | IORESOURCE_BUSY;
> -	walk_iomem_res("ACPI Tables", flags, 0, -1, &cmd,
> +	walk_iomem_res_desc(IORES_DESC_ACPI_TABLES, flags, 0, -1, &cmd,
>  		       memmap_entry_callback);
>  
>  	/* Add ACPI Non-volatile Storage */
>  	cmd.type = E820_NVS;
> -	walk_iomem_res("ACPI Non-volatile Storage", flags, 0, -1, &cmd,
> +	walk_iomem_res_desc(IORES_DESC_ACPI_NV_STORAGE, flags, 0, -1, &cmd,
>  			memmap_entry_callback);
>  
>  	/* Add crashk_low_res region */
> diff --git a/arch/x86/kernel/pmem.c b/arch/x86/kernel/pmem.c
> index 14415af..92f7014 100644
> --- a/arch/x86/kernel/pmem.c
> +++ b/arch/x86/kernel/pmem.c
> @@ -13,11 +13,11 @@ static int found(u64 start, u64 end, void *data)
>  
>  static __init int register_e820_pmem(void)
>  {
> -	char *pmem = "Persistent Memory (legacy)";
>  	struct platform_device *pdev;
>  	int rc;
>  
> -	rc = walk_iomem_res(pmem, IORESOURCE_MEM, 0, -1, NULL, found);
> +	rc = walk_iomem_res_desc(IORES_DESC_PERSISTENT_MEMORY_LEGACY,
> +				 IORESOURCE_MEM, 0, -1, NULL, found);
>  	if (rc <= 0)
>  		return 0;
>  
> diff --git a/drivers/nvdimm/e820.c b/drivers/nvdimm/e820.c
> index b0045a5..95825b3 100644
> --- a/drivers/nvdimm/e820.c
> +++ b/drivers/nvdimm/e820.c
> @@ -55,7 +55,7 @@ static int e820_pmem_probe(struct platform_device *pdev)
>  	for (p = iomem_resource.child; p ; p = p->sibling) {
>  		struct nd_region_desc ndr_desc;
>  
> -		if (strncmp(p->name, "Persistent Memory (legacy)", 26) != 0)
> +		if (p->desc != IORES_DESC_PERSISTENT_MEMORY_LEGACY)
>  			continue;
>  
>  		memset(&ndr_desc, 0, sizeof(ndr_desc));
> diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
> index c245085..6e31cea 100644
> --- a/kernel/kexec_file.c
> +++ b/kernel/kexec_file.c
> @@ -522,10 +522,10 @@ int kexec_add_buffer(struct kimage *image, char *buffer, unsigned long bufsz,
>  
>  	/* Walk the RAM ranges and allocate a suitable range for the buffer */
>  	if (image->type == KEXEC_TYPE_CRASH)
> -		ret = walk_iomem_res("Crash kernel",
> -				     IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY,
> -				     crashk_res.start, crashk_res.end, kbuf,
> -				     locate_mem_hole_callback);
> +		ret = walk_iomem_res_desc(crashk_res.desc,
> +				IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY,
> +				crashk_res.start, crashk_res.end, kbuf,
> +				locate_mem_hole_callback);
>  	else
>  		ret = walk_system_ram_res(0, -1, kbuf,
>  					  locate_mem_hole_callback);

Reviewed-by: Dave Young <dyoung at redhat.com>

Thanks
Dave



More information about the kexec mailing list