Re: Linux 2.6.34 (rt2860 regression)

From: Ben Hutchings
Date: Tue May 18 2010 - 14:37:31 EST


On Tue, May 18, 2010 at 12:59:54PM -0400, Bill Davidsen wrote:
> Greg KH wrote:
>> On Tue, May 18, 2010 at 11:17:06PM +1000, CaT wrote:
>>> On Tue, May 18, 2010 at 05:55:39AM -0700, Greg KH wrote:
>>>> I do not understand. The firmware is now part of the linux-firmware
>>>> tree, and if you install that, it is working just fine, right? We moved
>>>> the firmware out of the kernel tree on purpose.
>>>>
>>>> So what is the problem here?
>>> Well, the driver used to work and appears to be useless without it. I guess
>>> I'm wondering why it was kept out of the firmware directory where all the
>>> other firmware lives (and so allow the driver to simply continue to work
>>> and allow it to be compiled in).
>>
>> Because we are not adding new firmware to the kernel tree wherever
>> possible, but instead, putting it in the separate linux-firmware tree.
>>
> I don't think that's the case here, he's not asking that new firmware be
> put in the kernel, just that existing firmware not be taken out.

New firmware should not be added to the kernel. This rule has been
documented since v2.6.30. Now this rule (like many others) is relaxed for
staging, but you can expect that firmware will be removed as part of the
cleanup process to make staging drivers follow the rules.

>>> At the moment all the change appears to have done is break things that have
>>> been working without issue since before the driver was even in staging.
>>
>> Just update the linux-firmware package and all will be working again.
>> We've been moving the firmware out of the staging drivers for a while
>> now, as they don't belong in the kernel tree.
>>
> I'm not sure that I see the logic of having a kernel with a driver which
> doesn't work without the firmware, and a firmware tree which is equally
> useless on it's own.
[...]

The firmware and driver are separate works, often written by different
people and usually released on a separate schedule under different licences.

> At the least I would expect the kernel build system
> to refuse to build the driver unless the firmware was present, and then
> build the firmware from wherever it's been hidden and put the whole thing
> into a bootable kernel.
>
> Obviously firmware needs to be in the kernel image, or the building of
> initram becomes really nasty for NFS root systems.

Modules that load firmware should have modinfo giving the filenames they
may requested. Initramfs builders use that to find the files to include.

Ben.

--
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
- Albert Camus
--
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/