From: Jeff Garzik <jgarzik@pobox.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] pata_marvell: switch to pci_iomap as Jeff asked
Date: Sat, 21 Oct 2006 15:51:40 -0400 [thread overview]
Message-ID: <453A7A4C.3090808@pobox.com> (raw)
In-Reply-To: <1161192357.9363.101.camel@localhost.localdomain>
[-- Attachment #1: Type: text/plain, Size: 1123 bytes --]
Alan Cox wrote:
> Signed-off-by: Alan Cox <alan@redhat.com>
>
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.19-rc2-mm1/drivers/ata/pata_marvell.c linux-2.6.19-rc2-mm1/drivers/ata/pata_marvell.c
> --- linux.vanilla-2.6.19-rc2-mm1/drivers/ata/pata_marvell.c 2006-10-18 13:51:02.000000000 +0100
> +++ linux-2.6.19-rc2-mm1/drivers/ata/pata_marvell.c 2006-10-18 13:56:55.000000000 +0100
> @@ -20,7 +20,7 @@
> #include <linux/ata.h>
>
> #define DRV_NAME "pata_marvell"
> -#define DRV_VERSION "0.0.4t"
> +#define DRV_VERSION "0.0.5t"
>
> /**
> * marvell_pre_reset - check for 40/80 pin
> @@ -39,18 +39,17 @@
>
> /* Check if our port is enabled */
>
> - bar5 = pci_resource_start(pdev, 5);
> - barp = ioremap(bar5, 0x10);
> + barp = pci_ioremap(pdev, 5, 0x10);
Please provide code that links successfully, and compiles without
obvious warnings. pci_ioremap() does not exist; you wanted pci_iomap().
I applied the patch, fixed the obvious bugs, and then did my own line
length, trailing whitespace, "if(" javaism, 'case' indentation, and
other cosmetic cleanups.
Jeff
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 3172 bytes --]
diff --git a/drivers/ata/pata_marvell.c b/drivers/ata/pata_marvell.c
index 2b8e00c..1ea6407 100644
--- a/drivers/ata/pata_marvell.c
+++ b/drivers/ata/pata_marvell.c
@@ -20,7 +20,7 @@ #include <linux/libata.h>
#include <linux/ata.h>
#define DRV_NAME "pata_marvell"
-#define DRV_VERSION "0.0.4t"
+#define DRV_VERSION "0.0.5u"
/**
* marvell_pre_reset - check for 40/80 pin
@@ -33,14 +33,12 @@ static int marvell_pre_reset(struct ata_
{
struct pci_dev *pdev = to_pci_dev(ap->host->dev);
u32 devices;
- unsigned long bar5;
void __iomem *barp;
int i;
/* Check if our port is enabled */
- bar5 = pci_resource_start(pdev, 5);
- barp = ioremap(bar5, 0x10);
+ barp = pci_iomap(pdev, 5, 0x10);
if (barp == NULL)
return -ENOMEM;
printk("BAR5:");
@@ -49,24 +47,25 @@ static int marvell_pre_reset(struct ata_
printk("\n");
devices = readl(barp + 0x0C);
- iounmap(barp);
+ pci_iounmap(pdev, barp);
- if (pdev->device == 0x6145 && ap->port_no == 0 && !(devices & 0x10)) /* PATA enable ? */
+ if ((pdev->device == 0x6145) && (ap->port_no == 0) &&
+ (!(devices & 0x10))) /* PATA enable ? */
return -ENOENT;
/* Cable type */
switch(ap->port_no)
{
- case 0:
- /* Might be backward, docs unclear */
- if(inb(ap->ioaddr.bmdma_addr + 1) & 1)
- ap->cbl = ATA_CBL_PATA80;
- else
- ap->cbl = ATA_CBL_PATA40;
-
- case 1: /* Legacy SATA port */
- ap->cbl = ATA_CBL_SATA;
- break;
+ case 0:
+ /* Might be backward, docs unclear */
+ if (inb(ap->ioaddr.bmdma_addr + 1) & 1)
+ ap->cbl = ATA_CBL_PATA80;
+ else
+ ap->cbl = ATA_CBL_PATA40;
+
+ case 1: /* Legacy SATA port */
+ ap->cbl = ATA_CBL_SATA;
+ break;
}
return ata_std_prereset(ap);
}
@@ -81,7 +80,8 @@ static int marvell_pre_reset(struct ata_
static void marvell_error_handler(struct ata_port *ap)
{
- return ata_bmdma_drive_eh(ap, marvell_pre_reset, ata_std_softreset, NULL, ata_std_postreset);
+ return ata_bmdma_drive_eh(ap, marvell_pre_reset, ata_std_softreset,
+ NULL, ata_std_postreset);
}
/* No PIO or DMA methods needed for this device */
@@ -130,7 +130,6 @@ static const struct ata_port_operations
.data_xfer = ata_pio_data_xfer,
/* Timeout handling */
- .eng_timeout = ata_eng_timeout,
.irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear,
@@ -159,7 +158,7 @@ static int marvell_init_one (struct pci_
{
static struct ata_port_info info = {
.sht = &marvell_sht,
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
.pio_mask = 0x1f,
.mwdma_mask = 0x07,
@@ -170,7 +169,7 @@ static int marvell_init_one (struct pci_
static struct ata_port_info info_sata = {
.sht = &marvell_sht,
/* Slave possible as its magically mapped not real */
- .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
+ .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
.pio_mask = 0x1f,
.mwdma_mask = 0x07,
@@ -180,10 +179,10 @@ static int marvell_init_one (struct pci_
};
struct ata_port_info *port_info[2] = { &info, &info_sata };
int n_port = 2;
-
+
if (pdev->device == 0x6101)
n_port = 1;
-
+
return ata_pci_init_one(pdev, port_info, n_port);
}
next prev parent reply other threads:[~2006-10-21 19:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-18 17:25 [PATCH] pata_marvell: switch to pci_iomap as Jeff asked Alan Cox
2006-10-21 19:51 ` Jeff Garzik [this message]
2006-10-22 19:51 ` Alan Cox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=453A7A4C.3090808@pobox.com \
--to=jgarzik@pobox.com \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.