Patchwork [03/64] pata_ali: cleanup ali_set_piomode()

login
register
mail settings
Submitter Bartlomiej Zolnierkiewicz
Date Jan. 18, 2010, 6:16 p.m.
Message ID <201001181916.15161.bzolnier@gmail.com>
Download mbox | patch
Permalink /patch/43150/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Bartlomiej Zolnierkiewicz - Jan. 18, 2010, 6:16 p.m.
On Monday 18 January 2010 06:46:02 pm Alan Cox wrote:
> On Mon, 18 Jan 2010 18:14:12 +0100
> Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote:
> 
> > From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
> > Subject: [PATCH] pata_ali: cleanup ali_set_piomode()
> > 
> > Merge ali_fifo_control() calls.
> 
> This also changes the behaviour. The old driver, reference code and old
> IDE driver (at least at the time I did pata_ali) all did the fifo off
> case, then the mode change, then the FIFO on case.

Well, the old IDE driver (both at the time you did pata_ali and currently)
did it the way this patch does and unfortunately I'm not familiar with
the reference code (I worry that it may be available under NDA only)..

> I don't see why it should matter but it ought to be noted in the changelog

Indeed, though this should be quite obvious from looking at the patch
(below for reference) and the lack of my usual "no functionality changes"
note..

---
 drivers/ata/pata_ali.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

Index: b/drivers/ata/pata_ali.c
===================================================================
--- a/drivers/ata/pata_ali.c
+++ b/drivers/ata/pata_ali.c
@@ -222,12 +222,9 @@  static void ali_set_piomode(struct ata_p
 	}
 
 	/* PIO FIFO is only permitted on ATA disk */
-	if (adev->class != ATA_DEV_ATA)
-		ali_fifo_control(ap, adev, 0x00);
-	ali_program_modes(ap, adev, &t, 0);
-	if (adev->class == ATA_DEV_ATA)
-		ali_fifo_control(ap, adev, 0x05);
+	ali_fifo_control(ap, adev, (adev->class == ATA_DEV_ATA) ? 0x05 : 0x00);
 
+	ali_program_modes(ap, adev, &t, 0);
 }
 
 /**