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

Commit cb8ea092 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

swarm: call ide_find_port_slot() later



Move ide_find_port_slot() call closer to ide_device_add().

This is basically a preparation for the future changes.

Cc: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 67717e22
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -82,10 +82,6 @@ static int __devinit swarm_ide_probe(struct device *dev)
	if (!SIBYTE_HAVE_IDE)
		return -ENODEV;

	hwif = ide_find_port_slot(&swarm_port_info);
	if (hwif == NULL)
		return -ENOMEM;

	base = ioremap(A_IO_EXT_BASE, 0x800);
	offset = __raw_readq(base + R_IO_EXT_REG(R_IO_EXT_START_ADDR, IDE_CS));
	size = __raw_readq(base + R_IO_EXT_REG(R_IO_EXT_MULT_SIZE, IDE_CS));
@@ -112,9 +108,6 @@ static int __devinit swarm_ide_probe(struct device *dev)

	base = ioremap(offset, size);

	/* Setup MMIO ops.  */
	default_hwif_mmiops(hwif);

	for (i = 0; i <= 7; i++)
		hw.io_ports_array[i] =
				(unsigned long)(base + ((0x1f0 + i) << 5));
@@ -123,8 +116,15 @@ static int __devinit swarm_ide_probe(struct device *dev)
	hw.irq = K_INT_GB_IDE;
	hw.chipset = ide_generic;

	hwif = ide_find_port_slot(&swarm_port_info);
	if (hwif == NULL)
		goto err;

	ide_init_port_hw(hwif, &hw);

	/* Setup MMIO ops. */
	default_hwif_mmiops(hwif);

	idx[0] = hwif->index;

	ide_device_add(idx, &swarm_port_info);
@@ -132,6 +132,10 @@ static int __devinit swarm_ide_probe(struct device *dev)
	dev_set_drvdata(dev, hwif);

	return 0;
err:
	release_resource(&swarm_ide_resource);
	iounmap(base);
	return -ENOMEM;
}

static struct device_driver swarm_ide_driver = {