OSDN Git Service

[media] s5p-fimc: Fix setup of initial links to FIMC entities
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Thu, 16 Aug 2012 17:06:41 +0000 (14:06 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 1 Oct 2012 17:56:33 +0000 (14:56 -0300)
This patch fixes regression introduced in commit
4af813108b880e96a4b8b01e162f950a4aaa2475. Missing pointers
to the sensor subdevs are restored along with subdev callback
notifications to a corresponding FIMC instance driver.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/platform/s5p-fimc/fimc-mdevice.c

index 3c76bd9..e2aa8d9 100644 (file)
@@ -617,6 +617,7 @@ static int __fimc_md_create_flite_source_links(struct fimc_md *fmd)
  */
 static int fimc_md_create_links(struct fimc_md *fmd)
 {
+       struct v4l2_subdev *csi_sensors[2] = { NULL };
        struct v4l2_subdev *sensor, *csis;
        struct s5p_fimc_isp_info *pdata;
        struct fimc_sensor_info *s_info;
@@ -659,6 +660,7 @@ static int fimc_md_create_links(struct fimc_md *fmd)
                                  sensor->entity.name, csis->entity.name);
 
                        source = NULL;
+                       csi_sensors[pdata->mux_id] = sensor;
                        break;
 
                case FIMC_ITU_601...FIMC_ITU_656:
@@ -684,9 +686,10 @@ static int fimc_md_create_links(struct fimc_md *fmd)
                        continue;
                source = &fmd->csis[i].sd->entity;
                pad = CSIS_PAD_SOURCE;
+               sensor = csi_sensors[i];
 
                link_mask = 1 << fimc_id++;
-               ret = __fimc_md_create_fimc_sink_links(fmd, source, NULL,
+               ret = __fimc_md_create_fimc_sink_links(fmd, source, sensor,
                                                       pad, link_mask);
        }