Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7469aaf6 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

ide: make ide_hwif_t.ide_dma_{host_off,off_quietly} void (v2)



* since ide_hwif_t.ide_dma_{host_off,off_quietly} always return '0'
  make these functions void and while at it drop "ide_" prefix
* fix comment for __ide_dma_off_quietly()
* make __ide_dma_{host_off,off_quietly,off}() void and drop "__" prefix

v2:
* while at it rename atiixp_ide_dma_host_off() to atiixp_dma_host_off(),
  sgiioc4_ide_dma_{host_off,off_quietly}() to sgiioc4_dma_{host_off,off_quietly}()
  and sl82c105_ide_dma_off_quietly() to sl82c105_dma_off_quietly()
  [ Noticed by Sergei Shtylyov <sshtylyov@ru.mvista.com>. ]

Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 3608b5d7
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -307,15 +307,13 @@ static int icside_set_speed(ide_drive_t *drive, u8 xfer_mode)
	return on;
}

static int icside_dma_host_off(ide_drive_t *drive)
static void icside_dma_host_off(ide_drive_t *drive)
{
	return 0;
}

static int icside_dma_off_quietly(ide_drive_t *drive)
static void icside_dma_off_quietly(ide_drive_t *drive)
{
	drive->using_dma = 0;
	return icside_dma_host_off(drive);
}

static int icside_dma_host_on(ide_drive_t *drive)
@@ -494,8 +492,8 @@ static void icside_dma_init(ide_hwif_t *hwif)
	hwif->autodma		= autodma;

	hwif->ide_dma_check	= icside_dma_check;
	hwif->ide_dma_host_off	= icside_dma_host_off;
	hwif->ide_dma_off_quietly = icside_dma_off_quietly;
	hwif->dma_host_off	= icside_dma_host_off;
	hwif->dma_off_quietly	= icside_dma_off_quietly;
	hwif->ide_dma_host_on	= icside_dma_host_on;
	hwif->ide_dma_on	= icside_dma_on;
	hwif->dma_setup		= icside_dma_setup;
+6 −8
Original line number Diff line number Diff line
@@ -682,9 +682,12 @@ static void cris_ide_input_data (ide_drive_t *drive, void *, unsigned int);
static void cris_ide_output_data (ide_drive_t *drive, void *, unsigned int);
static void cris_atapi_input_bytes(ide_drive_t *drive, void *, unsigned int);
static void cris_atapi_output_bytes(ide_drive_t *drive, void *, unsigned int);
static int cris_dma_off (ide_drive_t *drive);
static int cris_dma_on (ide_drive_t *drive);

static void cris_dma_off(ide_drive_t *drive)
{
}

static void tune_cris_ide(ide_drive_t *drive, u8 pio)
{
	int setup, strobe, hold;
@@ -814,9 +817,9 @@ init_e100_ide (void)
		hwif->OUTBSYNC = &cris_ide_outbsync;
		hwif->INB = &cris_ide_inb;
		hwif->INW = &cris_ide_inw;
		hwif->ide_dma_host_off = &cris_dma_off;
		hwif->dma_host_off = &cris_dma_off;
		hwif->ide_dma_host_on = &cris_dma_on;
		hwif->ide_dma_off_quietly = &cris_dma_off;
		hwif->dma_off_quietly = &cris_dma_off;
		hwif->udma_four = 0;
		hwif->ultra_mask = cris_ultra_mask;
		hwif->mwdma_mask = 0x07; /* Multiword DMA 0-2 */
@@ -838,11 +841,6 @@ init_e100_ide (void)
	cris_ide_set_speed(TYPE_UDMA, ATA_UDMA2_CYC, ATA_UDMA2_DVS, 0);
}

static int cris_dma_off (ide_drive_t *drive)
{
	return 0;
}

static int cris_dma_on (ide_drive_t *drive)
{
	return 0;
+3 −3
Original line number Diff line number Diff line
@@ -1104,7 +1104,7 @@ static ide_startstop_t cdrom_read_intr (ide_drive_t *drive)
	if (dma) {
		info->dma = 0;
		if ((dma_error = HWIF(drive)->ide_dma_end(drive)))
			__ide_dma_off(drive);
			ide_dma_off(drive);
	}

	if (cdrom_decode_status(drive, 0, &stat))
@@ -1700,7 +1700,7 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive)
	if (dma) {
		if (dma_error) {
			printk(KERN_ERR "ide-cd: dma error\n");
			__ide_dma_off(drive);
			ide_dma_off(drive);
			return ide_error(drive, "dma error", stat);
		}

@@ -1826,7 +1826,7 @@ static ide_startstop_t cdrom_write_intr(ide_drive_t *drive)
		info->dma = 0;
		if ((dma_error = HWIF(drive)->ide_dma_end(drive))) {
			printk(KERN_ERR "ide-cd: write dma error\n");
			__ide_dma_off(drive);
			ide_dma_off(drive);
		}
	}

+18 −21
Original line number Diff line number Diff line
@@ -414,61 +414,57 @@ static int dma_timer_expiry (ide_drive_t *drive)
}

/**
 *	__ide_dma_host_off	-	Generic DMA kill
 *	ide_dma_host_off	-	Generic DMA kill
 *	@drive: drive to control
 *
 *	Perform the generic IDE controller DMA off operation. This
 *	works for most IDE bus mastering controllers
 */

int __ide_dma_host_off (ide_drive_t *drive)
void ide_dma_host_off(ide_drive_t *drive)
{
	ide_hwif_t *hwif	= HWIF(drive);
	u8 unit			= (drive->select.b.unit & 0x01);
	u8 dma_stat		= hwif->INB(hwif->dma_status);

	hwif->OUTB((dma_stat & ~(1<<(5+unit))), hwif->dma_status);
	return 0;
}

EXPORT_SYMBOL(__ide_dma_host_off);
EXPORT_SYMBOL(ide_dma_host_off);

/**
 *	__ide_dma_host_off_quietly	-	Generic DMA kill
 *	ide_dma_off_quietly	-	Generic DMA kill
 *	@drive: drive to control
 *
 *	Turn off the current DMA on this IDE controller. 
 */

int __ide_dma_off_quietly (ide_drive_t *drive)
void ide_dma_off_quietly(ide_drive_t *drive)
{
	drive->using_dma = 0;
	ide_toggle_bounce(drive, 0);

	if (HWIF(drive)->ide_dma_host_off(drive))
		return 1;

	return 0;
	drive->hwif->dma_host_off(drive);
}

EXPORT_SYMBOL(__ide_dma_off_quietly);
EXPORT_SYMBOL(ide_dma_off_quietly);
#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */

/**
 *	__ide_dma_off	-	disable DMA on a device
 *	ide_dma_off	-	disable DMA on a device
 *	@drive: drive to disable DMA on
 *
 *	Disable IDE DMA for a device on this IDE controller.
 *	Inform the user that DMA has been disabled.
 */

int __ide_dma_off (ide_drive_t *drive)
void ide_dma_off(ide_drive_t *drive)
{
	printk(KERN_INFO "%s: DMA disabled\n", drive->name);
	return HWIF(drive)->ide_dma_off_quietly(drive);
	drive->hwif->dma_off_quietly(drive);
}

EXPORT_SYMBOL(__ide_dma_off);
EXPORT_SYMBOL(ide_dma_off);

#ifdef CONFIG_BLK_DEV_IDEDMA_PCI
/**
@@ -758,7 +754,7 @@ void ide_dma_verbose(ide_drive_t *drive)
	return;
bug_dma_off:
	printk(", BUG DMA OFF");
	hwif->ide_dma_off_quietly(drive);
	hwif->dma_off_quietly(drive);
	return;
}

@@ -773,7 +769,8 @@ int ide_set_dma(ide_drive_t *drive)

	switch(rc) {
	case -1: /* DMA needs to be disabled */
		return hwif->ide_dma_off_quietly(drive);
		hwif->dma_off_quietly(drive);
		return 0;
	case  0: /* DMA needs to be enabled */
		return hwif->ide_dma_on(drive);
	case  1: /* DMA setting cannot be changed */
@@ -937,10 +934,10 @@ void ide_setup_dma (ide_hwif_t *hwif, unsigned long dma_base, unsigned int num_p
	if (!(hwif->dma_prdtable))
		hwif->dma_prdtable	= (hwif->dma_base + 4);

	if (!hwif->ide_dma_off_quietly)
		hwif->ide_dma_off_quietly = &__ide_dma_off_quietly;
	if (!hwif->ide_dma_host_off)
		hwif->ide_dma_host_off = &__ide_dma_host_off;
	if (!hwif->dma_off_quietly)
		hwif->dma_off_quietly = &ide_dma_off_quietly;
	if (!hwif->dma_host_off)
		hwif->dma_host_off = &ide_dma_host_off;
	if (!hwif->ide_dma_on)
		hwif->ide_dma_on = &__ide_dma_on;
	if (!hwif->ide_dma_host_on)
+4 −4
Original line number Diff line number Diff line
@@ -867,7 +867,7 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
	if (test_and_clear_bit(PC_DMA_IN_PROGRESS, &pc->flags)) {
		printk(KERN_ERR "ide-floppy: The floppy wants to issue "
			"more interrupts in DMA mode\n");
		(void)__ide_dma_off(drive);
		ide_dma_off(drive);
		return ide_do_reset(drive);
	}

@@ -1097,9 +1097,9 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *p
	pc->current_position = pc->buffer;
	bcount.all = min(pc->request_transfer, 63 * 1024);

	if (test_and_clear_bit(PC_DMA_ERROR, &pc->flags)) {
		(void)__ide_dma_off(drive);
	}
	if (test_and_clear_bit(PC_DMA_ERROR, &pc->flags))
		ide_dma_off(drive);

	feature.all = 0;

	if (test_bit(PC_DMA_RECOMMENDED, &pc->flags) && drive->using_dma)
Loading