From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bartlomiej Zolnierkiewicz Subject: Re: [git patches] IDE updates (part 2) Date: Sun, 14 Oct 2007 18:21:42 +0200 Message-ID: <200710141821.42255.bzolnier@gmail.com> References: <200710131825.24768.bzolnier@gmail.com> <20071014001238.GP8181@ftp.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Return-path: Received: from nf-out-0910.google.com ([64.233.182.186]:26712 "EHLO nf-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756776AbXJNQQ3 (ORCPT ); Sun, 14 Oct 2007 12:16:29 -0400 Received: by nf-out-0910.google.com with SMTP id g13so1073003nfb for ; Sun, 14 Oct 2007 09:16:28 -0700 (PDT) In-Reply-To: <20071014001238.GP8181@ftp.linux.org.uk> Content-Disposition: inline Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Al Viro Cc: Linus Torvalds , linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, rmk@arm.linux.org.uk, Jeff Garzik On Sunday 14 October 2007, Al Viro wrote: > Proposed addition to icside part, provided that ARM folks ACK it - gets > icside to build and AFAICS it's correct: the patch looks good and gets my ACK but it is for Jeff ;) > diff --git a/drivers/ata/pata_icside.c b/drivers/ata/pata_icside.c > index be30923..842fe08 100644 > --- a/drivers/ata/pata_icside.c > +++ b/drivers/ata/pata_icside.c > @@ -332,12 +332,13 @@ static void ata_dummy_noret(struct ata_port *port) > { > } > > -static void pata_icside_postreset(struct ata_port *ap, unsigned int *classes) > +static void pata_icside_postreset(struct ata_link *link, unsigned int *classes) > { > + struct ata_port *ap = link->ap; > struct pata_icside_state *state = ap->host->private_data; > > if (classes[0] != ATA_DEV_NONE || classes[1] != ATA_DEV_NONE) > - return ata_std_postreset(ap, classes); > + return ata_std_postreset(link, classes); > > state->port[ap->port_no].disabled = 1; > > @@ -395,29 +396,30 @@ static struct ata_port_operations pata_icside_port_ops = { > > static void __devinit > pata_icside_setup_ioaddr(struct ata_port *ap, void __iomem *base, > - const struct portinfo *info) > + struct pata_icside_info *info, > + const struct portinfo *port) > { > struct ata_ioports *ioaddr = &ap->ioaddr; > - void __iomem *cmd = base + info->dataoffset; > + void __iomem *cmd = base + port->dataoffset; > > ioaddr->cmd_addr = cmd; > - ioaddr->data_addr = cmd + (ATA_REG_DATA << info->stepping); > - ioaddr->error_addr = cmd + (ATA_REG_ERR << info->stepping); > - ioaddr->feature_addr = cmd + (ATA_REG_FEATURE << info->stepping); > - ioaddr->nsect_addr = cmd + (ATA_REG_NSECT << info->stepping); > - ioaddr->lbal_addr = cmd + (ATA_REG_LBAL << info->stepping); > - ioaddr->lbam_addr = cmd + (ATA_REG_LBAM << info->stepping); > - ioaddr->lbah_addr = cmd + (ATA_REG_LBAH << info->stepping); > - ioaddr->device_addr = cmd + (ATA_REG_DEVICE << info->stepping); > - ioaddr->status_addr = cmd + (ATA_REG_STATUS << info->stepping); > - ioaddr->command_addr = cmd + (ATA_REG_CMD << info->stepping); > - > - ioaddr->ctl_addr = base + info->ctrloffset; > + ioaddr->data_addr = cmd + (ATA_REG_DATA << port->stepping); > + ioaddr->error_addr = cmd + (ATA_REG_ERR << port->stepping); > + ioaddr->feature_addr = cmd + (ATA_REG_FEATURE << port->stepping); > + ioaddr->nsect_addr = cmd + (ATA_REG_NSECT << port->stepping); > + ioaddr->lbal_addr = cmd + (ATA_REG_LBAL << port->stepping); > + ioaddr->lbam_addr = cmd + (ATA_REG_LBAM << port->stepping); > + ioaddr->lbah_addr = cmd + (ATA_REG_LBAH << port->stepping); > + ioaddr->device_addr = cmd + (ATA_REG_DEVICE << port->stepping); > + ioaddr->status_addr = cmd + (ATA_REG_STATUS << port->stepping); > + ioaddr->command_addr = cmd + (ATA_REG_CMD << port->stepping); > + > + ioaddr->ctl_addr = base + port->ctrloffset; > ioaddr->altstatus_addr = ioaddr->ctl_addr; > > ata_port_desc(ap, "cmd 0x%lx ctl 0x%lx", > - info->raw_base + info->dataoffset, > - info->raw_base + info->ctrloffset); > + info->raw_base + port->dataoffset, > + info->raw_base + port->ctrloffset); > > if (info->raw_ioc_base) > ata_port_desc(ap, "iocbase 0x%lx", info->raw_ioc_base); > @@ -441,7 +443,7 @@ static int __devinit pata_icside_register_v5(struct pata_icside_info *info) > info->nr_ports = 1; > info->port[0] = &pata_icside_portinfo_v5; > > - info->raw_base = ecard_resource_start(ec, ECARD_RES_MEMC); > + info->raw_base = ecard_resource_start(info->ec, ECARD_RES_MEMC); > > return 0; > } > @@ -522,7 +524,7 @@ static int __devinit pata_icside_add_ports(struct pata_icside_info *info) > ap->flags |= ATA_FLAG_SLAVE_POSS; > ap->ops = &pata_icside_port_ops; > > - pata_icside_setup_ioaddr(ap, info->base, info->port[i]); > + pata_icside_setup_ioaddr(ap, info->base, info, info->port[i]); > } > > return ata_host_activate(host, ec->irq, ata_interrupt, 0, >