Re: [PATCH v2] x86/io: Define readq()/writeq() to use 64-bit type

From: Thomas Gleixner
Date: Mon May 14 2018 - 03:13:03 EST


On Sun, 13 May 2018, Andy Shevchenko wrote:
> On Sun, May 13, 2018 at 9:09 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> > On Thu, 3 May 2018, Andy Shevchenko wrote:
> >> #ifdef CONFIG_X86_64
> >>
> >> -build_mmio_read(readq, "q", unsigned long, "=r", :"memory")
> >> -build_mmio_read(__readq, "q", unsigned long, "=r", )
> >> -build_mmio_write(writeq, "q", unsigned long, "r", :"memory")
> >> -build_mmio_write(__writeq, "q", unsigned long, "r", )
> >> +build_mmio_read(readq, "q", unsigned long long, "=r", :"memory")
> >> +build_mmio_read(__readq, "q", unsigned long long, "=r", )
> >> +build_mmio_write(writeq, "q", unsigned long long, "r", :"memory")
> >> +build_mmio_write(__writeq, "q", unsigned long long, "r", )
> >
> > What's wrong with u64 which we use for expressing io access to a 64bit wide
> > resource?
>
> Same answer as per v1, i.e. I would like to be consistent with other
> types in this file (unsigned int for readl() and similar for the
> rest).
> If we would need them, we might change at once for all accessors.

I don;t think we need to fixup everything in one go. Having the patch which
addresses the issue at hand first using u64 makes a lot of sense on its own.

Changing the other instances can be done as a follow up patch. Having
explicit with types for such kind of accessors makes a lot of sense.

Thanks,

tglx