]> pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[PATCH] libata: convert ATAPI_ENABLE_DMADIR to module parameter
authorAlbert Lee <albertcc@tw.ibm.com>
Tue, 4 Apr 2006 02:57:18 +0000 (10:57 +0800)
committerJeff Garzik <jeff@garzik.org>
Tue, 4 Apr 2006 12:44:24 +0000 (08:44 -0400)
Convert the ATAPI_ENABLE_DMADIR compile time option needed
by some SATA-PATA bridge to runtime module parameter.

Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/scsi/libata-core.c
drivers/scsi/libata-scsi.c
drivers/scsi/libata.h
include/linux/libata.h

index 966be3034bf02ae243b76d41340f7e4898c5f45f..3387fe35c54f4f1620caf6acfbdb83a8de59a3ef 100644 (file)
@@ -76,6 +76,10 @@ int atapi_enabled = 1;
 module_param(atapi_enabled, int, 0444);
 MODULE_PARM_DESC(atapi_enabled, "Enable discovery of ATAPI devices (0=off, 1=on)");
 
+int atapi_dmadir = 0;
+module_param(atapi_dmadir, int, 0444);
+MODULE_PARM_DESC(atapi_dmadir, "Enable ATAPI DMADIR bridge support (0=off, 1=on)");
+
 int libata_fua = 0;
 module_param_named(fua, libata_fua, int, 0444);
 MODULE_PARM_DESC(fua, "FUA support (0=off, 1=on)");
index 745fc263feebedb6a623d58b7f1aa0627955807d..c9c001490293ead278b2eb802091cb6e5c59785a 100644 (file)
@@ -2163,11 +2163,9 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, const u8 *scsicmd)
                qc->tf.protocol = ATA_PROT_ATAPI_DMA;
                qc->tf.feature |= ATAPI_PKT_DMA;
 
-#ifdef ATAPI_ENABLE_DMADIR
-               /* some SATA bridges need us to indicate data xfer direction */
-               if (cmd->sc_data_direction != DMA_TO_DEVICE)
+               if (atapi_dmadir && (cmd->sc_data_direction != DMA_TO_DEVICE))
+                       /* some SATA bridges need us to indicate data xfer direction */
                        qc->tf.feature |= ATAPI_DMADIR;
-#endif
        }
 
        qc->nbytes = cmd->bufflen;
index e3bd1ddb53878d516286288301d605199d398d39..652c08e3808e66bcc50ae03613d0b98691251e06 100644 (file)
@@ -41,6 +41,7 @@ struct ata_scsi_args {
 
 /* libata-core.c */
 extern int atapi_enabled;
+extern int atapi_dmadir;
 extern int libata_fua;
 extern struct ata_queued_cmd *ata_qc_new_init(struct ata_port *ap,
                                      struct ata_device *dev);
index 75bdee09c30766318ab96a62396d650b87122d97..03231cb6b406479fe8cfed6c46e4e4a3338b0a85 100644 (file)
@@ -44,7 +44,6 @@
 #undef ATA_NDEBUG              /* define to disable quick runtime checks */
 #undef ATA_ENABLE_PATA         /* define to enable PATA support in some
                                 * low-level drivers */
-#undef ATAPI_ENABLE_DMADIR     /* enables ATAPI DMADIR bridge support */
 
 
 /* note: prints function name for you */