From 5d33ee92ac2556ab1e53db4644af672e2e136013 Mon Sep 17 00:00:00 2001
From: Sylwester Nawrocki <s.nawrocki@samsung.com>
Date: Thu, 16 Aug 2012 14:06:41 -0300
Subject: [PATCH] [media] s5p-fimc: Fix setup of initial links to FIMC entities

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 | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/s5p-fimc/fimc-mdevice.c b/drivers/media/platform/s5p-fimc/fimc-mdevice.c
index 3c76bd948fdb4..e2aa8d99d8584 100644
--- a/drivers/media/platform/s5p-fimc/fimc-mdevice.c
+++ b/drivers/media/platform/s5p-fimc/fimc-mdevice.c
@@ -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);
 	}
 
-- 
GitLab