aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ide.h
diff options
context:
space:
mode:
authorSergei Shtylyov <sshtylyov@ru.mvista.com>2008-02-10 18:32:14 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-10 18:32:14 -0500
commit8e882ba111bb52fbb42c34a265afb97ddd4fcea1 (patch)
treeb7c61b68039f68a3924f6cc81a883753b241b259 /include/linux/ide.h
parent7b56a937a17d21a266dd0a24053f951f3a92e428 (diff)
ide: introduce CONFIG_BLK_DEV_IDEDMA_SFF option
Introduce new option CONFIG_BLK_DEV_IDEDMA_SFF for non-PCI SFF-8038i compatible bus mastering IDE controllers (which there are a few known), thus fixing a hack made for Palmchip BK3710 controller... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Anton Salnikov <asalnikov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r--include/linux/ide.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index acec99da832d..40a01c3592df 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -998,8 +998,7 @@ extern int __ide_pci_register_driver(struct pci_driver *driver, struct module *o
998void ide_pci_setup_ports(struct pci_dev *, const struct ide_port_info *, int, u8 *); 998void ide_pci_setup_ports(struct pci_dev *, const struct ide_port_info *, int, u8 *);
999void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *); 999void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *);
1000 1000
1001/* FIXME: palm_bk3710 uses BLK_DEV_IDEDMA_PCI without BLK_DEV_IDEPCI! */ 1001#ifdef CONFIG_BLK_DEV_IDEDMA_PCI
1002#if defined(CONFIG_BLK_DEV_IDEPCI) && defined(CONFIG_BLK_DEV_IDEDMA_PCI)
1003void ide_hwif_setup_dma(ide_hwif_t *, const struct ide_port_info *); 1002void ide_hwif_setup_dma(ide_hwif_t *, const struct ide_port_info *);
1004#else 1003#else
1005static inline void ide_hwif_setup_dma(ide_hwif_t *hwif, 1004static inline void ide_hwif_setup_dma(ide_hwif_t *hwif,
@@ -1146,7 +1145,7 @@ ide_startstop_t ide_dma_intr(ide_drive_t *);
1146int ide_build_sglist(ide_drive_t *, struct request *); 1145int ide_build_sglist(ide_drive_t *, struct request *);
1147void ide_destroy_dmatable(ide_drive_t *); 1146void ide_destroy_dmatable(ide_drive_t *);
1148 1147
1149#ifdef CONFIG_BLK_DEV_IDEDMA_PCI 1148#ifdef CONFIG_BLK_DEV_IDEDMA_SFF
1150extern int ide_build_dmatable(ide_drive_t *, struct request *); 1149extern int ide_build_dmatable(ide_drive_t *, struct request *);
1151extern int ide_release_dma(ide_hwif_t *); 1150extern int ide_release_dma(ide_hwif_t *);
1152extern void ide_setup_dma(ide_hwif_t *, unsigned long); 1151extern void ide_setup_dma(ide_hwif_t *, unsigned long);
@@ -1157,7 +1156,7 @@ extern void ide_dma_start(ide_drive_t *);
1157extern int __ide_dma_end(ide_drive_t *); 1156extern int __ide_dma_end(ide_drive_t *);
1158extern void ide_dma_lost_irq(ide_drive_t *); 1157extern void ide_dma_lost_irq(ide_drive_t *);
1159extern void ide_dma_timeout(ide_drive_t *); 1158extern void ide_dma_timeout(ide_drive_t *);
1160#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ 1159#endif /* CONFIG_BLK_DEV_IDEDMA_SFF */
1161 1160
1162#else 1161#else
1163static inline int ide_id_dma_bug(ide_drive_t *drive) { return 0; } 1162static inline int ide_id_dma_bug(ide_drive_t *drive) { return 0; }
@@ -1171,7 +1170,7 @@ static inline int ide_set_dma(ide_drive_t *drive) { return 1; }
1171static inline void ide_check_dma_crc(ide_drive_t *drive) { ; } 1170static inline void ide_check_dma_crc(ide_drive_t *drive) { ; }
1172#endif /* CONFIG_BLK_DEV_IDEDMA */ 1171#endif /* CONFIG_BLK_DEV_IDEDMA */
1173 1172
1174#ifndef CONFIG_BLK_DEV_IDEDMA_PCI 1173#ifndef CONFIG_BLK_DEV_IDEDMA_SFF
1175static inline void ide_release_dma(ide_hwif_t *drive) {;} 1174static inline void ide_release_dma(ide_hwif_t *drive) {;}
1176#endif 1175#endif
1177 1176