On Monday, July 4, 2016 5:09:40 PM CEST Daniel Axtens wrote:
> diff --git a/arch/powerpc/kernel/io.c b/arch/powerpc/kernel/io.c
> index 2a2b4aeab80f..3f70b7dccee8 100644
> --- a/arch/powerpc/kernel/io.c
> +++ b/arch/powerpc/kernel/io.c
> @@ -37,7 +37,7 @@ void _insb(const volatile u8 __iomem *port, void *buf, long 
> count)
>               return;
>       asm volatile("sync");
>       do {
> -             tmp = *port;
> +             tmp = *(u8 __force *)port;
>               eieio();
>               *tbuf++ = tmp;
>       } while (--count != 0);

Here the "volatile" is actually meaningful, you should keep it and
just add "__force" in addition.

> @@ -47,13 +47,13 @@ EXPORT_SYMBOL(_insb);
>  
>  void _outsb(volatile u8 __iomem *port, const void *buf, long count)
>  {
> -     const u8 *tbuf = buf;
> +     const u8 __force *tbuf = buf;
>  
>       if (unlikely(count <= 0))
>               return;
>       asm volatile("sync");
>       do {
> -             *port = *tbuf++;
> +             *(volatile u8 __force *)port = *tbuf++;
>       } while (--count != 0);
>       asm volatile("sync");
>  }

like you correctly do here.

> @@ -68,7 +68,7 @@ void _insw_ns(const volatile u16 __iomem *port, void *buf, 
> long count)
>               return;
>       asm volatile("sync");
>       do {
> -             tmp = *port;
> +             tmp = *(u16 __force *)port;
>               eieio();
>               *tbuf++ = tmp;
>       } while (--count != 0);

+volatile

> @@ -99,7 +99,7 @@ void _insl_ns(const volatile u32 __iomem *port, void *buf, 
> long count)
>               return;
>       asm volatile("sync");
>       do {
> -             tmp = *port;
> +             tmp = *(u32 __force *)port;
>               eieio();
>               *tbuf++ = tmp;
>       } while (--count != 0);

+volatile


        Arnd
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to