On Wednesday 11 March 2009, Mark Lord wrote: > Frans Pop wrote: > > On Wednesday 11 March 2009, Mark Lord wrote: > >> I'm afraid I just don't understand the purpose of "inherits" above. > >> This field appears to never be referenced anywhere. > > > > What it does (I've been assuming) is include any ops defined in the > > struct that is being referred to. So mv6xxx_iie_ops gets all the ops > > defined for mv6xxx_ops plus mv_iie_enable_led_blink. > > Except it is not a C-language feature, but rather a simple/clever > implementation for those specific data structures, as can be seen > in libata-core.c :: ata_finalize_port_ops(). > > So, skip that. Oops. So I implemented part of what's needed, but not all. Well, that just proves my level of C knowledge. Should have just copied the set of ops instead of trying to do it clean :-/ > So enough: we'll just do this the original way, for SOC only. > All of the SOC chips that I know about appear to have the correct bits > in the same places, so perhaps that's what Saeed's cryptic commment was > about. OK. Fine by me. It can always be extended if the need for that is proven. > Can you test this there and confirm that it still works for you? > Please try switching NCQ on/off etc.. just to make sure. The LED behavior is correct with NCQ enabled: slow blink. But if I disable NCQ blink mode is not turned off, the led continues the slow blinking. So it looks as if just calling mv_soc_led_blink_disable in mv_edma_cfg is not sufficient. > After I hear back, I'll submit this for #upstream. Thanks Mark. -- 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