Re: [PATCH v8 27/55] [media] dvbdev: add support for indirect interface links
Some interfaces indirectly control multiple entities. Add support for those. Signed-off-by: Mauro Carvalho ChehabAcked-by: Hans Verkuil diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c index 6bf61d42c017..ada0738d26f2 100644 --- a/drivers/media/dvb-core/dvbdev.c +++ b/drivers/media/dvb-core/dvbdev.c @@ -441,6 +441,7 @@ void dvb_create_media_graph(struct dvb_adapter *adap) struct media_device *mdev = adap->mdev; struct media_entity *entity, *tuner = NULL, *fe = NULL; struct media_entity *demux = NULL, *dvr = NULL, *ca = NULL; + struct media_interface *intf; if (!mdev) return; @@ -476,6 +477,16 @@ void dvb_create_media_graph(struct dvb_adapter *adap) if (demux && ca) media_create_pad_link(demux, 1, ca, 0, MEDIA_LNK_FL_ENABLED); + + /* Create indirect interface links for FE->tuner, DVR->demux and CA->ca */ + list_for_each_entry(intf, >interfaces, list) { + if (intf->type == MEDIA_INTF_T_DVB_CA && ca) + media_create_intf_link(ca, intf, 0); + if (intf->type == MEDIA_INTF_T_DVB_FE && tuner) + media_create_intf_link(tuner, intf, 0); + if (intf->type == MEDIA_INTF_T_DVB_DVR && demux) + media_create_intf_link(demux, intf, 0); + } } EXPORT_SYMBOL_GPL(dvb_create_media_graph); #endif -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 27/55] [media] dvbdev: add support for indirect interface links
On 08/30/2015 05:06 AM, Mauro Carvalho Chehab wrote: > Some interfaces indirectly control multiple entities. > Add support for those. > > Signed-off-by: Mauro Carvalho Chehab> > diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c > index 6bf61d42c017..14d32cdcdd47 100644 > --- a/drivers/media/dvb-core/dvbdev.c > +++ b/drivers/media/dvb-core/dvbdev.c > @@ -441,6 +441,7 @@ void dvb_create_media_graph(struct dvb_adapter *adap) > struct media_device *mdev = adap->mdev; > struct media_entity *entity, *tuner = NULL, *fe = NULL; > struct media_entity *demux = NULL, *dvr = NULL, *ca = NULL; > + struct media_interface *intf; > > if (!mdev) > return; > @@ -476,6 +477,18 @@ void dvb_create_media_graph(struct dvb_adapter *adap) > > if (demux && ca) > media_create_pad_link(demux, 1, ca, 0, MEDIA_LNK_FL_ENABLED); > + > + /* Create indirect interface links for FE->tuner, DVR->demux and CA->ca > */ > + list_for_each_entry(intf, >interfaces, list) { > + if (intf->type == MEDIA_INTF_T_DVB_CA && ca) > + media_create_intf_link(ca, intf, 0); > + if (intf->type == MEDIA_INTF_T_DVB_FE && tuner) > + media_create_intf_link(tuner, intf, 0); > + if (intf->type == MEDIA_INTF_T_DVB_DVR && demux) > + media_create_intf_link(demux, intf, 0); > + } > + > + Spurious newlines. After removing you can add my: Acked-by: Hans Verkuil > } > EXPORT_SYMBOL_GPL(dvb_create_media_graph); > #endif > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v8 27/55] [media] dvbdev: add support for indirect interface links
Some interfaces indirectly control multiple entities. Add support for those. Signed-off-by: Mauro Carvalho Chehab mche...@osg.samsung.com diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c index 6bf61d42c017..14d32cdcdd47 100644 --- a/drivers/media/dvb-core/dvbdev.c +++ b/drivers/media/dvb-core/dvbdev.c @@ -441,6 +441,7 @@ void dvb_create_media_graph(struct dvb_adapter *adap) struct media_device *mdev = adap-mdev; struct media_entity *entity, *tuner = NULL, *fe = NULL; struct media_entity *demux = NULL, *dvr = NULL, *ca = NULL; + struct media_interface *intf; if (!mdev) return; @@ -476,6 +477,18 @@ void dvb_create_media_graph(struct dvb_adapter *adap) if (demux ca) media_create_pad_link(demux, 1, ca, 0, MEDIA_LNK_FL_ENABLED); + + /* Create indirect interface links for FE-tuner, DVR-demux and CA-ca */ + list_for_each_entry(intf, mdev-interfaces, list) { + if (intf-type == MEDIA_INTF_T_DVB_CA ca) + media_create_intf_link(ca, intf, 0); + if (intf-type == MEDIA_INTF_T_DVB_FE tuner) + media_create_intf_link(tuner, intf, 0); + if (intf-type == MEDIA_INTF_T_DVB_DVR demux) + media_create_intf_link(demux, intf, 0); + } + + } EXPORT_SYMBOL_GPL(dvb_create_media_graph); #endif -- 2.4.3 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html