On Wed, Oct 22, 2008 at 04:14:21PM -0700, reinette chatre wrote: > On Wed, 2008-10-22 at 15:59 -0700, Marcel Holtmann wrote: > > > in some cases it might be possible with a set of quirks or special > > functions that can be switched at runtime. Check the whole bunch of USB > > drivers that have special handling depending on what hardware it finds. > > We could do the same. In some cases this effort might be too much, but > > if possible we should at least try. > > I don't think we can easily apply the hardware quirk solution here. This > is because hardware can be identified by id that does not change and the > hardware self does not really change (unless it has firmware that > changes ...). In this firmware case we do not have "an id" (we have one > file that is loaded by firmware loader so we cannot know what we get > just by "looking at it" unless we enforce a version number in the > filename as we currently do in our driver) and the firmware can change, > potentially frequently, with the consequence of many "quirks" that need > to be maintained. You can try to load the new firmware, and if that fails you can try the older firmware. Whichever one succeeds first can govern the API you use. In fact, I had a patch like this for Fedora back when you first added an API version to your firmware. Of course, at that point there was no need to rememebr what got loaded since there really was only one API... John -- John W. Linville Linux should be at the core linville@xxxxxxxxxxxxx of your literate lifestyle. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html