linux/drivers/scsi/qla4xxx
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
..
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-10-28 16:44:18 -07:00
Makefile [SCSI] qla4xxx: add bsg support 2011-08-27 08:36:22 -06:00
ql4_attr.c [SCSI] qla4xxx: Added vendor specific sysfs attributes 2011-08-27 08:36:34 -06:00
ql4_bsg.c [SCSI] qla4xxx: Added Get ACB support using BSG 2011-08-27 08:36:44 -06:00
ql4_bsg.h [SCSI] qla4xxx: Added Get ACB support using BSG 2011-08-27 08:36:44 -06:00
ql4_dbg.c [SCSI] qla4xxx: Fix qla4xxx_dump_buffer to dump buffer correctly 2011-12-15 10:57:42 +04:00
ql4_dbg.h [SCSI] qla4xxx: Updated the Copyright header 2010-12-21 12:24:43 -06:00
ql4_def.h [SCSI] qla4xxx: Added error logging for firmware abort 2012-01-16 12:32:58 +04:00
ql4_fw.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
ql4_glbl.h [SCSI] qla4xxx: fix flash/ddb support 2011-12-14 15:40:43 +04:00
ql4_init.c [SCSI] qla4xxx: Clear the RISC interrupt bit during FW init 2012-01-16 12:33:24 +04:00
ql4_inline.h [SCSI] qla4xxx: Updated the Copyright header 2010-12-21 12:24:43 -06:00
ql4_iocb.c [SCSI] qla4xxx: Fixed target discovery failed issue. 2011-10-16 11:11:22 -05:00
ql4_isr.c [SCSI] qla4xxx: Perform context resets in case of context failures. 2011-12-15 10:57:41 +04:00
ql4_mbx.c [SCSI] qla4xxx: Disable generating pause frames in case of FW hung 2012-01-16 12:32:08 +04:00
ql4_nvram.c [SCSI] qla4xxx: Boot from SAN support for open-iscsi 2011-08-27 08:36:27 -06:00
ql4_nvram.h Fix common misspellings 2011-03-31 11:26:23 -03:00
ql4_nx.c asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
ql4_nx.h [SCSI] qla4xxx: Disable generating pause frames in case of FW hung 2012-01-16 12:32:08 +04:00
ql4_os.c [SCSI] qla4xxx: Cleanup modinfo display 2012-01-16 12:35:22 +04:00
ql4_version.h [SCSI] qla4xxx: Update driver version to 5.02.00-k12 2012-01-16 12:36:13 +04:00