[media] au0828: Create connector links
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 31 Aug 2015 16:23:28 +0000 (13:23 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 11 Jan 2016 14:18:58 +0000 (12:18 -0200)
Now that connectors are entities, we need to represent the
connector links.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/usb/au0828/au0828-core.c

index 02aa6d3edffdfc222b818be8b4b56d32163c3dd2..0d77e9cc303b4d702107e86f3e89620b99f66fea 100644 (file)
@@ -259,6 +259,7 @@ static void au0828_create_media_graph(struct au0828_dev *dev)
        struct media_device *mdev = dev->media_dev;
        struct media_entity *entity;
        struct media_entity *tuner = NULL, *decoder = NULL;
+       int i;
 
        if (!mdev)
                return;
@@ -276,6 +277,7 @@ static void au0828_create_media_graph(struct au0828_dev *dev)
 
        /* Analog setup, using tuner as a link */
 
+       /* Something bad happened! */
        if (!decoder)
                return;
 
@@ -286,6 +288,30 @@ static void au0828_create_media_graph(struct au0828_dev *dev)
                              MEDIA_LNK_FL_ENABLED);
        media_create_pad_link(decoder, 2, &dev->vbi_dev.entity, 0,
                              MEDIA_LNK_FL_ENABLED);
+
+       for (i = 0; i < AU0828_MAX_INPUT; i++) {
+               struct media_entity *ent = &dev->input_ent[i];
+
+               if (AUVI_INPUT(i).type == AU0828_VMUX_UNDEFINED)
+                       break;
+
+               switch (AUVI_INPUT(i).type) {
+               case AU0828_VMUX_CABLE:
+               case AU0828_VMUX_TELEVISION:
+               case AU0828_VMUX_DVB:
+                       if (tuner)
+                               media_create_pad_link(ent, 0, tuner,
+                                                     TUNER_PAD_RF_INPUT,
+                                                     MEDIA_LNK_FL_ENABLED);
+                       break;
+               case AU0828_VMUX_COMPOSITE:
+               case AU0828_VMUX_SVIDEO:
+               default: /* AU0828_VMUX_DEBUG */
+                       /* FIXME: fix the decoder PAD */
+                       media_create_pad_link(ent, 0, decoder, 0, 0);
+                       break;
+               }
+       }
 #endif
 }
 
This page took 0.04495 seconds and 5 git commands to generate.