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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.