Hi Chao and Boris, On Tue, Nov 13, 2018 at 10:12:18AM +0800, Chao Fan wrote: > On Mon, Nov 12, 2018 at 12:43:44PM -0500, Masayoshi Mizuma wrote: > >How about the following get_acpi_rsdp()...? It doesn't use kstrtoull(). > > > >static void get_acpi_rsdp(acpi_physical_address *rsdp_addr) > >{ > >#ifdef CONFIG_KEXEC > > unsigned long addr; > > char val[32]; > > > > if (cmdline_find_option("acpi_rsdp", val, sizeof(val)) > 0) { > > char *e; > > > > if (!strncmp(val, "0x", 2)) { > > addr = simple_strtoull(val + 2, &e, 16); > > if ((addr == 0) || ((val + 2) == e)) > > return; > > *rsdp_addr = (acpi_physical_address)addr; > > } > > } > >#endif > >} > > Thanks for the suggestion. > I used this function. In the old version, Boris said simple_strtoull() > is the old function and told me use the new kstrtoull(). I think it's not very good idea to use kstrtoull() in arch/x86/boot/compressed/* because some tricks are needed to use the function, looks like Chao is trying... It is the simple way here to use simple_strtoull() defined in arch/x86/boot/boot.h, I think. I know checkpatch.pl says an warning about simple_strtoull(), however, I believe the warning is for simple_strtoull() defined in lib/vsprintf.c. Thanks, Masa