Thread (5 messages) 5 messages, 2 authors, 2007-07-23

Re: [PATCH 4/4] ide: use only ->set_pio_mode method for programming PIO modes

From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Date: 2007-07-23 21:54:55

On Monday 23 July 2007, Sergei Shtylyov wrote:
Hello.

Bartlomiej Zolnierkiewicz wrote:
quoted
Use ->set_pio_mode method to program PIO modes in ide_set_xfer_rate()
(the only place which used ->speedproc to program PIO modes) and remove
handling of PIO modes from all ->speedproc implementations.
quoted
There should be no functionality changes caused by this patch.
quoted
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
quoted
Index: b/drivers/ide/cris/ide-cris.c
===================================================================
--- a/drivers/ide/cris/ide-cris.c
+++ b/drivers/ide/cris/ide-cris.c
@@ -724,11 +724,6 @@ static int speed_cris_ide(ide_drive_t *d
 {
 	int cyc = 0, dvs = 0, strobe = 0, hold = 0;
 
-	if (speed >= XFER_PIO_0 && speed <= XFER_PIO_4) {
-		cris_set_pio_mode(drive, speed - XFER_PIO_0);
-		return ide_config_drive_speed(drive, speed);
-	}
-
 	switch(speed)
 	{
 		case XFER_UDMA_0:
Index: b/drivers/ide/ide-lib.c
===================================================================
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -398,6 +398,18 @@ int ide_set_xfer_rate(ide_drive_t *drive
 
 	rate = ide_rate_filter(drive, rate);
 
+	if (rate >= XFER_PIO_0 && rate <= XFER_PIO_5) {
+		if (hwif->set_pio_mode)
+			hwif->set_pio_mode(drive, rate - XFER_PIO_0);
    BTW, why doesn it pass CF-specific PIO6? Not an issue now, but what the 
hell?  I'd suggest instead:

	if (rate & XFER_PIO_0) {
Like you've said not an issue now and moreover the current code serves
as a documentation that PIO6 is not supported. ;)

Thanks,
Bart
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help