On Thu, Mar 12, 2009 at 4:54 AM, Mauro Carvalho Chehab
<mche...@infradead.org> wrote:
> Hi Devin,
>
> There's a bug on your patch series: see this:
>
> Those are the locations of au8522 files at Kernel's tree:
>        drivers/media/dvb/frontends/au8522.h
>        drivers/media/dvb/frontends/au8522_dig.c
>        drivers/media/dvb/frontends/au8522_priv.h
>        drivers/media/video/au8522_decoder.c
>
> And those are the Makefile rules for au8522.h on 
> drivers/media/dvb/frontends/Makefile:
>
> au8522-objs = au8522_dig.o au8522_decoder.o
> obj-$(CONFIG_DVB_AU8522) += au8522.o
>
> When you're compiling the out-of-tree version, everything works OK, but, for
> in-tree compilation, au8522_decoder won't be compiled, since the file will be
> in the wrong dir.
>
> If I'm understanding well, this chip has two functions: it is a dvb frontend
> and an analog video/audio demodulator, right?
>
> One solution would be to have all those files in the same directory. However,
> au8522_decoder doesn't fit well on dvb/frontends. It is also not a tuner,
> otherwise common/tuners would be another better place.
>
> Another alternative would be to create two kconfig rules (and two separate
> modules), being one for au8522_decoder and another for the frontend, since 
> they
> are, in fact, two different things.
>
> I suspect,however, that compiling just one or another would break compilation.
> So, we need to create some sort of rules that will warrant that both modules
> will be compiled at the same time. This is not an easy task, since we cannot
> add "depends on", since frontends are compiled by using "select". So, we will
> need to re-design the Kconfig rules to use depends on instead of select (well,
> this is something good, anyway, since the usage of "select" is something that
> should be avoided, according with Kbuild docs).
>
> I'll keep reviewing the patch series. Maybe I'll merge it, but, in this case,
> I'll need to blacklist the module until we found a solution, or find a way to
> allow my -git trees to compile.
>
> Cheers,
> Mauro
>

Hello Mauro,

Both files are required, as they share certain functions (such as the
i2c transfer functions).  Also, they share a common state mechanism,
which is why both files end up in the same .ko file.

This case is a little unique since it is the first case where we have
a single chip that acts as a digital demod, an analog demod, and an
analog video/audio decoder.

I can certainly put the au8522_decoder.c into dvb/frontends even
though this probably violates some rule about analog stuff being in
the DVB section of the tree.  Would that resolve your concern?

I really don't want to make redesigning the KConfig rules a
prerequisite to getting this rather large patch series merged.  I
would suggest we do what is required to get the code in (such as
moving the _decoder.c to frontends), and then we can tune the solution
to be something more optimal in terms of how the tree is structured.

Devin

-- 
Devin J. Heitmueller
http://www.devinheitmueller.com
AIM: devinheitmueller
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to