]> git.baikalelectronics.ru Git - kernel.git/commit
x86/io: Make readq() / writeq() API consistent
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 30 Jun 2017 17:09:34 +0000 (20:09 +0300)
committerIngo Molnar <mingo@kernel.org>
Mon, 24 Jul 2017 09:18:21 +0000 (11:18 +0200)
commitb12c622f99c2826beae62b76eecd3c3490db1401
treea827659fc191cb3eb4f5747dc70429a3df922396
parent7dec555c4c45f5f0761efac07d7ae58f6c5fdcc3
x86/io: Make readq() / writeq() API consistent

Despite the following commit:

  93f8f1e0c297 ("x86: provide readq()/writeq() on 32-bit too, complete")

which says:

  ...Also, map all the APIs to the strongest ordering variant. It's way
  too easy to mess such details up in drivers and the difference between
  "memory" and "" constrained asm() constructs is in the noise range.

... we have for now only one user of this API (i.e. writeq_relaxed() in
drivers/hwtracing/intel_th/sth.c) on x86 and it does care about
"relaxed" part of it.

Moreover 32-bit support has been removed from that header, though appeared
later in specific headers that emphasizes its non-atomic context.

The rest should keep in mind a consistent picture of the __raw_IO() vs. IO()
vs. IO_relaxed() API.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Baolin Wang <baolin.wang@spreadtrum.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: intel-gfx@lists.freedesktop.org
Cc: linux-i2c@vger.kernel.org
Cc: wsa@the-dreams.de
Link: http://lkml.kernel.org/r/20170630170934.83028-6-andriy.shevchenko@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/io.h