Re: next: sh: mm/cache-sh4.c:250:51: error: too few arguments to function 'folio_flags'

From: Andrew Morton
Date: Thu Mar 28 2024 - 14:46:30 EST


On Thu, 28 Mar 2024 19:12:26 +0530 Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:

> While building sh defconfig with gcc-11 the following build warnings /
> errors noticed on Linux next-20240328 tag.
>
> sh:
> build:
> * gcc-11-shx3_defconfig - Failed
> * gcc-11-dreamcast_defconfig - Failed
> * gcc-11-defconfig - Failed
>
> Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
>
> Build error:
> ---------
> arch/sh/kernel/cpu/sh4/fpu.c:389:6: warning: no previous prototype for
> 'float_raise' [-Wmissing-prototypes]
> 389 | void float_raise(unsigned int flags)
> | ^~~~~~~~~~~
> arch/sh/kernel/cpu/sh4/fpu.c:394:5: warning: no previous prototype for
> 'float_rounding_mode' [-Wmissing-prototypes]
> 394 | int float_rounding_mode(void)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from include/linux/thread_info.h:27,
> from include/asm-generic/preempt.h:5,
> from ./arch/sh/include/generated/asm/preempt.h:1,
> from include/linux/preempt.h:79,
> from include/linux/spinlock.h:56,
> from include/linux/mmzone.h:8,
> from include/linux/gfp.h:7,
> from include/linux/mm.h:7,
> from arch/sh/mm/cache-sh4.c:14:
> arch/sh/mm/cache-sh4.c: In function 'sh4_flush_cache_page':
> arch/sh/mm/cache-sh4.c:250:51: error: too few arguments to function
> 'folio_flags'
> 250 | test_bit(PG_dcache_clean, folio_flags(folio)) &&
> | ^~~~~~~~~~~
>

Thanks.

--- a/arch/sh/mm/cache-sh4.c~sh-remove-use-of-pg_arch_1-on-individual-pages-fix
+++ a/arch/sh/mm/cache-sh4.c
@@ -247,7 +247,7 @@ static void sh4_flush_cache_page(void *a
* another ASID than the current one.
*/
map_coherent = (current_cpu_data.dcache.n_aliases &&
- test_bit(PG_dcache_clean, folio_flags(folio)) &&
+ test_bit(PG_dcache_clean, folio_flags(folio, 0)) &&
page_mapped(page));
if (map_coherent)
vaddr = kmap_coherent(page, address);
_