O> Wouldn't it be better to have ->determine_xfer_mask() and > ->set_specific_mode() than having two somewhat overlapping callbacks? > Or is there some problem that can't be handled that way? I'm not sure I follow what you are suggesting - can you explain further. Right now ->set_mode does all the policy management with regards to picking the right modes which is sometimes done by the usual ATA rules and sometimes by card specific code. ->set_specific_mode does no policy work but merely sets up a mode. The default behaviour of ->set_mode() is the ATA mode selection by best mode available, and this function is normally not provided by a driver. The default behaviour of ->set_specific_mode() is to verify the mode is valid then issue ->set_pio|dma_mode() (for both devices in case a timing change on both is triggered). This function is overridable because of things like IT821x where the IDE mode is imaginary. Alan - 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