Messages in this thread | | | Date | Wed, 31 Oct 2007 09:23:50 -0700 | From | Randy Dunlap <> | Subject | Re: [v4l-dvb-maintainer] bttv build error (CONFIG_NET=n) |
| |
On Wed, 31 Oct 2007 04:51:45 -0700 (PDT) Trent Piepho wrote:
> On Tue, 30 Oct 2007, Randy Dunlap wrote: > > drivers/media/video/bt8xx/bttv-cards.c calls ip_compute_csum(). > > However, when CONFIG_NET=n, that produces: > > > > ERROR: "ip_compute_csum" [drivers/media/video/bt8xx/bttv.ko] undefined! > > > > Config symbol VIDEO_BT848 can be made to depend on NET, or the > > osprey_eeprom() function can be built depending on some new config > > symbol, or bttv could have its own checksum function... > > The real problem here is that ip_compute_csum is part of lib-y, but is also > exported for modules. This problem has come up before, for instance your > patch for csum_partial() > http://lkml.org/lkml/2007/4/3/209 > > Or the problem with kasprintf and the lg module: > http://lkml.org/lkml/2007/9/24/15 > > The general lib-y vs EXPORT_SYMBOL problem: > http://lkml.org/lkml/2007/9/25/17 > > The only reason the net stuff works, is because CONFIG_NET includes igmp.c, > which can't be compiled as a module. That means ip_compute_csum() will get > pulled out of the lib.a file for igmp, and thus be present for the net modules > that use it too. If igmp could be turned off, made a module, or stopped using > ip_compute_csum(), then the users of ip_compute_csum() that do depend on > CONFIG_NET would have the same problem as bttv does.
Thanks for the analysis and summary. (I'm still waiting for those lkml.org links to load... timed out)
> It seems a shame to create a new ip checksum function in the bttv driver when > a perfectly good one already exists and will already be present in just about > every kernel out there. Honestly, how common is NET=n and VIDEO_BT848=m > outside of randconfig?
so just adding "depends on NET" should be OK then?
--- ~Randy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |