On Tuesday 17 November 2009 18:38:23 Alan Cox wrote: > > > +static int mwdma_clip_to_pio(struct ata_device *adev) > > > +{ > > > + const int mwdma_to_pio[3] = { > > > + XFER_PIO_0, XFER_PIO_3, XFER_PIO_4 > > > + }; > > > + return min(mwdma_to_pio[adev->dma_mode - XFER_MW_DMA_0], > > > + adev->pio_mode - XFER_PIO_0); > > > +} > > > > This wants to be in the generic libata code. > > I'm not convinced because for the majority of drivers the libata timing > interface handles it. SiS needs it just because it does things by > precomputed tables. It's a one off interface. Controllers based on *Intel* PIIX are in the disagreement with the above paragraph and having generic helper to do conversion (without a clipping) would bring us a little step closer to killing a needless code duplication currently present in their ->set_piomode and ->set_dmamode methods. [ In case somebody wonders: no, 'old' drivers don't have such duplication and 'whoever did it didn't port it across' cause said 'whoever'-s were not into the development of the square wheels.... ] -- Bartlomiej Zolnierkiewicz -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html