From: mkrufky@linuxtv.org
To: bcjenkins@tvwhere.com
Cc: linux-dvb@linuxtv.org
Subject: Re: [linux-dvb] cx18 or tveeprom - Missing dependency? [SOLVED?]
Date: Tue, 17 Jun 2008 15:23:59 -0400 [thread overview]
Message-ID: <48580F4F.2010301@linuxtv.org> (raw)
In-Reply-To: <9BD27DD1-A79E-43CE-AD3F-324F35DC1971@tvwhere.com>
Brandon Jenkins wrote:
>
> On Jun 17, 2008, at 2:42 PM, mkrufky@linuxtv.org wrote:
>
>> Brandon Jenkins wrote:
>>>
>>> On Jun 17, 2008, at 1:39 PM, mkrufky@linuxtv.org wrote:
>>>
>>>> Brandon Jenkins wrote:
>>>>>
>>>>> On Jun 17, 2008, at 12:17 PM, mkrufky@linuxtv.org wrote:
>>>>>
>>>>>> Brandon Jenkins wrote:
>>>>>>>
>>>>>>> On Jun 17, 2008, at 11:24 AM, mkrufky@linuxtv.org wrote:
>>>>>>>
>>>>>>>> Brandon Jenkins wrote:
>>>>>>>>>
>>>>>>>>> On Jun 17, 2008, at 10:52 AM, mkrufky@linuxtv.org 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@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
next prev parent reply other threads:[~2008-06-17 19:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-17 13:31 [linux-dvb] cx18 or tveeprom - Missing dependency? Brandon Jenkins
2008-06-17 13:38 ` Michael Krufky
2008-06-17 13:41 ` Brandon Jenkins
2008-06-17 14:52 ` mkrufky
2008-06-17 15:19 ` Brandon Jenkins
2008-06-17 15:24 ` mkrufky
2008-06-17 16:06 ` [linux-dvb] cx18 or tveeprom - Missing dependency? [PATCH] Brandon Jenkins
2008-06-17 16:17 ` mkrufky
2008-06-17 16:31 ` Brandon Jenkins
2008-06-17 17:39 ` mkrufky
2008-06-17 18:33 ` Brandon Jenkins
2008-06-17 18:42 ` mkrufky
2008-06-17 19:15 ` [linux-dvb] cx18 or tveeprom - Missing dependency? [SOLVED?] Brandon Jenkins
2008-06-17 19:23 ` mkrufky [this message]
2008-06-17 19:51 ` Brandon Jenkins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48580F4F.2010301@linuxtv.org \
--to=mkrufky@linuxtv.org \
--cc=bcjenkins@tvwhere.com \
--cc=linux-dvb@linuxtv.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox