Firmware - Driver relation
While Linus Torvalds' actions may seem childish, sometimes one must embarrass those who keep resurrecting stupid ideas. Sometimes it is the only way to get someone to stop pushing a pet idea that just doesn't work right.
Firmware defines the interface a driver must work with. They are intimately connected. If the firmware goes through a rev, it is possible that an interface that the kernel driver has to work with changes.
Figure this: A board using an FPGA as the interface controller sitting on the edge with the PCI-E bus. The firmware gets downloaded to the FPGA (sometimes flashed locally onto the card, sometimes going into video ram that loads the FPGA on a reset). If I change the code for the FPGA, I can easily change how the card interfaces with the PCI-E bus, where controller registers are located, how the card's memory is mapped to the bus, etc.. and therefore changes how the kernel driver talks to the card.
If I don't tie them together, it is possible to have a disconnect with the firmware version and the driver version that is supposed to work with it... causing hard to diagnose breakages. Who and how would the 'magic' combinations of firmware rev and driver rev be tracked?
SGI (when it was a real company) would keep the firmware drivers for the graphics cards with the OS builds (the ole Onyx and Onyx2 RE series). Several other large companies have done the same.
WTF? because separating the two is really a face-plant moment.