Re: [PATCH v1 1/2] ACPI / boot: Correct address space of __acpi_map_table()

From: Andy Shevchenko
Date: Mon Jul 17 2017 - 05:57:20 EST


On Mon, Jul 17, 2017 at 12:49 PM, Hanjun Guo <guohanjun@xxxxxxxxxx> wrote:
> On 2017/7/8 23:50, Andy Shevchenko wrote:
>> Sparse complains about wrong address space used in __acpi_map_table()
>> and in __acpi_unmap_table().
>>
>> arch/x86/kernel/acpi/boot.c:127:29: warning: incorrect type in return expression (different address spaces)
>> arch/x86/kernel/acpi/boot.c:127:29: expected char *
>> arch/x86/kernel/acpi/boot.c:127:29: got void [noderef] <asn:2>*
>> arch/x86/kernel/acpi/boot.c:135:23: warning: incorrect type in argument 1 (different address spaces)
>> arch/x86/kernel/acpi/boot.c:135:23: expected void [noderef] <asn:2>*addr
>> arch/x86/kernel/acpi/boot.c:135:23: got char *map
>>
>> Correct address space to be in align of type of returned and passed
>> parameter.

>> -char * __acpi_map_table (unsigned long phys_addr, unsigned long size);
>> -void __acpi_unmap_table(char *map, unsigned long size);
>> +void __iomem *__acpi_map_table(unsigned long phys_addr, unsigned long size);
>> +void __acpi_unmap_table(void __iomem *map, unsigned long size);
>
> This breaks ACPI compile on ARM64 as ARM64 has its definition for those
> two functions,

Oops, missed that, sorry.

> I see patches in linux-next already, should I add a patch on top
> to fix it, or this patch should be respined?

Whatever Rafael prefers. I'm fine with either.
I have more patches against that c-file, perhaps better to respin.

--
With Best Regards,
Andy Shevchenko