Mailing List archive

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

[linux-dvb] Re: refactoring



[snip]

> the ioctl wrapper is only implemented
> once for all drivers (the demod code could communicate with the frontend
> infrastructure via a thin function-pointer-in-struct interface).

Interesting idea this one - this is the sort of thing I'm trying to sort out 
with the refactoring.


I see it as:

struct dvb_fe_functions {

 int (*set_symbol_rate)(....)
 ....
};

Then each frontend driver exposes its implementation of that function (if it 
has one):

extern int stv0299_set_symbol_rate(...);

When attaching the frontend, the card driver just picks the functions it wants 
from the demod implementation - it can supply its own implementation if it 
needs to. Much neater than a clunky ioctl_override() function.

I'll try implementing this later to see how it pans out for a real case.




Home | Main Index | Thread Index