This one applies after the big patch. Without it the mpiix module won't
load as it still tries to use the old ata_std_ports symbol which I only
just noticed after posting the main diff.
(Andrew you might want to just cat the two together, sorry about that)
Signed-off-by: Alan Cox <[EMAIL PROTECTED]
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.23rc1-mm1/drivers/ata/pata_mpiix.c
linux-2.6.23rc1-mm1/drivers/ata/pata_mpiix.c
--- linux.vanilla-2.6.23rc1-mm1/drivers/ata/pata_mpiix.c 2007-07-26
15:01:52.951747064 +0100
+++ linux-2.6.23rc1-mm1/drivers/ata/pata_mpiix.c 2007-07-26
15:21:13.273351368 +0100
@@ -201,6 +201,7 @@
struct ata_host *host;
struct ata_port *ap;
void __iomem *cmd_addr, *ctl_addr;
+ unsigned long cmd_port, ctl_port;
u16 idetim;
int irq;
@@ -222,14 +223,17 @@
/* See if it's primary or secondary channel... */
if (!(idetim & SECONDARY)) {
irq = 14;
- cmd_addr = devm_ioport_map(&dev->dev, 0x1F0, 8);
- ctl_addr = devm_ioport_map(&dev->dev, 0x3F6, 1);
+ cmd_port = 0x1F0;
+ ctl_port = 0x3F6;
} else {
irq = 15;
- cmd_addr = devm_ioport_map(&dev->dev, 0x170, 8);
- ctl_addr = devm_ioport_map(&dev->dev, 0x376, 1);
+ cmd_port = 0x170;
+ ctl_port = 0x376;
}
+ cmd_addr = devm_ioport_map(&dev->dev, cmd_port, 8);
+ ctl_addr = devm_ioport_map(&dev->dev, ctl_port, 1);
+
if (!cmd_addr || !ctl_addr)
return -ENOMEM;
@@ -247,9 +251,12 @@
ap->ioaddr.cmd_addr = cmd_addr;
ap->ioaddr.ctl_addr = ctl_addr;
ap->ioaddr.altstatus_addr = ctl_addr;
+
+ ap->busaddr.cmd_addr = cmd_port;
+ ap->busaddr.ctl_addr = ctl_port;
/* Let libata fill in the port details */
- ata_std_ports(&ap->ioaddr);
+ ata_std_io_ports(&ap->ioaddr, &ap->busaddr);
/* activate host */
return ata_host_activate(host, irq, ata_interrupt, IRQF_SHARED,
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html