Brandon Jenkins wrote: > > On Jun 17, 2008, at 2:42 PM, mkrufky@xxxxxxxxxxx wrote: > >> Brandon Jenkins wrote: >>> >>> On Jun 17, 2008, at 1:39 PM, mkrufky@xxxxxxxxxxx wrote: >>> >>>> Brandon Jenkins wrote: >>>>> >>>>> On Jun 17, 2008, at 12:17 PM, mkrufky@xxxxxxxxxxx wrote: >>>>> >>>>>> Brandon Jenkins wrote: >>>>>>> >>>>>>> On Jun 17, 2008, at 11:24 AM, mkrufky@xxxxxxxxxxx wrote: >>>>>>> >>>>>>>> Brandon Jenkins wrote: >>>>>>>>> >>>>>>>>> On Jun 17, 2008, at 10:52 AM, mkrufky@xxxxxxxxxxx wrote: >>>>>>>>> >>>>>>>>>> Brandon Jenkins wrote: >>>>>>>>>> Brandon, >>>>>>>>>> >>>>>>>>>> VIDEO_CX18 selects VIDEO_TUNER , but you chose the option, >>>>>>>>>> "MEDIA_TUNER_CUSTOMIZE" , which turns off the automatic tuner >>>>>>>>>> dependency >>>>>>>>>> selections. Please note the description of this option: >>>>>>>>>> >>>>>>>>>> menuconfig MEDIA_TUNER_CUSTOMIZE >>>>>>>>>> bool "Customize analog and hybrid tuner modules to build" >>>>>>>>>> depends on MEDIA_TUNER >>>>>>>>>> help >>>>>>>>>> This allows the user to deselect tuner drivers unnecessary >>>>>>>>>> for their hardware from the build. Use this option with >>>>>>>>>> care >>>>>>>>>> as deselecting tuner drivers which are in fact necessary >>>>>>>>>> will >>>>>>>>>> result in V4L/DVB devices which cannot be tuned due to >>>>>>>>>> lack of >>>>>>>>>> driver support >>>>>>>>>> >>>>>>>>>> If unsure say N. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> We allow users to disable certain modules if they think they >>>>>>>>>> know >>>>>>>>>> better, and choose to compile out drivers that they don't >>>>>>>>>> need. You >>>>>>>>>> should not have disabled tuner-simple -- to play it safe, don't >>>>>>>>>> enable >>>>>>>>>> MEDIA_TUNER_CUSTOMIZE >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> >>>>>>>>>> Mike >>>>>>>>>> >>>>>>>>>> >>>>>>>>> Mike, >>>>>>>>> >>>>>>>>> Thank you. I understand the impact my choice makes in that >>>>>>>>> matter. >>>>>>>>> However, all of the other modules required for cx18 to >>>>>>>>> function are >>>>>>>>> marked in the lists as -M- indicating it is a required >>>>>>>>> module/module >>>>>>>>> dependency. I apologize for my ignorance of terminology, etc., >>>>>>>>> but it >>>>>>>>> would seem to me that "Simple tuner support" should automatically >>>>>>>>> have >>>>>>>>> the -M- as a required resource for the tuner to function >>>>>>>>> correctly. >>>>>>>>> >>>>>>>>> Thank you for your time in responding. >>>>>>>>> >>>>>>>>> Brandon >>>>>>>> No -- You are misunderstanding -- The selection of the tuner.ko >>>>>>>> i2c >>>>>>>> client module is forced as -M- , since it is selected as a >>>>>>>> dependency. >>>>>>>> You then proceeded into a deeper layer of customization, and >>>>>>>> enabled >>>>>>>> "MEDIA_TUNER_CUSTOMIZE" -- this option allows you to disable tuner >>>>>>>> modules that should have otherwise been autoselected for your >>>>>>>> hardware. >>>>>>>> I repeat -- this is an advanced customization option, and you have >>>>>>>> been >>>>>>>> so warned by its Kconfig description. >>>>>>>> >>>>>>>> I am pushing up a patch now that disables MEDIA_TUNER_CUSTOMIZE by >>>>>>>> default. >>>>>>>> >>>>>>>> -Mike >>>>>>> Mike, >>>>>>> >>>>>>> That doesn't solve the problem. I believe the patch below, will. >>>>>>> >>>>>>> Brandon >>>>>>> >>>>>>> diff -r 50be11af3fdb linux/drivers/media/video/cx18/Kconfig >>>>>>> --- a/linux/drivers/media/video/cx18/Kconfig Mon Jun 16 18:04:06 >>>>>>> 2008 -0300 >>>>>>> +++ b/linux/drivers/media/video/cx18/Kconfig Tue Jun 17 12:02:03 >>>>>>> 2008 -0400 >>>>>>> @@ -12,6 +12,7 @@ config VIDEO_CX18 >>>>>>> select VIDEO_CS5345 >>>>>>> select DVB_S5H1409 >>>>>>> select MEDIA_TUNER_MXL5005S >>>>>>> + select MEDIA_TUNER_SIMPLE >>>>>>> ---help--- >>>>>>> This is a video4linux driver for Conexant cx23418 based >>>>>>> PCI combo video recorder devices. >>>>>>> >>>>>> Brandon, >>>>>> >>>>>> Thank you for this, but this patch will not be merged. I >>>>>> explained in >>>>>> the quoted email, above, that you have invoked a deeper layer of >>>>>> customization that allows us to disable tuner modules, regardless of >>>>>> your actual hardware. >>>>>> >>>>>> This option was designed for the sake of larger drivers, such as >>>>>> cx88 or >>>>>> saa7134, who may use many different tuners depending on the actual >>>>>> board >>>>>> present. In the future, there may eventually be a cx18 board that >>>>>> does >>>>>> not use tuner-simple. This option allows users to disable >>>>>> tuner-simple >>>>>> from building. The default behavior is to automatically select the >>>>>> tuner driver needed for your hardware, but when you enable >>>>>> MEDIA_TUNER_CUSTOMIZE, this autoselection is turned off. This is >>>>>> the >>>>>> correct behavior. >>>>>> >>>>>> I repeat again that this Kconfig option provides a warning to the >>>>>> user >>>>>> that this should be enabled at your own risk, only. >>>>>> >>>>>> "Use this option with care as deselecting tuner drivers which are in >>>>>> fact necessary will result in V4L/DVB devices which cannot be tuned >>>>>> due >>>>>> to lack of driver support." >>>>>> >>>>>> Do not enable MEDIA_TUNER_CUSTOMIZE unless you know what you're >>>>>> doing. >>>>>> >>>>>> End of story. >>>>>> >>>>>> -Mike >>>>>> >>>>>> >>>>> Mike, >>>>> >>>>> I don't mean to continue this debate, but if you say this is working >>>>> as designed I will leave it alone and move on. All other tuner >>>>> modules >>>>> (the max linear) which are required by the cx18 to function are still >>>>> indeed -M- in the menuconfig view. Once I added the patch above >>>>> Simple >>>>> tuner also became -M- indicating it was required by a selected board. >>>>> If Simple tuner is required for the card to function, it should be >>>>> automatically selected as are all the other tuner modules the card >>>>> requires. >>>>> >>>>> AFAIK - The only way to deselect a required tuner module is to >>>>> deselect the card it supports. >>>>> >>>>> Your message seems more about the principle of customizing which >>>>> modules are built, while I am trying to save further troubleshooting >>>>> by requiring the modules for my particular card to be automatically >>>>> selected if someone selects the card. I see the two as separate >>>>> items. >>>>> If it is not appropriate to use the select TUNER in the Kconfig, whay >>>>> is the MaxlLinear in there? >>>>> >>>>> Brandon >>>>> >>>> That is a bug -- thanks for pointing it out. >>>> >>>> Clone this tree and try again: >>>> >>>> http://linuxtv.org/hg/~mkrufky/fix >>>> >>>> -Mike >>> Mike, >>> >>> This is effectively the same as when we first started this discussion. >>> But I can confirm that your last change works as designed and the >>> change to disallow customization by default does not. >>> >>> A change to the perl script ./v4l/scripts/make_kconfig.pl needs to be >>> done to set the default to no on that entry. I don't know perl, so I >>> can't help there. >>> >>> All of this though brings us back to the same point I started out >>> with. If Simple tuner is required, and if !DVB_FE_CUSTOMISE, then >>> there really ought to be a "select MEDIA_TUNER_SIMPLE if >>> !DVB_FE_CUSTOMISE" in the file. I know what needs to be done for the >>> card to function, my purpose in bringing this up was to help others. >> Brandon, >> >> There is no call to simple_tuner_attach() inside cx18-dvb.c >> >> There is a call to mxl5005s_attach() inside cx18-dvb.c -- mxl5005s is an >> actual dependency that can be enabled or disabled. >> >> tuner_simple is an implied dependency, no code from within the cx18 ever >> calls simple_tuner_attach() -- Instead, cx18 attaches to the tuner.ko >> i2c_client module, which in turn calls simple_tuner_attach() as needed >> if available. >> >> No other driver selects TUNER_SIMPLE unless it explicitly calls >> simple_tuner_attach() directly. >> >> If there is a bug in make_kconfig.pl, then there is a bug -- don't try >> to fix that bug by altering the Kconfig menus. >> >> I understand that your intention is to help others. Meanwhile, the >> default behavior is for MEDIA_TUNER_CUSTOMIZE to be disabled. Even if >> MEDIA_TUNER_CUSTOMIZE is enabled, the default behavior of TUNER_SIMPLE >> is to be selected by default when MEDIA_TUNER_CUSTOMIZE is selected. >> >> The only way to disable TUNER_SIMPLE in this case is to manually disable >> it on purpose. >> >> If you leave MEDIA_TUNER_CUSTOMIZE disabled, then you will not run into >> this problem. >> >> Please accept this answer -- there isn't much more to be said on the >> topic. >> >> -Mike > Mike, > > First, I appreciate your time and responses, truly. > > To a kernel developer your logic makes sense. > > Your change to make MEDIA_TUNER_CUSTOMIZE disabled by default is > ineffective because the perl script creating the config the first time > you run make menuconfig enables the option. If that is of no concern, > then so be it. I am not certain why you asked me to test changes which > had zero difference in behavior, if you weren't interested in the > results. > The mercurial tree on linuxtv.org is a staging area -- the ACTUAL build system lives in the kernel tree. You have pointed out a bug in make_kconfig.pl and it should be fixed. > To sum this up as I understand: > > 1) The cx18 driver somehow requires the presence of simple tuner, but > since it does not explicitly make a call to it; it is not auto selected. The cx18 driver DOES NOT require tuner-simple. It is the HVR1600 that requires the tuner-simple module, for analog tuner mode only. Thus, when a user selects VIDEO_CX18, the default behavior is for TUNER_SIMPLE to also get selected. > 2) Setting any default to no in Kconfig is negated by the perl script > run during the first instance of make menuconfig which builds a > default .config file with everything set to yes. It's a bug in the linuxtv.org development repository -- bugs exist -- they don't get fixed until somebody notices them. You noticed this bug -- now somebody can fix it. > 3) If I'd just blindly make all of the tuners and modules, we'd not be > having this discussion. :) ...or if you didnt manually disable TUNER_SIMPLE, which was enabled by default, we'd not be having this discussion, either. And now I think more than enough time was spent on this. -Mike _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb