diff options
| -rw-r--r-- | drivers/ide/ide-iops.c | 7 | ||||
| -rw-r--r-- | drivers/ide/ide.c | 4 | ||||
| -rw-r--r-- | drivers/ide/setup-pci.c | 3 | ||||
| -rw-r--r-- | include/linux/ide.h | 3 |
4 files changed, 14 insertions, 3 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index 0e5c935d82cc..1755d50714f6 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c @@ -1125,16 +1125,17 @@ static ide_startstop_t reset_pollfunc (ide_drive_t *drive) return ide_stopped; } -void check_dma_crc (ide_drive_t *drive) +static void check_dma_crc(ide_drive_t *drive) { +#ifdef CONFIG_BLK_DEV_IDEDMA if (drive->crc_count) { (void) HWIF(drive)->ide_dma_off_quietly(drive); ide_set_xfer_rate(drive, ide_auto_reduce_xfer(drive)); if (drive->current_speed >= XFER_SW_DMA_0) (void) HWIF(drive)->ide_dma_on(drive); - } else { + } else (void)__ide_dma_off(drive); - } +#endif } void pre_reset (ide_drive_t *drive) diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index c16afef3fc5b..5a6212380db7 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -1320,6 +1320,7 @@ static int set_io_32bit(ide_drive_t *drive, int arg) static int set_using_dma (ide_drive_t *drive, int arg) { +#ifdef CONFIG_BLK_DEV_IDEDMA if (!drive->id || !(drive->id->capability & 1)) return -EPERM; if (HWIF(drive)->ide_dma_check == NULL) @@ -1332,6 +1333,9 @@ static int set_using_dma (ide_drive_t *drive, int arg) return -EIO; } return 0; +#else + return -EPERM; +#endif } static int set_pio_mode (ide_drive_t *drive, int arg) diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c index a2ff75859e45..ed5c9c4b5ce6 100644 --- a/drivers/ide/setup-pci.c +++ b/drivers/ide/setup-pci.c @@ -150,6 +150,8 @@ static int ide_setup_pci_baseregs (struct pci_dev *dev, const char *name) return 0; } +#ifdef CONFIG_BLK_DEV_IDEDMA_PCI + #ifdef CONFIG_BLK_DEV_IDEDMA_FORCED /* * Long lost data from 2.0.34 that is now in 2.0.39 @@ -279,6 +281,7 @@ second_chance_to_dma: } return dma_base; } +#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ void ide_setup_pci_noise (struct pci_dev *dev, ide_pci_device_t *d) { diff --git a/include/linux/ide.h b/include/linux/ide.h index 92c7daf0a896..f7c97c9b0b8f 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -1626,6 +1626,9 @@ extern ide_startstop_t __ide_dma_queued_read(ide_drive_t *drive); extern ide_startstop_t __ide_dma_queued_write(ide_drive_t *drive); extern ide_startstop_t __ide_dma_queued_start(ide_drive_t *drive); #endif + +#else +static inline int __ide_dma_off(ide_drive_t *drive) { return 0; } #endif /* CONFIG_BLK_DEV_IDEDMA */ #ifndef CONFIG_BLK_DEV_IDEDMA_PCI |
