kernel_optimize_test/drivers/platform/x86
Hitoshi Mitake 797a796a13 asm-generic: architecture independent readq/writeq for 32bit environment
This provides unified readq()/writeq() helper functions for 32-bit
drivers.

For some cases, readq/writeq without atomicity is harmful, and order of
io access has to be specified explicitly.  So in this patch, new two
header files which contain non-atomic readq/writeq are added.

 - <asm-generic/io-64-nonatomic-lo-hi.h> provides non-atomic readq/
   writeq with the order of lower address -> higher address

 - <asm-generic/io-64-nonatomic-hi-lo.h> provides non-atomic readq/
   writeq with reversed order

This allows us to remove some readq()s that were added drivers when the
default non-atomic ones were removed in commit dbee8a0aff ("x86:
remove 32-bit versions of readq()/writeq()")

The drivers which need readq/writeq but can do with the non-atomic ones
must add the line:

  #include <asm-generic/io-64-nonatomic-lo-hi.h> /* or hi-lo.h */

But this will be nop in 64-bit environments, and no other #ifdefs are
required.  So I believe that this patch can solve the problem of
 1. driver-specific readq/writeq
 2. atomicity and order of io access

This patch is tested with building allyesconfig and allmodconfig as
ARCH=x86 and ARCH=i386 on top of tip/master.

Cc: Kashyap Desai <Kashyap.Desai@lsi.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Ravi Anand <ravi.anand@qlogic.com>
Cc: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Jason Uhlenkott <juhlenko@akamai.com>
Cc: James Bottomley <James.Bottomley@parallels.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Roland Dreier <roland@purestorage.com>
Cc: James Bottomley <jbottomley@parallels.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-02-21 16:47:28 -08:00
..
acer-wmi.c
acerhdf.c
asus_acpi.c switch procfs to umode_t use 2012-01-03 22:54:56 -05:00
asus-laptop.c switch ->is_visible() to returning umode_t 2012-01-03 22:54:55 -05:00
asus-nb-wmi.c
asus-wmi.c switch ->is_visible() to returning umode_t 2012-01-03 22:54:55 -05:00
asus-wmi.h
classmate-laptop.c
compal-laptop.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
dell-laptop.c platform/x86: fix dell-laptop function prototypes 2011-11-17 10:29:02 -02:00
dell-wmi-aio.c
dell-wmi.c
eeepc-laptop.c
eeepc-wmi.c
fujitsu-laptop.c
hdaps.c
hp_accel.c Merge branch 'akpm' (Andrew's incoming) 2011-10-31 17:46:07 -07:00
hp-wmi.c
ibm_rtl.c asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
ideapad-laptop.c switch ->is_visible() to returning umode_t 2012-01-03 22:54:55 -05:00
intel_ips.c asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
intel_ips.h
intel_menlow.c switch sysfs attr->mode to umode_t 2012-01-03 22:54:55 -05:00
intel_mid_powerbtn.c
intel_mid_thermal.c
intel_oaktrail.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
intel_pmic_gpio.c
intel_rar_register.c
intel_scu_ipc.c driver-core: remove sysdev.h usage. 2011-12-21 16:26:03 -08:00
intel_scu_ipcutil.c
Kconfig x86/intel/scu/ipc: Match the changes in the x86 configuration 2011-12-18 09:16:07 +01:00
Makefile
msi-laptop.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
msi-wmi.c
mxm-wmi.c
panasonic-laptop.c
samsung-laptop.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
samsung-q10.c
sony-laptop.c
tc1100-wmi.c
thinkpad_acpi.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
topstar-laptop.c
toshiba_acpi.c toshiba_acpi: Fix machines that don't support HCI_SYSTEM_EVENT 2011-12-05 13:07:28 -05:00
toshiba_bluetooth.c
wmi.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
xo1-rfkill.c
xo15-ebook.c