Proposed changes for libata speed handling

From: Alan
Date: Fri Jan 12 2007 - 08:41:56 EST


I'm currently hacking on the speed handling code a bit

I'd like to do the following unless anyone has any objections

- Remove post_set_mode and make drivers wrap the guts of the existing
set_mode() function. This allows a driver to wrap and see success/failure
while removing a callback, and also to add pre-mode code. (ie you'd do

foo_set_mode() {
ata_default_set_mode()
my_fiddling();
}

- Fix the ->set_mode method FIXMEs in the current tree [DONE]

- Add set_specific_mode, with a default behaviour that works for most
controllers. Those using a private ->set_mode might need a private
->set_specific_mode, in some cases like it8212 simply to error the request

- Hook set_specific_mode to the ata command parser so that instead of
erroring set_features commands we snoop them and force the mode change
desired on the controller (if valid)

- Send the command to set the speed before setting the controller speed,
so that we send them at the right rate.

Any comments ?

Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/