diff options
Diffstat (limited to 'include/linux/ide.h')
| -rw-r--r-- | include/linux/ide.h | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index b846bc44a27e..87c12ed96954 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
| @@ -219,18 +219,7 @@ static inline int __ide_default_irq(unsigned long base) | |||
| 219 | #include <asm-generic/ide_iops.h> | 219 | #include <asm-generic/ide_iops.h> |
| 220 | #endif | 220 | #endif |
| 221 | 221 | ||
| 222 | #ifndef MAX_HWIFS | 222 | #define MAX_HWIFS 10 |
| 223 | #if defined(CONFIG_BLACKFIN) || defined(CONFIG_H8300) || defined(CONFIG_XTENSA) | ||
| 224 | # define MAX_HWIFS 1 | ||
| 225 | #else | ||
| 226 | # define MAX_HWIFS 10 | ||
| 227 | #endif | ||
| 228 | #endif | ||
| 229 | |||
| 230 | #if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED) | ||
| 231 | #undef MAX_HWIFS | ||
| 232 | #define MAX_HWIFS CONFIG_IDE_MAX_HWIFS | ||
| 233 | #endif | ||
| 234 | 223 | ||
| 235 | /* Currently only m68k, apus and m8xx need it */ | 224 | /* Currently only m68k, apus and m8xx need it */ |
| 236 | #ifndef IDE_ARCH_ACK_INTR | 225 | #ifndef IDE_ARCH_ACK_INTR |
| @@ -509,24 +498,33 @@ struct ide_tp_ops { | |||
| 509 | 498 | ||
| 510 | extern const struct ide_tp_ops default_tp_ops; | 499 | extern const struct ide_tp_ops default_tp_ops; |
| 511 | 500 | ||
| 501 | /** | ||
| 502 | * struct ide_port_ops - IDE port operations | ||
| 503 | * | ||
| 504 | * @init_dev: host specific initialization of a device | ||
| 505 | * @set_pio_mode: routine to program host for PIO mode | ||
| 506 | * @set_dma_mode: routine to program host for DMA mode | ||
| 507 | * @selectproc: tweaks hardware to select drive | ||
| 508 | * @reset_poll: chipset polling based on hba specifics | ||
| 509 | * @pre_reset: chipset specific changes to default for device-hba resets | ||
| 510 | * @resetproc: routine to reset controller after a disk reset | ||
| 511 | * @maskproc: special host masking for drive selection | ||
| 512 | * @quirkproc: check host's drive quirk list | ||
| 513 | * | ||
| 514 | * @mdma_filter: filter MDMA modes | ||
| 515 | * @udma_filter: filter UDMA modes | ||
| 516 | * | ||
| 517 | * @cable_detect: detect cable type | ||
| 518 | */ | ||
| 512 | struct ide_port_ops { | 519 | struct ide_port_ops { |
| 513 | /* host specific initialization of a device */ | ||
| 514 | void (*init_dev)(ide_drive_t *); | 520 | void (*init_dev)(ide_drive_t *); |
| 515 | /* routine to program host for PIO mode */ | ||
| 516 | void (*set_pio_mode)(ide_drive_t *, const u8); | 521 | void (*set_pio_mode)(ide_drive_t *, const u8); |
| 517 | /* routine to program host for DMA mode */ | ||
| 518 | void (*set_dma_mode)(ide_drive_t *, const u8); | 522 | void (*set_dma_mode)(ide_drive_t *, const u8); |
| 519 | /* tweaks hardware to select drive */ | ||
| 520 | void (*selectproc)(ide_drive_t *); | 523 | void (*selectproc)(ide_drive_t *); |
| 521 | /* chipset polling based on hba specifics */ | ||
| 522 | int (*reset_poll)(ide_drive_t *); | 524 | int (*reset_poll)(ide_drive_t *); |
| 523 | /* chipset specific changes to default for device-hba resets */ | ||
| 524 | void (*pre_reset)(ide_drive_t *); | 525 | void (*pre_reset)(ide_drive_t *); |
| 525 | /* routine to reset controller after a disk reset */ | ||
| 526 | void (*resetproc)(ide_drive_t *); | 526 | void (*resetproc)(ide_drive_t *); |
| 527 | /* special host masking for drive selection */ | ||
| 528 | void (*maskproc)(ide_drive_t *, int); | 527 | void (*maskproc)(ide_drive_t *, int); |
| 529 | /* check host's drive quirk list */ | ||
| 530 | void (*quirkproc)(ide_drive_t *); | 528 | void (*quirkproc)(ide_drive_t *); |
| 531 | 529 | ||
| 532 | u8 (*mdma_filter)(ide_drive_t *); | 530 | u8 (*mdma_filter)(ide_drive_t *); |
