[libata] allow ATAPI to be enabled with new atapi_enabled module option
ATAPI is getting close to being ready. To increase exposure, we enable the code in the upstream kernel, but default it to off (present behavior). Users must pass atapi_enabled=1 as a module option (if module) or on the kernel command line (if built in) to turn on discovery of their ATAPI devices.
This commit is contained in:
parent
1fdab81e67
commit
1623c81eec
|
@ -75,6 +75,10 @@ static void __ata_qc_complete(struct ata_queued_cmd *qc);
|
|||
static unsigned int ata_unique_id = 1;
|
||||
static struct workqueue_struct *ata_wq;
|
||||
|
||||
int atapi_enabled = 0;
|
||||
module_param(atapi_enabled, int, 0444);
|
||||
MODULE_PARM_DESC(atapi_enabled, "Enable discovery of ATAPI devices (0=off, 1=on)");
|
||||
|
||||
MODULE_AUTHOR("Jeff Garzik");
|
||||
MODULE_DESCRIPTION("Library module for ATA devices");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
@ -1470,10 +1470,10 @@ ata_scsi_find_dev(struct ata_port *ap, struct scsi_device *scsidev)
|
|||
if (unlikely(!ata_dev_present(dev)))
|
||||
return NULL;
|
||||
|
||||
#ifndef ATA_ENABLE_ATAPI
|
||||
if (unlikely(dev->class == ATA_DEV_ATAPI))
|
||||
return NULL;
|
||||
#endif
|
||||
if (atapi_enabled) {
|
||||
if (unlikely(dev->class == ATA_DEV_ATAPI))
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ struct ata_scsi_args {
|
|||
};
|
||||
|
||||
/* libata-core.c */
|
||||
extern int atapi_enabled;
|
||||
extern struct ata_queued_cmd *ata_qc_new_init(struct ata_port *ap,
|
||||
struct ata_device *dev);
|
||||
extern void ata_qc_free(struct ata_queued_cmd *qc);
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
#undef ATA_VERBOSE_DEBUG /* yet more debugging output */
|
||||
#undef ATA_IRQ_TRAP /* define to ack screaming irqs */
|
||||
#undef ATA_NDEBUG /* define to disable quick runtime checks */
|
||||
#undef ATA_ENABLE_ATAPI /* define to enable ATAPI support */
|
||||
#undef ATA_ENABLE_PATA /* define to enable PATA support in some
|
||||
* low-level drivers */
|
||||
#undef ATAPI_ENABLE_DMADIR /* enables ATAPI DMADIR bridge support */
|
||||
|
|
Loading…
Reference in a new issue