Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin"

From: Jeff Garzik
Date: Sat Jul 05 2008 - 00:36:26 EST


Theodore Tso wrote:
On Fri, Jul 04, 2008 at 09:39:36AM -0400, Jeff Garzik wrote:
You have been told repeatedly that cp(1) and scp(1) are commonly used to transport the module David and I care about -- tg3. It's been a single file module since birth, and people take advantage of that fact.

Here, I think I'll have to respectly disagree with you and say that
you are taking things too far. I don't think scp'ing individual
modules around counts as an "exported user interface" the same way,
say "make install; make modules_install" is a commonly understand and
used interface by users and scripts (i.e., such as Debian's make-kpkg,
which does NOT know about "make firmware_install", BTW).

It's not just netdev developers that use that method, root (notably router) image and driver disk build scripts use it too. They've been able to skate around module dependencies because network drivers rarely have module dependencies or require big multi-module systems.

Example -- the driver disk kit that RH informally gave out, which was widely used, but does not use normal kernel build processes:

http://people.redhat.com/dledford/mod_devel_kit.tgz

Even if one modifies 'make modules_install' as discussed[1], kits like these will report "100% success! driver disk created", yet ship a dead driver disk.

That is why putting the firmware in the kernel image, as dwmw2 has done, does not fix regressions here: driver disk authors do not necessarily have the luxury of updating the kernel.

Conclusion - we should not build a system today that /excludes/ the possibility of building drivers as they are built today -- with the firmware inside the module [if CONFIG_FOO=m] or kernel image [if CONFIG_FOO=y].

That is the only path that gives everyone a chance to deal with this transition.

Jeff





[1] a laudable and useful thing to do, and it sounds like it is being accomplished. great!

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/