On (20/09/07 15:09), Alan Cox didst pronounce: > On Thu, 20 Sep 2007 14:13:15 +0100 > mel@xxxxxxxxx (Mel Gorman) wrote: > > > PPC64 building allmodconfig fails to compile drivers/ata/pata_scc.c . It > > doesn't show up on other arches because this driver is specific to the > > architecture. > > > > drivers/ata/pata_scc.c: In function `scc_bmdma_status' > > Its not been updated to match the libata core changes. Try something like > this. Whoever is maintaining it should also remove the prereset cable handling > code and use the proper cable detect method. > I can confirm it builds with the following messages CC [M] drivers/ata/pata_scc.o drivers/ata/pata_scc.c: In function `scc_error_handler': drivers/ata/pata_scc.c:909: warning: passing arg 3 of `ata_bmdma_drive_eh' from incompatible pointer type As for the rest, I cannot comment. Thanks Alan > > Signed-off-by: Alan Cox <alan@xxxxxxxxxx> > > diff -u --exclude-from /usr/src/exclude --new-file --recursive linux.vanilla-2.6.23rc6-mm1/drivers/ata/pata_scc.c linux-2.6.23rc6-mm1/drivers/ata/pata_scc.c > --- linux.vanilla-2.6.23rc6-mm1/drivers/ata/pata_scc.c 2007-09-18 15:32:51.000000000 +0100 > +++ linux-2.6.23rc6-mm1/drivers/ata/pata_scc.c 2007-09-20 14:23:32.879807760 +0100 > @@ -731,7 +731,7 @@ > void __iomem *mmio = ap->ioaddr.bmdma_addr; > u8 host_stat = in_be32(mmio + SCC_DMA_STATUS); > u32 int_status = in_be32(mmio + SCC_DMA_INTST); > - struct ata_queued_cmd *qc = ata_qc_from_tag(ap, ap->active_tag); > + struct ata_queued_cmd *qc = ata_qc_from_tag(ap, ap->link.active_tag); > static int retry = 0; > > /* return if IOS_SS is cleared */ > @@ -860,10 +860,10 @@ > * @deadline: deadline jiffies for the operation > */ > > -static int scc_pata_prereset(struct ata_port *ap, unsigned long deadline) > +static int scc_pata_prereset(struct ata_link *link, unsigned long deadline) > { > - ap->cbl = ATA_CBL_PATA80; > - return ata_std_prereset(ap, deadline); > + link->ap->cbl = ATA_CBL_PATA80; > + return ata_std_prereset(link, deadline); > } > > /** > @@ -874,8 +874,9 @@ > * Note: Original code is ata_std_postreset(). > */ > > -static void scc_std_postreset (struct ata_port *ap, unsigned int *classes) > +static void scc_std_postreset (struct ata_link *link, unsigned int *classes) > { > + struct ata_port *ap = link->ap; > DPRINTK("ENTER\n"); > > /* is double-select really necessary? */ > -- -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html