On Saturday 06 May 2006 18:55, Patrick Boettcher wrote: > Hi list, > > I'm about to write the mt2060-driver using dvb_tuner and dvb_tuner_ops and > I stumbled over something: > > dvb_tuner_ops inside dvb_frontend_ops is not a pointer but a real field. > That's why the static dvb_tuner_ops of a tuner have to be copied directly > into dvb_frontend_ops.tuner_ops . > > This mechanism is different to dvb_frontend_ops which is (and has been > for a long time) a pointer in dvb_frontend. That's why every demod-driver > is having a field of dvb_frontend_ops in its private-state-struct and > using the reference for filling the pointer-field in dvb_frontend. > > Is there a specific reason for having the same "mechanism" implemented in > different ways I maybe missed during the discussion? If not, would it be > useful to change the dvb_frontend_ops* into dvb_frontend_ops and be > coherent with the new dvb_tuner_ops: > > - It would save at least two lines of code per demod-driver, > - would make it a little bit easier for newbies to understand how it works > and > - would avoid stupid mistakes because you would have to copy the > dvb_frontend_ops always, currently you can assign the static pointer > directly, which is dangerous. yeah I see what you mean - the last reason is a _really_ good reason for doing this (the others are more cosmetic, but still valid). _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb