[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <cc6cfb2a-d1d4-3328-3f49-07f7cec09faf@roeck-us.net>
Date: Fri, 13 Jul 2018 18:12:43 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Logan Gunthorpe <logang@...tatee.com>
Cc: linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
linux-ntb@...glegroups.com, linux-crypto@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Arnd Bergmann <arnd@...db.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andy Shevchenko <andy.shevchenko@...il.com>,
Horia Geantă <horia.geanta@....com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Michael Ellerman <mpe@...erman.id.au>,
Suresh Warrier <warrier@...ux.vnet.ibm.com>,
Nicholas Piggin <npiggin@...il.com>
Subject: Re: [v18,3/7] iomap: introduce io{read|write}64_{lo_hi|hi_lo}
On 07/13/2018 05:20 PM, Logan Gunthorpe wrote:
>
>
> On 13/07/18 05:38 PM, Guenter Roeck wrote:
>> This patch causes a build failure in -next when building
>> ppc:corenet64_smp_defconfig.
>
> Thanks for the report. This 64bit IO stuff is a bit of a mess. It looks
> like your corner case arch and config was never covered by the kbuild
> robot which has run extensively on this patchset.
>
> Anyway, I think the fix is to put back the ioread64/write64 prototypes
> (even though they are only used in this one corner).
>
> Can you try it with the following patch to ensure it fixes things for you?
>
It does.
Guenter
> Logan
>
> --
>
> diff --git a/include/asm-generic/iomap.h b/include/asm-generic/iomap.h
> index 5a4af0199b32..9f11a79e0d7a 100644
> --- a/include/asm-generic/iomap.h
> +++ b/include/asm-generic/iomap.h
> @@ -32,6 +32,11 @@ extern unsigned int ioread16be(void __iomem *);
> extern unsigned int ioread32(void __iomem *);
> extern unsigned int ioread32be(void __iomem *);
>
> +#ifdef CONFIG_64BIT
> +extern u64 ioread64(void __iomem *);
> +extern u64 ioread64be(void __iomem *);
> +#endif
> +
> #ifdef readq
> #define ioread64_lo_hi ioread64_lo_hi
> #define ioread64_hi_lo ioread64_hi_lo
> @@ -49,6 +54,11 @@ extern void iowrite16be(u16, void __iomem *);
> extern void iowrite32(u32, void __iomem *);
> extern void iowrite32be(u32, void __iomem *);
>
> +#ifdef CONFIG_64BIT
> +extern void iowrite64(u64, void __iomem *);
> +extern void iowrite64be(u64, void __iomem *);
> +#endif
> +
> #ifdef writeq
> #define iowrite64_lo_hi iowrite64_lo_hi
> #define iowrite64_hi_lo iowrite64_hi_lo
>
Powered by blists - more mailing lists