Re: [PATCH, RESEND] parisc: io: Improve the outb(), outw() and outl() macros

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/6/22 18:29, Bart Van Assche wrote:
> This patch fixes the following build error for source file
> drivers/scsi/pcmcia/sym53c500_cs.c:
>
> In file included from ./include/linux/bug.h:5,
>                  from ./include/linux/cpumask.h:14,
>                  from ./include/linux/mm_types_task.h:14,
>                  from ./include/linux/mm_types.h:5,
>                  from ./include/linux/buildid.h:5,
>                  from ./include/linux/module.h:14,
>                  from drivers/scsi/pcmcia/sym53c500_cs.c:42:
> drivers/scsi/pcmcia/sym53c500_cs.c: In function ‘SYM53C500_intr’:
> ./arch/parisc/include/asm/bug.h:28:2: error: expected expression before ‘do’
>    28 |  do {        \
>       |  ^~
> ./arch/parisc/include/asm/io.h:276:20: note: in expansion of macro ‘BUG’
>   276 | #define outb(x, y) BUG()
>       |                    ^~~
> drivers/scsi/pcmcia/sym53c500_cs.c:124:19: note: in expansion of macro ‘outb’
>   124 | #define REG0(x)  (outb(C4_IMG, (x) + CONFIG4))
>       |                   ^~~~
> drivers/scsi/pcmcia/sym53c500_cs.c:362:2: note: in expansion of macro ‘REG0’
>   362 |  REG0(port_base);
>       |  ^~~~
>
> Cc: James E.J. Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
> Cc: Helge Deller <deller@xxxxxx>
> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Cc: linux-parisc@xxxxxxxxxxxxxxx
> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>

applied to parisc-next tree.
Thanks!
Helge



> ---
>  arch/parisc/include/asm/io.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/parisc/include/asm/io.h b/arch/parisc/include/asm/io.h
> index 0b5259102319..837ddddbac6a 100644
> --- a/arch/parisc/include/asm/io.h
> +++ b/arch/parisc/include/asm/io.h
> @@ -273,9 +273,9 @@ static inline int inl(unsigned long addr)
>  	return -1;
>  }
>
> -#define outb(x, y)	BUG()
> -#define outw(x, y)	BUG()
> -#define outl(x, y)	BUG()
> +#define outb(x, y)	({(void)(x); (void)(y); BUG(); 0;})
> +#define outw(x, y)	({(void)(x); (void)(y); BUG(); 0;})
> +#define outl(x, y)	({(void)(x); (void)(y); BUG(); 0;})
>  #endif
>
>  /*
>





[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux