]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
[media] v4l: vsp1: Make the BRU optional
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Fri, 14 Aug 2015 16:53:45 +0000 (13:53 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 19 Feb 2016 11:17:06 +0000 (09:17 -0200)
Not all VSP instances have a BRU on R-Car Gen3, make it optional. Set
the feature unconditionally for now, this will be fixed when adding Gen3
support.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/vsp1/vsp1.h
drivers/media/platform/vsp1/vsp1_drv.c

index 29a8fd94a0aa0d77fdee1e3729b0ed8b2662710f..d980f32aac0b63de6debbd7a311d187c6f19ccff 100644 (file)
@@ -42,6 +42,7 @@ struct vsp1_uds;
 #define VSP1_HAS_LIF           (1 << 0)
 #define VSP1_HAS_LUT           (1 << 1)
 #define VSP1_HAS_SRU           (1 << 2)
+#define VSP1_HAS_BRU           (1 << 3)
 
 struct vsp1_platform_data {
        unsigned int features;
index 447f2bfe89f9a08d47f3cdb3358b10c5d33bc1f7..8d67a06c86ea4ca20a360d3951777bdcfb576861 100644 (file)
@@ -220,13 +220,15 @@ static int vsp1_create_entities(struct vsp1_device *vsp1)
        }
 
        /* Instantiate all the entities. */
-       vsp1->bru = vsp1_bru_create(vsp1);
-       if (IS_ERR(vsp1->bru)) {
-               ret = PTR_ERR(vsp1->bru);
-               goto done;
-       }
+       if (vsp1->pdata.features & VSP1_HAS_BRU) {
+               vsp1->bru = vsp1_bru_create(vsp1);
+               if (IS_ERR(vsp1->bru)) {
+                       ret = PTR_ERR(vsp1->bru);
+                       goto done;
+               }
 
-       list_add_tail(&vsp1->bru->entity.list_dev, &vsp1->entities);
+               list_add_tail(&vsp1->bru->entity.list_dev, &vsp1->entities);
+       }
 
        vsp1->hsi = vsp1_hsit_create(vsp1, true);
        if (IS_ERR(vsp1->hsi)) {
@@ -541,6 +543,7 @@ static int vsp1_parse_dt(struct vsp1_device *vsp1)
                return -EINVAL;
        }
 
+       pdata->features |= VSP1_HAS_BRU;
        pdata->num_bru_inputs = 4;
 
        return 0;