Re: Linux 2.6.15-rc2

From: Michael Krufky
Date: Wed Nov 23 2005 - 15:50:50 EST


Adrian Bunk wrote:

On Wed, Nov 23, 2005 at 02:17:45PM -0500, Michael Krufky wrote:


Adrian Bunk wrote:

On Tue, Nov 22, 2005 at 11:36:48PM -0500, Gene Heskett wrote:

...
Well, I just went thru it again, and turned off everything but the
cx8800 and ORv51132 stuffs, and now I get this at the and of the
'makeit' script I use here:

WARNING:
/lib/modules/2.6.15-rc2/kernel/drivers/media/video/cx88/cx88-dvb.ko
needs unknown symbol mt352_attach
WARNING:
/lib/modules/2.6.15-rc2/kernel/drivers/media/video/cx88/cx88-dvb.ko
needs unknown symbol nxt200x_attach
WARNING:
/lib/modules/2.6.15-rc2/kernel/drivers/media/video/cx88/cx88-dvb.ko
needs unknown symbol mt352_write
WARNING:
/lib/modules/2.6.15-rc2/kernel/drivers/media/video/cx88/cx88-dvb.ko
needs unknown symbol lgdt330x_attach
WARNING:
/lib/modules/2.6.15-rc2/kernel/drivers/media/video/cx88/cx88-dvb.ko
needs unknown symbol cx22702_attach
...

Nice catch and thanks for your report.

The bug is obvious. A possible patch is below (and at least drivers/media/video/saa7134/Makefile contains the same bug),
but I'd really prfer getting rid of the -DHAVE_* stuff in the
Makefiles and using Kconfig variables instead.

We need to keep the -DHAVE_FOO stuff there, in order to satisfy the following requirements:

1) To allow the option of only selecting those frontends required by specific dvb hardware, without forcing all modules to be loaded... This feature is optional, and I implemented it in response to the demand from some hybrid v4l/dvb device users, (and myself) Why force a driver to load every frontend module if it isnt required by the hardware? -- apparantly the implementation was less than perfect. I had originally intended for this to live in -mm for a bit, but when the merge window came around, Mauro had sent it upstream before I had the chance to create alternate patches for linus' tree.

2) (more importantly) To allow v4l-kernel cvs to retain backwards compatability with older kernels..

I had originally tried to rename these to use the Kconfig variables, but LKML people asked for it to be changed back.

Please do not remove this feature -- if it is broken, then we should try to fix it, rather than remove it. If the specific frontend selection isn't working, then I guess we can revert back to the old behavior where every frontend is forced, but I would rather not.


I do not yet know how to fix it, but configurations like CONFIG_VIDEO_CX88_DVB=y, CONFIG_DVB_CX22702=m are currently compile errors.


AHA! I have not tested this with cx88-dvb compiled into the kernel (y) -- I have only tested as a module (m) ..... Looks like I have a lot of testing to do before the end of this week.

Adrian, does it work if you select CONFIG_VIDEO_CX88_DVB_ALL_FRONTENDS ?? Selecting this option is, in effect, exactly equal to the old behavior of forcing support for every single frontend supported by cx88-dvb to be built.

Looks like the problem is the following:
If cx88-dvb is selected (y), then then the frontends should also be selected (y) ... but instead, they are being selected (m)

Meanwhile, if cx88-dvb is selected (m) then everything is fine, since the frontends are also selected(m) ...

Is my assessment correct?

-Michael Krufky
-
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/