* Re: [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() [not found] ` <20170717102404.27191-3-andriy.shevchenko@linux.intel.com> @ 2017-07-18 9:03 ` Geert Uytterhoeven 2017-07-18 9:23 ` Andy Shevchenko 0 siblings, 1 reply; 5+ messages in thread From: Geert Uytterhoeven @ 2017-07-18 9:03 UTC (permalink / raw) To: Andy Shevchenko Cc: Rafael J . Wysocki, Linux PM list, Thomas Gleixner, Ingo Molnar, H . Peter Anvin, the arch/x86 maintainers, linux-kernel@vger.kernel.org, Hanjun Guo, ACPI Devel Maling List Hi Andy, On Mon, Jul 17, 2017 at 12:24 PM, Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > arch/arm64/kernel/acpi.c | 4 ++-- Thanks for the update! I can confirm this fixes the arm64 build for me. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() 2017-07-18 9:03 ` [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() Geert Uytterhoeven @ 2017-07-18 9:23 ` Andy Shevchenko 2017-07-18 9:55 ` Hanjun Guo 0 siblings, 1 reply; 5+ messages in thread From: Andy Shevchenko @ 2017-07-18 9:23 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Rafael J . Wysocki, Linux PM list, Thomas Gleixner, Ingo Molnar, H . Peter Anvin, the arch/x86 maintainers, linux-kernel@vger.kernel.org, Hanjun Guo, ACPI Devel Maling List On Tue, 2017-07-18 at 11:03 +0200, Geert Uytterhoeven wrote: > Hi Andy, > > On Mon, Jul 17, 2017 at 12:24 PM, Andy Shevchenko > <andriy.shevchenko@linux.intel.com> 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. > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > --- > > arch/arm64/kernel/acpi.c | 4 ++-- > > Thanks for the update! > I can confirm this fixes the arm64 build for me. Thanks to you and thanks to kbuild bot to check for ia64! I will send v3 soon with fixed this part and extended patch 5. -- Andy Shevchenko <andriy.shevchenko@linux.intel.com> Intel Finland Oy ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() 2017-07-18 9:23 ` Andy Shevchenko @ 2017-07-18 9:55 ` Hanjun Guo 0 siblings, 0 replies; 5+ messages in thread From: Hanjun Guo @ 2017-07-18 9:55 UTC (permalink / raw) To: Andy Shevchenko, Geert Uytterhoeven Cc: Rafael J . Wysocki, Linux PM list, Thomas Gleixner, Ingo Molnar, H . Peter Anvin, the arch/x86 maintainers, linux-kernel@vger.kernel.org, ACPI Devel Maling List On 2017/7/18 17:23, Andy Shevchenko wrote: > On Tue, 2017-07-18 at 11:03 +0200, Geert Uytterhoeven wrote: >> Hi Andy, >> >> On Mon, Jul 17, 2017 at 12:24 PM, Andy Shevchenko >> <andriy.shevchenko@linux.intel.com> 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. >>> >>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> >>> --- >>> arch/arm64/kernel/acpi.c | 4 ++-- >> Thanks for the update! >> I can confirm this fixes the arm64 build for me. > Thanks to you and thanks to kbuild bot to check for ia64! > > I will send v3 soon with fixed this part and extended patch 5. Ah, sorry, there are some delays when I got this email..., forget about my comments on patch 5. Thanks Hanjun ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Resend, PATCH v2 0/5] ACPI / boot: Few amendments @ 2017-07-17 13:29 Andy Shevchenko 2017-07-17 13:29 ` [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() Andy Shevchenko 0 siblings, 1 reply; 5+ messages in thread From: Andy Shevchenko @ 2017-07-17 13:29 UTC (permalink / raw) To: Rafael J . Wysocki, linux-pm, Thomas Gleixner, Ingo Molnar, H . Peter Anvin, x86, linux-kernel, Hanjun Guo, linux-acpi Cc: Andy Shevchenko This series does few amendments to architectural ACPI code related to boot, in particularly to arch/x86/kernel/acpi/boot.c. First two patches are amendments to satisfy compiler and static analyzer (the order is changed from first version which had been applied; in case of partial update first patch is already in tree). Third patch might be useful on platforms when debugging *PIC related code path to see how many legacy IRQs are registered. Fourth and fifth patches are preparation for some interesting implementation of ACPI HW reduced platforms (note, this does not mean it's against specification, patch 5 actually about following specification). Fifth patch might be subject to additional discussions. In v2: - fix function declarations in ia64 and arm64 as well (Hanjun) - add three more patches Andy Shevchenko (5): ACPI / boot: Don't define unused variables ACPI / boot: Correct address space of __acpi_map_table() ACPI / boot: Add number of legacy IRQs to debug output ACPI / boot: Not all platform require acpi_reduced_hw_init() ACPI / boot: Don't handle SCI on HW reduced platforms arch/arm64/kernel/acpi.c | 4 ++-- arch/ia64/kernel/acpi.c | 4 ++-- arch/x86/kernel/acpi/boot.c | 15 +++++++++------ include/linux/acpi.h | 7 +++++-- 4 files changed, 18 insertions(+), 12 deletions(-) -- 2.11.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() 2017-07-17 13:29 [Resend, PATCH v2 0/5] ACPI / boot: Few amendments Andy Shevchenko @ 2017-07-17 13:29 ` Andy Shevchenko 2017-07-18 9:48 ` Hanjun Guo 0 siblings, 1 reply; 5+ messages in thread From: Andy Shevchenko @ 2017-07-17 13:29 UTC (permalink / raw) To: Rafael J . Wysocki, linux-pm, Thomas Gleixner, Ingo Molnar, H . Peter Anvin, x86, linux-kernel, Hanjun Guo, linux-acpi Cc: Andy Shevchenko 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. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- arch/arm64/kernel/acpi.c | 4 ++-- arch/ia64/kernel/acpi.c | 4 ++-- arch/x86/kernel/acpi/boot.c | 4 ++-- include/linux/acpi.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c index e25c11e727fe..b3162715ed78 100644 --- a/arch/arm64/kernel/acpi.c +++ b/arch/arm64/kernel/acpi.c @@ -95,7 +95,7 @@ static int __init dt_scan_depth1_nodes(unsigned long node, * __acpi_map_table() will be called before page_init(), so early_ioremap() * or early_memremap() should be called here to for ACPI table mapping. */ -char *__init __acpi_map_table(unsigned long phys, unsigned long size) +void __init __iomem *__acpi_map_table(unsigned long phys, unsigned long size) { if (!size) return NULL; @@ -103,7 +103,7 @@ char *__init __acpi_map_table(unsigned long phys, unsigned long size) return early_memremap(phys, size); } -void __init __acpi_unmap_table(char *map, unsigned long size) +void __init __acpi_unmap_table(void __iomem *map, unsigned long size) { if (!map || !size) return; diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 7508c306aa9e..b9388cc283bc 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c @@ -159,12 +159,12 @@ int acpi_request_vector(u32 int_type) return vector; } -char *__init __acpi_map_table(unsigned long phys_addr, unsigned long size) +void __init __iomem *__acpi_map_table(unsigned long phys, unsigned long size) { return __va(phys_addr); } -void __init __acpi_unmap_table(char *map, unsigned long size) +void __init __acpi_unmap_table(void __iomem *map, unsigned long size) { } diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 09ddb3cd627a..6d5b1346268a 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c @@ -118,7 +118,7 @@ static u32 isa_irq_to_gsi[NR_IRQS_LEGACY] __read_mostly = { * This is just a simple wrapper around early_ioremap(), * with sanity checks for phys == 0 and size == 0. */ -char *__init __acpi_map_table(unsigned long phys, unsigned long size) +void __init __iomem *__acpi_map_table(unsigned long phys, unsigned long size) { if (!phys || !size) @@ -127,7 +127,7 @@ char *__init __acpi_map_table(unsigned long phys, unsigned long size) return early_ioremap(phys, size); } -void __init __acpi_unmap_table(char *map, unsigned long size) +void __init __acpi_unmap_table(void __iomem *map, unsigned long size) { if (!map || !size) return; diff --git a/include/linux/acpi.h b/include/linux/acpi.h index c749eef1daa1..3848b56fcd83 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -228,8 +228,8 @@ struct acpi_subtable_proc { int count; }; -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); int early_acpi_boot_init(void); int acpi_boot_init (void); void acpi_boot_table_init (void); -- 2.11.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() 2017-07-17 13:29 ` [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() Andy Shevchenko @ 2017-07-18 9:48 ` Hanjun Guo 0 siblings, 0 replies; 5+ messages in thread From: Hanjun Guo @ 2017-07-18 9:48 UTC (permalink / raw) To: Andy Shevchenko, Rafael J . Wysocki, linux-pm, Thomas Gleixner, Ingo Molnar, H . Peter Anvin, x86, linux-kernel, linux-acpi On 2017/7/17 21:29, 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. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > arch/arm64/kernel/acpi.c | 4 ++-- > arch/ia64/kernel/acpi.c | 4 ++-- > arch/x86/kernel/acpi/boot.c | 4 ++-- > include/linux/acpi.h | 4 ++-- > 4 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c > index e25c11e727fe..b3162715ed78 100644 > --- a/arch/arm64/kernel/acpi.c > +++ b/arch/arm64/kernel/acpi.c > @@ -95,7 +95,7 @@ static int __init dt_scan_depth1_nodes(unsigned long node, > * __acpi_map_table() will be called before page_init(), so early_ioremap() > * or early_memremap() should be called here to for ACPI table mapping. > */ > -char *__init __acpi_map_table(unsigned long phys, unsigned long size) > +void __init __iomem *__acpi_map_table(unsigned long phys, unsigned long size) > { > if (!size) > return NULL; > @@ -103,7 +103,7 @@ char *__init __acpi_map_table(unsigned long phys, unsigned long size) > return early_memremap(phys, size); > } > > -void __init __acpi_unmap_table(char *map, unsigned long size) > +void __init __acpi_unmap_table(void __iomem *map, unsigned long size) > { > if (!map || !size) > return; > diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c > index 7508c306aa9e..b9388cc283bc 100644 > --- a/arch/ia64/kernel/acpi.c > +++ b/arch/ia64/kernel/acpi.c > @@ -159,12 +159,12 @@ int acpi_request_vector(u32 int_type) > return vector; > } > > -char *__init __acpi_map_table(unsigned long phys_addr, unsigned long size) > +void __init __iomem *__acpi_map_table(unsigned long phys, unsigned long size) > { > return __va(phys_addr); > } > > -void __init __acpi_unmap_table(char *map, unsigned long size) > +void __init __acpi_unmap_table(void __iomem *map, unsigned long size) > { > } > > diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c > index 09ddb3cd627a..6d5b1346268a 100644 > --- a/arch/x86/kernel/acpi/boot.c > +++ b/arch/x86/kernel/acpi/boot.c > @@ -118,7 +118,7 @@ static u32 isa_irq_to_gsi[NR_IRQS_LEGACY] __read_mostly = { > * This is just a simple wrapper around early_ioremap(), > * with sanity checks for phys == 0 and size == 0. > */ > -char *__init __acpi_map_table(unsigned long phys, unsigned long size) > +void __init __iomem *__acpi_map_table(unsigned long phys, unsigned long size) > { > > if (!phys || !size) > @@ -127,7 +127,7 @@ char *__init __acpi_map_table(unsigned long phys, unsigned long size) > return early_ioremap(phys, size); > } > > -void __init __acpi_unmap_table(char *map, unsigned long size) > +void __init __acpi_unmap_table(void __iomem *map, unsigned long size) > { > if (!map || !size) > return; > diff --git a/include/linux/acpi.h b/include/linux/acpi.h > index c749eef1daa1..3848b56fcd83 100644 > --- a/include/linux/acpi.h > +++ b/include/linux/acpi.h > @@ -228,8 +228,8 @@ struct acpi_subtable_proc { > int count; > }; > > -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); > int early_acpi_boot_init(void); > int acpi_boot_init (void); > void acpi_boot_table_init (void); Thanks for the update, Reviewed-by: Hanjun Guo <guohanjun@huawei.com> Thanks Hanjun ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-07-18 9:55 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20170717102404.27191-1-andriy.shevchenko@linux.intel.com>
[not found] ` <20170717102404.27191-3-andriy.shevchenko@linux.intel.com>
2017-07-18 9:03 ` [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() Geert Uytterhoeven
2017-07-18 9:23 ` Andy Shevchenko
2017-07-18 9:55 ` Hanjun Guo
2017-07-17 13:29 [Resend, PATCH v2 0/5] ACPI / boot: Few amendments Andy Shevchenko
2017-07-17 13:29 ` [PATCH v2 2/5] ACPI / boot: Correct address space of __acpi_map_table() Andy Shevchenko
2017-07-18 9:48 ` Hanjun Guo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).