From: Andreas Oberritter Glue code for DMX_GET_CAPS and DMX_SET_SOURCE ioctls. Signed-off-by: Andreas Oberritter Signed-off-by: Johannes Stezenbach Signed-off-by: Andrew Morton --- drivers/media/dvb/dvb-core/demux.h | 5 +++++ drivers/media/dvb/dvb-core/dmxdev.c | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff -puN drivers/media/dvb/dvb-core/demux.h~dvb-core-glue-code-for-dmx_get_caps-and-dmx_set_source drivers/media/dvb/dvb-core/demux.h --- devel/drivers/media/dvb/dvb-core/demux.h~dvb-core-glue-code-for-dmx_get_caps-and-dmx_set_source 2005-09-04 16:50:50.000000000 -0700 +++ devel-akpm/drivers/media/dvb/dvb-core/demux.h 2005-09-04 16:50:50.000000000 -0700 @@ -30,6 +30,7 @@ #include #include #include +#include /*--------------------------------------------------------------------------*/ /* Common definitions */ @@ -282,6 +283,10 @@ struct dmx_demux { int (*get_pes_pids) (struct dmx_demux* demux, u16 *pids); + int (*get_caps) (struct dmx_demux* demux, struct dmx_caps *caps); + + int (*set_source) (struct dmx_demux* demux, const dmx_source_t *src); + int (*get_stc) (struct dmx_demux* demux, unsigned int num, u64 *stc, unsigned int *base); }; diff -puN drivers/media/dvb/dvb-core/dmxdev.c~dvb-core-glue-code-for-dmx_get_caps-and-dmx_set_source drivers/media/dvb/dvb-core/dmxdev.c --- devel/drivers/media/dvb/dvb-core/dmxdev.c~dvb-core-glue-code-for-dmx_get_caps-and-dmx_set_source 2005-09-04 16:50:50.000000000 -0700 +++ devel-akpm/drivers/media/dvb/dvb-core/dmxdev.c 2005-09-04 16:50:50.000000000 -0700 @@ -929,6 +929,22 @@ static int dvb_demux_do_ioctl(struct ino dmxdev->demux->get_pes_pids(dmxdev->demux, (u16 *)parg); break; + case DMX_GET_CAPS: + if (!dmxdev->demux->get_caps) { + ret = -EINVAL; + break; + } + ret = dmxdev->demux->get_caps(dmxdev->demux, parg); + break; + + case DMX_SET_SOURCE: + if (!dmxdev->demux->set_source) { + ret = -EINVAL; + break; + } + ret = dmxdev->demux->set_source(dmxdev->demux, parg); + break; + case DMX_GET_STC: if (!dmxdev->demux->get_stc) { ret=-EINVAL; _