Re: [PATCH v2 1/2] mips: add <asm-generic/io.h> including

Arnd Bergmann
2023-03-02T07:13:15Z

On Thu, Mar 2, 2023, at 05:12, Baoquan He wrote:
> On 03/01/23 at 03:06pm, Arnd Bergmann wrote:
>
> Yeah, defining mmiowb() to wmb() directly is also good to me. I tried
> to comb including sequence and find where asm/io.h is included, but
> failed. Mainly asm/mmiowb.h including asm/io.h will cause below
> compiling error, the asm/io.h need see mmiowb_set_pending which is
> defnined in asm-generic/mmiowb.h. Moving asm-generic/mmiowb.h to above
> asm/io.h can also fix the compiling error.
>
> =============
> diff --git a/arch/mips/include/asm/mmiowb.h b/arch/mips/include/asm/mmiowb.h
> index a40824e3ef8e..cae2745935bc 100644
> --- a/arch/mips/include/asm/mmiowb.h
> +++ b/arch/mips/include/asm/mmiowb.h
> @@ -2,10 +2,8 @@
> #ifndef _ASM_MMIOWB_H
> #define _ASM_MMIOWB_H
>
> +#include <asm-generic/mmiowb.h>
> #include <asm/io.h>
>
> #define mmiowb() iobarrier_w()
> -
> -#include <asm-generic/mmiowb.h>
> -
> #endif /* _ASM_MMIOWB_H */

According to the comment in asm-generic/mmiowb.h, the intention is
to have the mmiowb definition before the #include, though this would
only be necessary if there was an "#ifndef mmiowb" fallback in that
file. If the definition to wmb() works, I'd go for that one and
leave the include order unchanged.

Arnd