http://msdn.microsoft.com/en-us/library/windows/hardware/gg463287.aspx
That's a useful link, thanks.
I don't see anything in that link that would strictly require us to
change the revision ID. It seems to focus on when the "software
interface changes". I take that to mean, "change the revision ID if an
old driver wouldn't work anymore" which makes complete sense.
Right, nobody can force you to change the revision id. It's just a good
engineering practice to increase RevID every time the HW interface has
changed, and you expect some compatibility issue between the new HW and
old drivers. In this case, if Windows cannot locate the INF file which
matches the new device identification strings, it just reports that it
cannot find a suitable driver.
But adding feature bits an altering the config size doesn't constitute a
change in the software interface IMHO.
I agree, feature bits are good. The only one problem with them, is that
driver usually doesn't have access to PCI space during the driver
loading phase.