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