[linux-dvb] Re: DST/BT878 module customization
(.. was: Critical points about ...)
Mauro Carvalho Chehab
mchehab at infradead.org
Fri May 4 11:23:34 CEST 2007
> > It would be nice, however, to have a patch making dvb_attach more
> > generic, by e.g. having a variant that allows passing another message.
> Only this message is from dvb_attach():
> > DVB: Unable to find symbol dst_attach()
> Is it saying that it cannot load the module that dst_attach() is in (it
> doesn't know what module that is, modprobe knows that). If you enabled dst
> support and deleted the module, it would be the same.
> If you turn off dvb_attach() and also disable dst, you should instead get
> this message:
> dst_attach: driver disabled by Kconfig
> Maybe that would look nicer with a "DVB: " prefix? That would easier if it
> wasn't necessary to update the printk in each boilerplate stub function. What
> if one macro created these stubs....
> > frontend_init: Could not find a Twinhan DST.
> > dvb-bt8xx: A frontend driver was not found for device 109e/0878 subsystem fbfb/f800
> These two messages are printed by the dvb-bt8xx driver, not by dvb_attach().
> It would be trivial to change of course, but I'm not sure what would be
> pedantically correct for both dst and non-dst based hardware.
Sorry, this is what I meant: to fix the above message. The dvb_attach is
Maybe a more nice text would be something like:
"Couldn't initialize frontend helper modules for device ..."
since dvb_attach will also print what modules were not loaded.
> > There's an argument against the prototype changes on dst_attach and
> > dst_ca_attach since they aren't frontend.
> The reason I changed that, is the dst_attach() already did return a
> dvb_frontend pointer, it was just inside an enclosing structure. i.e. what
> existed before:
> struct dst_state *state;
> state = dst_attach(...);
> card->fe = &state->frontend;
> } /* state goes out of scope */
> The frontend is inside the state struct and the state pointer isn't saved
> anywhere. dvb-bt8xx just saves a frontend pointer from inside the dst state
> and tosses the state pointer away. So I changed that to:
> card->fe = dst_attach(...);
IMO, this made the code cleaner.
More information about the linux-dvb