Johannes Stezenbach wrote: > On Mon, Aug 20, 2007, Manu Abraham wrote: >> Michael Krufky wrote: >> >>> -- this is a system-wide addition to the >>> dvb_frontend structure, because we are adding analog tuning >>> functionality to the dvb_frontend. >> Analog tuning is public to DVB core ? I don't think so. It would've been >> correct, if DVB core does analog operations, but DVB core doesn't do any >> Analog operations. > > Well, supporting hybrid tuners means that analog and digital > worlds have to touch somewhere... > >>> I agree that elegance is very important, and that is why I disagree with >>> the extra layers of complexity that you are proposing here. >> Every DVB demodulator driver that you write does this. >> >> struct dvb_frontend { >> struct dvb_frontend_ops ops; >> struct dvb_adapter *dvb; >> void* demodulator_priv; >> void* tuner_priv; >> void* frontend_priv; >> void* sec_priv; >> void* hybrid_priv; >> }; >> >> >> So whatever that which dvb_core doesn't handle is "private". I don't >> understand what you mean by extra complex layer. > > I think the rule of thumb is to use void* only when it points > to different things for each driver (e.g. struct tda8083_state*, > struct ves1820_state* etc.). If we know it will always point to > struct analog_parameters (or set_analog_params) then using > void* is IMHO wrong. When you have integrated analog decoders, you have more than set_analog_parameters. And it is coming. So you keep piling them up in dvb_frontend.h, that which belongs elsewhere. _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb