aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-01-24 03:05:22 -0500
committerJeff Garzik <jgarzik@pobox.com>2006-01-26 23:20:14 -0500
commitc19ba8af4f104cca28d548cac55c128b28dd31fb (patch)
tree2624b544c0f8294a712b3255695b1e178943255a /include
parentb4dc7623c1bb258b66418261dab40f0e4cfc6d42 (diff)
[PATCH] libata: new ->probe_reset operation
Add new ->probe_reset operation to ata_port_operations obsoleting ->phy_reset. The main difference from ->phy_reset is that the new operation is not allowed to manipulate libata internals directly. It's not allowed to configure or disable the port or devices. It can only succeed or fail and classify attached devices into passed @classes. This change gives more control to higher level and eases sharing reset methods with EH. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/libata.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 45646f6ebbf5..a84d1c3a5429 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -148,9 +148,9 @@ enum {
148 ATA_FLAG_PORT_DISABLED = (1 << 2), /* port is disabled, ignore it */ 148 ATA_FLAG_PORT_DISABLED = (1 << 2), /* port is disabled, ignore it */
149 ATA_FLAG_SATA = (1 << 3), 149 ATA_FLAG_SATA = (1 << 3),
150 ATA_FLAG_NO_LEGACY = (1 << 4), /* no legacy mode check */ 150 ATA_FLAG_NO_LEGACY = (1 << 4), /* no legacy mode check */
151 ATA_FLAG_SRST = (1 << 5), /* use ATA SRST, not E.D.D. */ 151 ATA_FLAG_SRST = (1 << 5), /* (obsolete) use ATA SRST, not E.D.D. */
152 ATA_FLAG_MMIO = (1 << 6), /* use MMIO, not PIO */ 152 ATA_FLAG_MMIO = (1 << 6), /* use MMIO, not PIO */
153 ATA_FLAG_SATA_RESET = (1 << 7), /* use COMRESET */ 153 ATA_FLAG_SATA_RESET = (1 << 7), /* (obsolete) use COMRESET */
154 ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */ 154 ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */
155 ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once 155 ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once
156 * proper HSM is in place. */ 156 * proper HSM is in place. */
@@ -419,7 +419,9 @@ struct ata_port_operations {
419 u8 (*check_altstatus)(struct ata_port *ap); 419 u8 (*check_altstatus)(struct ata_port *ap);
420 void (*dev_select)(struct ata_port *ap, unsigned int device); 420 void (*dev_select)(struct ata_port *ap, unsigned int device);
421 421
422 void (*phy_reset) (struct ata_port *ap); 422 void (*phy_reset) (struct ata_port *ap); /* obsolete */
423 int (*probe_reset) (struct ata_port *ap, unsigned int *classes);
424
423 void (*post_set_mode) (struct ata_port *ap); 425 void (*post_set_mode) (struct ata_port *ap);
424 426
425 int (*check_atapi_dma) (struct ata_queued_cmd *qc); 427 int (*check_atapi_dma) (struct ata_queued_cmd *qc);