Hi Reinette, > > 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. we have the API version of the firmware file. If the new one can't be found, then load the old one via request_firmware() and we know that we have to use the old API. We can program our hardware only with one firmware at a time anyway and we know which one we loaded. We already apply the rules that if the firmware changes the API in an incompatible way, we have to change the firmware filename. Regards Marcel -- 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