* Patch by Pierre Aubert, 24 Nov 2003:
  - add a return value for the fpga command
  - add ide_preinit() function called in ide_init if CONFIG_IDE_PREINIT
    is defined. If ide_preinit fails, ide_init is aborted.
  - fix an endianess problem in fat.h
diff --git a/include/ata.h b/include/ata.h
index 968b3c4..fa30ee8 100644
--- a/include/ata.h
+++ b/include/ata.h
@@ -37,10 +37,13 @@
  * 8-bit (register) and 16-bit (data) accesses might use different
  * address spaces. This is implemented by the following definitions.
  */
+#ifndef CFG_ATA_STRIDE
+#define CFG_ATA_STRIDE	1
+#endif
 
-#define ATA_IO_DATA(x)	(CFG_ATA_DATA_OFFSET+(x))
-#define ATA_IO_REG(x)	(CFG_ATA_REG_OFFSET +(x))
-#define ATA_IO_ALT(x)	(CFG_ATA_ALT_OFFSET +(x))
+#define ATA_IO_DATA(x)	(CFG_ATA_DATA_OFFSET+((x) * CFG_ATA_STRIDE))
+#define ATA_IO_REG(x)	(CFG_ATA_REG_OFFSET +((x) * CFG_ATA_STRIDE))
+#define ATA_IO_ALT(x)	(CFG_ATA_ALT_OFFSET +((x) * CFG_ATA_STRIDE))
 
 /*
  * I/O Register Descriptions