diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-11-14 14:14:16 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-11-14 14:14:16 -0500 |
commit | 2c13b7cee045af689b36349c2bc6a9ed6e3d73fa (patch) | |
tree | 594a061fa9b9c1fa03bfe01c9177cc016e1bb1a4 /include/linux/libata.h | |
parent | e1410f2d951d45aee3bdbcc05ecedaaa9db276e5 (diff) |
[libata] minor fixes, new helpers
- in ata_dev_identify(), don't assume that all devices are either
ATA or ATAPI. In the future, this code will see port multipliers
and other devices.
- make a debugging printk less verbose
- add new helper ata_qc_reinit()
- add new helper BPRINTK() and port flag ATA_FLAG_DEBUGMSG, for
fine-grained debugging use.
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index ad5996183ec2..f2dbb684ce9e 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -59,6 +59,8 @@ | |||
59 | #define VPRINTK(fmt, args...) | 59 | #define VPRINTK(fmt, args...) |
60 | #endif /* ATA_DEBUG */ | 60 | #endif /* ATA_DEBUG */ |
61 | 61 | ||
62 | #define BPRINTK(fmt, args...) if (ap->flags & ATA_FLAG_DEBUGMSG) printk(KERN_ERR "%s: " fmt, __FUNCTION__, ## args) | ||
63 | |||
62 | #ifdef ATA_NDEBUG | 64 | #ifdef ATA_NDEBUG |
63 | #define assert(expr) | 65 | #define assert(expr) |
64 | #else | 66 | #else |
@@ -119,6 +121,7 @@ enum { | |||
119 | ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */ | 121 | ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */ |
120 | ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once | 122 | ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once |
121 | * proper HSM is in place. */ | 123 | * proper HSM is in place. */ |
124 | ATA_FLAG_DEBUGMSG = (1 << 10), | ||
122 | 125 | ||
123 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ | 126 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ |
124 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ | 127 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ |
@@ -659,6 +662,17 @@ static inline void ata_tf_init(struct ata_port *ap, struct ata_taskfile *tf, uns | |||
659 | tf->device = ATA_DEVICE_OBS | ATA_DEV1; | 662 | tf->device = ATA_DEVICE_OBS | ATA_DEV1; |
660 | } | 663 | } |
661 | 664 | ||
665 | static inline void ata_qc_reinit(struct ata_queued_cmd *qc) | ||
666 | { | ||
667 | qc->__sg = NULL; | ||
668 | qc->flags = 0; | ||
669 | qc->cursect = qc->cursg = qc->cursg_ofs = 0; | ||
670 | qc->nsect = 0; | ||
671 | qc->nbytes = qc->curbytes = 0; | ||
672 | |||
673 | ata_tf_init(qc->ap, &qc->tf, qc->dev->devno); | ||
674 | } | ||
675 | |||
662 | 676 | ||
663 | /** | 677 | /** |
664 | * ata_irq_on - Enable interrupts on a port. | 678 | * ata_irq_on - Enable interrupts on a port. |