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

Commit ecf32796 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by Bartlomiej Zolnierkiewicz
Browse files

ide: ide_setup_dma() assumes 8 ports

According to http://marc.info/?l=linux-ide&m=114346138611631

, the drivers must
always register 8 DMA ports with ide_setup_dma(), so its last argument is not
needed. While at it, kill some useless parens in that function...

Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 4e5a68ae
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -889,19 +889,19 @@ static int ide_allocate_dma_engine(ide_hwif_t *hwif)
	return 1;
}

static int ide_mapped_mmio_dma(ide_hwif_t *hwif, unsigned long base, unsigned int ports)
static int ide_mapped_mmio_dma(ide_hwif_t *hwif, unsigned long base)
{
	printk(KERN_INFO "    %s: MMIO-DMA ", hwif->name);

	return 0;
}

static int ide_iomio_dma(ide_hwif_t *hwif, unsigned long base, unsigned int ports)
static int ide_iomio_dma(ide_hwif_t *hwif, unsigned long base)
{
	printk(KERN_INFO "    %s: BM-DMA at 0x%04lx-0x%04lx",
	       hwif->name, base, base + ports - 1);
	       hwif->name, base, base + 7);

	if (!request_region(base, ports, hwif->name)) {
	if (!request_region(base, 8, hwif->name)) {
		printk(" -- Error, ports in use.\n");
		return 1;
	}
@@ -913,7 +913,7 @@ static int ide_iomio_dma(ide_hwif_t *hwif, unsigned long base, unsigned int port
			if (!request_region(hwif->extra_base,
					    hwif->cds->extra, hwif->cds->name)) {
				printk(" -- Error, extra ports in use.\n");
				release_region(base, ports);
				release_region(base, 8);
				return 1;
			}
			hwif->extra_ports = hwif->cds->extra;
@@ -923,19 +923,19 @@ static int ide_iomio_dma(ide_hwif_t *hwif, unsigned long base, unsigned int port
	return 0;
}

static int ide_dma_iobase(ide_hwif_t *hwif, unsigned long base, unsigned int ports)
static int ide_dma_iobase(ide_hwif_t *hwif, unsigned long base)
{
	if (hwif->mmio)
		return ide_mapped_mmio_dma(hwif, base,ports);
		return ide_mapped_mmio_dma(hwif, base);

	return ide_iomio_dma(hwif, base, ports);
	return ide_iomio_dma(hwif, base);
}

void ide_setup_dma(ide_hwif_t *hwif, unsigned long base, unsigned num_ports)
void ide_setup_dma(ide_hwif_t *hwif, unsigned long base)
{
	u8 dma_stat;

	if (ide_dma_iobase(hwif, base, num_ports))
	if (ide_dma_iobase(hwif, base))
		return;

	if (ide_allocate_dma_engine(hwif)) {
@@ -945,16 +945,16 @@ void ide_setup_dma(ide_hwif_t *hwif, unsigned long base, unsigned num_ports)

	hwif->dma_base = base;

	if (!(hwif->dma_command))
		hwif->dma_command	= hwif->dma_base;
	if (!(hwif->dma_vendor1))
		hwif->dma_vendor1	= (hwif->dma_base + 1);
	if (!(hwif->dma_status))
		hwif->dma_status	= (hwif->dma_base + 2);
	if (!(hwif->dma_vendor3))
		hwif->dma_vendor3	= (hwif->dma_base + 3);
	if (!(hwif->dma_prdtable))
		hwif->dma_prdtable	= (hwif->dma_base + 4);
	if (!hwif->dma_command)
		hwif->dma_command	= hwif->dma_base + 0;
	if (!hwif->dma_vendor1)
		hwif->dma_vendor1	= hwif->dma_base + 1;
	if (!hwif->dma_status)
		hwif->dma_status	= hwif->dma_base + 2;
	if (!hwif->dma_vendor3)
		hwif->dma_vendor3	= hwif->dma_base + 3;
	if (!hwif->dma_prdtable)
		hwif->dma_prdtable	= hwif->dma_base + 4;

	if (!hwif->dma_host_set)
		hwif->dma_host_set = &ide_dma_host_set;
+1 −1
Original line number Diff line number Diff line
@@ -745,7 +745,7 @@ static void __devinit init_dma_ali15x3 (ide_hwif_t *hwif, unsigned long dmabase)
		return;
	if (!hwif->channel)
		outb(inb(dmabase + 2) & 0x60, dmabase + 2);
	ide_setup_dma(hwif, dmabase, 8);
	ide_setup_dma(hwif, dmabase);
}

static const struct ide_port_info ali15x3_chipset __devinitdata = {
+1 −1
Original line number Diff line number Diff line
@@ -1413,7 +1413,7 @@ static void __devinit init_dma_hpt366(ide_hwif_t *hwif, unsigned long dmabase)

	local_irq_restore(flags);

	ide_setup_dma(hwif, dmabase, 8);
	ide_setup_dma(hwif, dmabase);
}

static void __devinit hpt374_init(struct pci_dev *dev, struct pci_dev *dev2)
+2 −2
Original line number Diff line number Diff line
@@ -334,7 +334,7 @@ static void __devinit init_dma_pdc202xx(ide_hwif_t *hwif, unsigned long dmabase)
	u8 udma_speed_flag = 0, primary_mode = 0, secondary_mode = 0;

	if (hwif->channel) {
		ide_setup_dma(hwif, dmabase, 8);
		ide_setup_dma(hwif, dmabase);
		return;
	}

@@ -358,7 +358,7 @@ static void __devinit init_dma_pdc202xx(ide_hwif_t *hwif, unsigned long dmabase)
	}
#endif /* CONFIG_PDC202XX_BURST */

	ide_setup_dma(hwif, dmabase, 8);
	ide_setup_dma(hwif, dmabase);
}

static void __devinit pdc202ata4_fixup_irq(struct pci_dev *dev,
+1 −1
Original line number Diff line number Diff line
@@ -451,7 +451,7 @@ static void ide_hwif_setup_dma(struct pci_dev *dev, const struct ide_port_info *
			if (d->init_dma) {
				d->init_dma(hwif, dma_base);
			} else {
				ide_setup_dma(hwif, dma_base, 8);
				ide_setup_dma(hwif, dma_base);
			}
		} else {
			printk(KERN_INFO "%s: %s Bus-Master DMA disabled "
Loading