Patrick Boettcher wrote: > When rewriting the skystar2 driver I saw something, which maybe can be put > into an upper layer: > > Every driver, which's hardware supports PID filtering (in the demod or > anywhere else), implements a similar mechanism: They hold a table or a > static list with at least an unique ID, a pid value and an active-switch. > Each time the start_feed-callback is called they look for a free entry in > this list and reserve it until it is freed by the stop_feed-callback. The > unique ID can be understood as the position in the pid-filter-table of the > hardware, just incrementing the feed_count is of course not enough and ID > can be reused. For examples, see dvb-dibusb-pid, skystar2, ttusb-budget. > > The easiest solution would be to add a unique ID to struct dvb_demux_feed. > Some ugly code duplicates can then be removed. > > Please have a look at the attached patch. Does this small change in > dvb_demux.[ch] is sufficient, or did I miss anything? I guess dvb_demux.[ch] was written with devices like the Nova cards in mind. If your tiny patch lets us drop unnecessary code from dvb-dibusb-pid, skystar2, ttusb-budget then it can't be wrong ;-) Johannes