Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: refactoring



On Friday 01 Oct 2004 14:26, Kenneth Aafløy wrote:
> On Friday 01 October 2004 13:46, Gerd Knorr wrote:
> > On Fri, Oct 01, 2004 at 10:59:52AM +0100, Andrew de Quincey wrote:
> > > On Friday 01 Oct 2004 08:49, you wrote:
> > > > For the cx22702 you should be able to simply take the code from the
> > > > v4l cvs ...
> > >
> > > Doh! I wish I'd remembered that.. I've already done that one.
> >
> >  - rework Kconfig: don't ask the users which FE they want to build, but
> >    enable the ones needed via "select" [1].  That makes it easier for the
> >    users (you can't forget to enable the frontend, and you don't need to
> >    know which one your card has) and also avoids the source being
> >    cluttered up with "#ifdef CONFIG_DVB_<FRONTEND>".
> >
> > config VIDEO_CX88_DVB
> >         tristate "DVB Support for cx2388x based TV cards"
> >         depends on VIDEO_CX88 && DVB_CORE
> >         select DVB_CX22702
> >         ---help---
> >         <help text here>
>
> Please, don't use select, that will force a user with a Nexus-S with the
> stv0299 frontend to have all other frontends compiled in. This will create
> bloated drivers, and actually would hurt the embedded platform (Holger
> argued that the i2c core was huge, don't think he wants to be forced to
> include more frontends)
>
> Use the default construct instead, which makes it possible to deselect, but
> 'reminds' the user that it's probably a good idea to select this item.
>
>         default y if VIDEO_CX88_DVB=y
>  default m if VIDEO_CX88_DVB=m

That isn't going to work - card drivers are linked directly to frontend 
drivers by the exported XXX_attach() calls, and by the card's implementation 
of the PLL code.

I'd suggest (for cards which need multiple frontends) we allow the users to 
customise which frontends have support compiled in for each card. By default, 
all of the frontends which the card might possibly need are selected.

Therefore people who just want to get their new card going, and don't really 
care about the size of the resulting modules can quickly select the driver 
and not care about frontends (which realistically is going to be most 
end-users). 

However, people who do care about size will still have the option to customise 
exactly which frontend is supported.

Sound ok?




Home | Main Index | Thread Index