diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-02-02 13:56:31 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-02-02 13:56:31 -0500 |
commit | c413b9b94d9a8e7548cc4b2e04b7df0439ce76fd (patch) | |
tree | 5d23110a0d1f87ad0c88fb1746194e532808eaab /include | |
parent | 1ebf74936b1fccb5b65940f99ccddd74ec4d1fef (diff) |
ide: add struct ide_port_info instances to legacy host drivers
* Remove 'struct pci_dev *dev' argument from ide_hwif_setup_dma().
* Un-static ide_hwif_setup_dma() and add CONFIG_BLK_DEV_IDEDMA_PCI=n version.
* Add 'const struct ide_port_info *d' argument to ide_device_add[_all]().
* Factor out generic ports init from ide_pci_setup_ports() to ide_init_port(),
move it to ide-probe.c and call it in in ide_device_add_all() instead of
ide_pci_setup_ports().
* Move ->mate setup to ide_device_add_all() from ide_port_init().
* Add IDE_HFLAG_NO_AUTOTUNE host flag for host drivers that don't enable
->autotune currently.
* Setup hwif->chipset in ide_init_port() but iff pi->chipset is set
(to not override setup done by ide_hwif_configure()).
* Add ETRAX host handling to ide_device_add_all().
* cmd640.c: set IDE_HFLAG_ABUSE_* also for CONFIG_BLK_DEV_CMD640_ENHANCED=n.
* pmac.c: make pmac_ide_setup_dma() return an error value and move DMA masks
setup to pmac_ide_setup_device().
* Add 'struct ide_port_info' instances to legacy host drivers, pass them to
ide_device_add() calls and then remove open-coded ports initialization.
Reviewed-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ide.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index ec10b2a3bb6e..508f7e435cc4 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1016,6 +1016,13 @@ extern int __ide_pci_register_driver(struct pci_driver *driver, struct module *o | |||
1016 | void ide_pci_setup_ports(struct pci_dev *, const struct ide_port_info *, int, u8 *); | 1016 | void ide_pci_setup_ports(struct pci_dev *, const struct ide_port_info *, int, u8 *); |
1017 | void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *); | 1017 | void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *); |
1018 | 1018 | ||
1019 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI | ||
1020 | void ide_hwif_setup_dma(ide_hwif_t *, const struct ide_port_info *); | ||
1021 | #else | ||
1022 | static inline void ide_hwif_setup_dma(ide_hwif_t *hwif, | ||
1023 | const struct ide_port_info *d) { } | ||
1024 | #endif | ||
1025 | |||
1019 | extern void default_hwif_iops(ide_hwif_t *); | 1026 | extern void default_hwif_iops(ide_hwif_t *); |
1020 | extern void default_hwif_mmiops(ide_hwif_t *); | 1027 | extern void default_hwif_mmiops(ide_hwif_t *); |
1021 | extern void default_hwif_transport(ide_hwif_t *); | 1028 | extern void default_hwif_transport(ide_hwif_t *); |
@@ -1089,6 +1096,8 @@ enum { | |||
1089 | IDE_HFLAG_CLEAR_SIMPLEX = (1 << 28), | 1096 | IDE_HFLAG_CLEAR_SIMPLEX = (1 << 28), |
1090 | /* DSC overlap is unsupported */ | 1097 | /* DSC overlap is unsupported */ |
1091 | IDE_HFLAG_NO_DSC = (1 << 29), | 1098 | IDE_HFLAG_NO_DSC = (1 << 29), |
1099 | /* don't autotune PIO */ | ||
1100 | IDE_HFLAG_NO_AUTOTUNE = (1 << 30), | ||
1092 | }; | 1101 | }; |
1093 | 1102 | ||
1094 | #ifdef CONFIG_BLK_DEV_OFFBOARD | 1103 | #ifdef CONFIG_BLK_DEV_OFFBOARD |
@@ -1201,8 +1210,8 @@ void ide_unregister_region(struct gendisk *); | |||
1201 | 1210 | ||
1202 | void ide_undecoded_slave(ide_drive_t *); | 1211 | void ide_undecoded_slave(ide_drive_t *); |
1203 | 1212 | ||
1204 | int ide_device_add_all(u8 *idx); | 1213 | int ide_device_add_all(u8 *idx, const struct ide_port_info *); |
1205 | int ide_device_add(u8 idx[4]); | 1214 | int ide_device_add(u8 idx[4], const struct ide_port_info *); |
1206 | 1215 | ||
1207 | static inline void *ide_get_hwifdata (ide_hwif_t * hwif) | 1216 | static inline void *ide_get_hwifdata (ide_hwif_t * hwif) |
1208 | { | 1217 | { |