[linux-dvb] [PATCH] add device node locking possibility to dvbcore

Manu Abraham abraham.manu at gmail.com
Sat Aug 18 09:55:40 CEST 2007


>>> ts_bus_ctrl does a kind of reference counting.
>>>
>>> For readers:
>>> - fe->ops.ts_bus_ctrl(fe,1) is called during open
>>> - fe->ops.ts_bus_ctrl(fe,0) is called during close
>>>
>>> For the one and only writer:
>>> - fe->ops.ts_bus_ctrl(fe,1) is called during open
>>> - fe->ops.ts_bus_ctrl(fe,0) is called when the thread exits,
>>>   usually after close
> 
> So, how do you tell if the ts bus is already locked?
> 
>> I didn't want to write it but this is also what I would do, and I
>> would also include the other dvb device nodes.. it doesn't make sense
>> to keep them open as non functional dummies, or even allow people to
>> open these nodes if the dvb mode is locked.
> 
> What about a device with two frontends?  Maybe the DVB-T/Analog frontend is
> locked by the V4L device, but you can still use a DVB-S frontend with dvb.  In
> that case the demux could still be opened and used.


This is what i stated multiple times: "lock the device bus". It is a
device property of a device with a single bus and 2 frontends. (A device
driver represents the Hardware configuration, you are not making
anything new/revolutionary here)

Bus Locking wouldn't be necessary for a device with 2 frontends and 2
buses (ie 1:1 ratio, locking is required in cases other than this 1:1
case). That simple. But the general idea that carried forward was DVB
core has to do the locking, rather than individual devices, which was
conceptually wrong.





More information about the linux-dvb mailing list