Re: [PATCH v8 27/55] [media] dvbdev: add support for indirect interface links

2015-09-06 Thread Mauro Carvalho Chehab
Some interfaces indirectly control multiple entities.
Add support for those.

Signed-off-by: Mauro Carvalho Chehab 
Acked-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

2015-08-31 Thread Hans Verkuil
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

2015-08-29 Thread Mauro Carvalho Chehab
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