Re: [PATCH] bnx2 - use request_firmware()

Bastian Blank
2008-07-07T07:53:44Z

On Sun, Jul 06, 2008 at 09:21:21PM -0700, Michael Chan wrote:
> I cannot sign off on this until I understand more about the impact
> of this change.

The change is targeted for the firmware tree. The firmware tree
seperates the firmwares from the driver _within_ the kernel tree. Both
parts are still shipped in the same tree. The driver themself is
modified to use request_firmware. If the driver is builtin the kernel,
the firmware is appended to vmlinux where request_firmware is able to
find them. If it is built as a module the firmware is copied into
/lib/firmware during installation where the famous hotplug handler can
find it.

So the impact is that you need a hotplug handler in the module case.
Most of the modern wireless cards drivers (e.g. b43, iwl*) needs them
anyway.

My patch does not yet include the firmware move within the tree because
it would make the patch really large. Will do that.

> Unlike the tg3 firmware which hasn't changed for at
> least 4 or 5 years, the bnx2 firmware is constantly changing and it
> has to match the driver. For example, we'll be adding multi-tx ring
> to the driver soon and it will require the feature in the firmware.

Thats why the firmware files got a "version" string included. You can
change it for incompatible changes in the firmware. Your workflow will
not change drastically. You still can modify the firmware and the source
in one tree.

Also it is not that uncommon that you need to update firmwares for new
kernel versions in other devices.

Bastian

--
Fascinating, a totally parochial attitude.
-- Spock, "Metamorphosis", stardate 3219.8