summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/ide/ide-iops.c7
-rw-r--r--drivers/ide/ide.c4
-rw-r--r--drivers/ide/setup-pci.c3
-rw-r--r--include/linux/ide.h3
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