Markus Rechberger wrote: > On 8/9/07, Steven Toth <stoth@xxxxxxxxxxxxx> wrote: > >> Markus Rechberger wrote: >> >>> On 8/9/07, Steven Toth <stoth@xxxxxxxxxxxxx> wrote: >>> >>> >>>> Markus Rechberger wrote: >>>> >>>> >>>>> Following patch adds a rather primitive way to temporary lock dvb >>>>> devicenodes, this can be useful for hybrid devices which use the >>>>> video4linux framework for the analogue TV part and the dvb framework for >>>>> digital TV if only one mode can be accessed at a time. >>>>> >>>>> Signed-off-by: Markus Rechberger <markus.rechberger@xxxxxxx> >>>>> >>>>> >>>>> >>>>> >>>> Call me dumb but I don't understand how this patch helps v4l devices. :) >>>> >>>> Allocation/management of a single card resource doesn't belong inside >>>> the dvb framework, these answers need to come from the bridge-frameworks >>>> (via callbacks from dvb-core or the analog equivalent) who are better >>>> placed to make the decision about hybrid tuners, bus capacity or >>>> allocation, in use devices. >>>> >>>> As a working example, I added similar support in my older HVR3000 tree >>>> where two frontends share a single transport bus. The code is old but it >>>> demonstrates a solution, much the my earlier patches for shared >>>> DVB/Blackbird boards also. >>>> >>>> I understand how this patch helps the current dvb tree, it stops >>>> multiple people opening a device but that's it. ... Or, maybe I've just >>>> missed to point. >>>> >>>> >>>> >>> Hi Steve, >>> >>> the bridge framework triggers locking these filehandles. >>> >>> >> http://mcentral.de/hg/~mrec/v4l-dvb-experimental/file/c0817d73a2a9/linux/drivers/media/video/em28xx/em28xx-video.c >> >>> line 434 >>> this locks the dvb nodes if someone tries to open the v4l devicenode, >>> it first checks if there's still something active at the DVB side. >>> >>> >>> >> http://mcentral.de/hg/~mrec/v4l-dvb-experimental/file/f9f3e6bdd6fc/linux/drivers/media/video/em28xx/em2880-dvb.c >> >>> Line 471 - 484 if this would go into the dvb core we'd have a callback >>> for locking the device nodes. >>> >>> >>> >> Your comment about lines 471-484 make sense, but that code is not >> referenced via a callback (that I can see in the DVB patch) ... which is >> what I expected to see. >> >> To do this cleanly in the dvb-core (or any v4l-core) I suggest requires >> callbacks into the bridge-frameworks and I didn't see those callbacks >> clearly defined in either your original patch, or your follow up >> patches. I was pretty sure I did something similar for the >> DVB/MpegEncoder shared bus support. >> >> Have you seen this? http://linuxtv.org/hg/~stoth/hvr3000/rev/4b846f1d939b >> >> Or more importantly this: >> http://linuxtv.org/hg/~stoth/hvr3000/rev/a619436699cc >> >> Can we just re-use that? >> >> > > Since I don't see any move forward from anyone again, can you extract > that locking callback and submit it independently? I can work around > the issue that the dvb core still tries to access DVB components after > a device has been closed, although you might have to verify that issue > within your drivers too. > > Sure, I'll prepare a patch later this evening. Regards, Steve _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb