|
@@ -509,24 +509,33 @@ struct ide_tp_ops {
|
|
|
|
|
|
extern const struct ide_tp_ops default_tp_ops;
|
|
|
|
|
|
+/**
|
|
|
+ * struct ide_port_ops - IDE port operations
|
|
|
+ *
|
|
|
+ * @init_dev: host specific initialization of a device
|
|
|
+ * @set_pio_mode: routine to program host for PIO mode
|
|
|
+ * @set_dma_mode: routine to program host for DMA mode
|
|
|
+ * @selectproc: tweaks hardware to select drive
|
|
|
+ * @reset_poll: chipset polling based on hba specifics
|
|
|
+ * @pre_reset: chipset specific changes to default for device-hba resets
|
|
|
+ * @resetproc: routine to reset controller after a disk reset
|
|
|
+ * @maskproc: special host masking for drive selection
|
|
|
+ * @quirkproc: check host's drive quirk list
|
|
|
+ *
|
|
|
+ * @mdma_filter: filter MDMA modes
|
|
|
+ * @udma_filter: filter UDMA modes
|
|
|
+ *
|
|
|
+ * @cable_detect: detect cable type
|
|
|
+ */
|
|
|
struct ide_port_ops {
|
|
|
- /* host specific initialization of a device */
|
|
|
void (*init_dev)(ide_drive_t *);
|
|
|
- /* routine to program host for PIO mode */
|
|
|
void (*set_pio_mode)(ide_drive_t *, const u8);
|
|
|
- /* routine to program host for DMA mode */
|
|
|
void (*set_dma_mode)(ide_drive_t *, const u8);
|
|
|
- /* tweaks hardware to select drive */
|
|
|
void (*selectproc)(ide_drive_t *);
|
|
|
- /* chipset polling based on hba specifics */
|
|
|
int (*reset_poll)(ide_drive_t *);
|
|
|
- /* chipset specific changes to default for device-hba resets */
|
|
|
void (*pre_reset)(ide_drive_t *);
|
|
|
- /* routine to reset controller after a disk reset */
|
|
|
void (*resetproc)(ide_drive_t *);
|
|
|
- /* special host masking for drive selection */
|
|
|
void (*maskproc)(ide_drive_t *, int);
|
|
|
- /* check host's drive quirk list */
|
|
|
void (*quirkproc)(ide_drive_t *);
|
|
|
|
|
|
u8 (*mdma_filter)(ide_drive_t *);
|