From: mkrufky@linuxtv.org
To: mchehab@infradead.org
Cc: mingo@elte.hu, linux-kernel@vger.kernel.org,
g.liakhovetski@pengutronix.de, isely@pobox.com
Subject: Re: [patch] video: build fix for drivers/media/video/pvrusb2/
Date: Tue, 13 May 2008 11:54:01 -0400 [thread overview]
Message-ID: <4829B999.2090108@linuxtv.org> (raw)
In-Reply-To: <20080513124630.111c465b@gaivota>
Mauro Carvalho Chehab wrote:
> On Tue, 13 May 2008 00:03:02 -0400
> "Michael Krufky" <mkrufky@linuxtv.org> wrote:
>
>
>> On Mon, May 12, 2008 at 10:54 PM, Mauro Carvalho Chehab
>> <mchehab@infradead.org> wrote:
>>
>>> On Sun, 11 May 2008 08:34:06 -0400
>>> "Michael Krufky" <mkrufky@linuxtv.org> wrote:
>>>
>>> > On Sun, May 11, 2008 at 3:21 AM, Ingo Molnar <mingo@elte.hu> wrote:
>>> > >
>>> > > x86.git testing found the following build failure:
>>> > >
>>> > > drivers/built-in.o: In function `pvr2_dvb_feed_thread':
>>> > > pvrusb2-dvb.c:(.text+0x127e78): undefined reference to
`dvb_dmx_swfilter'
>>> > > drivers/built-in.o: In function `pvr2_dvb_adapter_exit':
>>> > > pvrusb2-dvb.c:(.text+0x128357): undefined reference to
`dvb_net_release'
>>> > > pvrusb2-dvb.c:(.text+0x12836f): undefined reference to
`dvb_dmxdev_release'
>>> > > [...]
>>> > >
>>> > > with this config:
>>> > >
>>> > >
http://redhat.com/~mingo/misc/config-Sun_May_11_07_06_35_CEST_2008.bad
>>> > >
>>> > > the reason for the missing symbols is this combination:
>>> > >
>>> > > CONFIG_VIDEO_PVRUSB2=y
>>> > > CONFIG_DVB_CORE=m
>>> > >
>>> > > i.e. pvrusb2 is built-in, dvb-core is modular.
>>> > >
>>> > > This patch solves the problem by adding a dependency on DVB_CORE -
this
>>> > > is used by other drivers such as au0828 as well. This way the
pvrusb2
>>> > > driver can still be built, but if dvb-core is a module then it will
>>> > > correctly be a module as well and cannot be built-in.
>>> > >
>>> > > Signed-off-by: Ingo Molnar <mingo@elte.hu>
>>> > > ---
>>> > > drivers/media/video/pvrusb2/Kconfig | 2 +-
>>> > > 1 file changed, 1 insertion(+), 1 deletion(-)
>>> > >
>>> > > Index: linux/drivers/media/video/pvrusb2/Kconfig
>>> > > ===================================================================
>>> > > --- linux.orig/drivers/media/video/pvrusb2/Kconfig
>>> > > +++ linux/drivers/media/video/pvrusb2/Kconfig
>>> > > @@ -1,6 +1,6 @@
>>> > > config VIDEO_PVRUSB2
>>> > > tristate "Hauppauge WinTV-PVR USB2 support"
>>> > > - depends on VIDEO_V4L2 && I2C
>>> > > + depends on VIDEO_V4L2 && I2C && DVB_CORE
>>> > > select FW_LOADER
>>> > > select MEDIA_TUNER
>>> > > select VIDEO_TVEEPROM
>>> > >
>>> >
>>> > Ingo,
>>> >
>>> > VIDEO_PVRUSB2 should not depend on DVB_CORE unless VIDEO_PVRUSB2_DVB
>>> > is selected, which already depends on DVB_CORE.
>>> >
>>> > For example, if a user has VIDEO_PVRUSB2_DVB not selected, then your
>>> > patch would generate a false dependency on DVB_CORE.
>>>
>>> Maybe we can make pvrusb2 dependent of VIDEO_MEDIA. This is a DVB_CORE
||
>>> VIDEO_DEV. So, pvrusb should be 'm' in this case.
>>>
>> That sounds like it would be OK, although something like this would
>> probably be better:
>>
>> config VIDEO_PVRUSB2
>> tristate "Hauppauge WinTV-PVR USB2 support"
>> - depends on VIDEO_V4L2 && I2C
>> + depends on VIDEO_V4L2 && I2C && (DVB_CORE if VIDEO_PVRUSB2_DVB)
>> select FW_LOADER
>> select MEDIA_TUNER
>> select VIDEO_TVEEPROM
>>
>
> This doesn't look to be a good idea, since VIDEO_PVRUSB2_DVB depends on
> VIDEO_PVRUSB2. So, you'll create a circular dependency. The syntax I've
> proposed seems cleaner. Of course, it needs to be tested. IMO, all hybrid
> devices should be dependent of VIDEO_MEDIA. This will help to avoid this
kind
> of issue.
>
>
>> I don't know if that syntax works for "depends on" , but it does work
>> for select.
>>
>> if "depends on FOO if BAR" doesnt work, would adding "select DVB_CORE
>> if VIDEO_PVRUSB2_DVB" solve the problem?
>>
>
> Also, this leads into a circular reference.
Mauro,
You're right -- I didn't consider the circular dependency.
Your suggestion (depends on VIDEO_MEDIA) seems like the right way to go.
Regards,
Mike Krufky
next prev parent reply other threads:[~2008-05-13 15:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-11 7:21 [patch] video: build fix for drivers/media/video/pvrusb2/ Ingo Molnar
2008-05-11 12:34 ` Michael Krufky
2008-05-13 2:54 ` Mauro Carvalho Chehab
2008-05-13 4:03 ` Michael Krufky
2008-05-13 15:46 ` Mauro Carvalho Chehab
2008-05-13 15:54 ` mkrufky [this message]
2008-05-13 16:30 ` mkrufky
2008-05-13 15:56 ` Mike Isely
2008-05-13 16:02 ` Mike Isely
2008-05-14 6:01 ` Mauro Carvalho Chehab
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=4829B999.2090108@linuxtv.org \
--to=mkrufky@linuxtv.org \
--cc=g.liakhovetski@pengutronix.de \
--cc=isely@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=mingo@elte.hu \
/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