[PATCH] cacheflush.h: Add forward declaration for struct folio

From: Herbert Xu
Date: Tue Mar 22 2022 - 23:35:26 EST


On Tue, Mar 22, 2022 at 06:13:27AM -0700, Guenter Roeck wrote:
> On Wed, Mar 09, 2022 at 03:20:01PM +1200, Herbert Xu wrote:
> > This patch turns the new SHA driver into a tristate and also allows
> > compile testing.
> >
> > Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
>
> This results in:
>
> Building s390:allmodconfig ... failed
> --------------
> Error log:
> In file included from drivers/crypto/xilinx/zynqmp-sha.c:6:
> include/linux/cacheflush.h:12:46: error: 'struct folio' declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
> 12 | static inline void flush_dcache_folio(struct folio *folio)

This should be fixed in cacheflush.h:

---8<---
The struct folio is not declared in cacheflush.h so we need to
provide a forward declaration as otherwise users of this header
file may get warnings.

Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Fixes: 522a0032af00 ("Add linux/cacheflush.h")
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

diff --git a/include/linux/cacheflush.h b/include/linux/cacheflush.h
index fef8b607f97e..a6189d21f2ba 100644
--- a/include/linux/cacheflush.h
+++ b/include/linux/cacheflush.h
@@ -4,6 +4,8 @@

#include <asm/cacheflush.h>

+struct folio;
+
#if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
#ifndef ARCH_IMPLEMENTS_FLUSH_DCACHE_FOLIO
void flush_dcache_folio(struct folio *folio);
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt