msm: camera: Probe ov8825 & ov9724 drivers for 8930 SGLTE
i2c device registration for ov8825 & ov9724 is called for
8930 SGLTE device only
Change-Id: I722a31d883c8be14924462847741840b0af170a6
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-8930-camera.c b/arch/arm/mach-msm/board-8930-camera.c
index 6192cc4..5c94b6b 100644
--- a/arch/arm/mach-msm/board-8930-camera.c
+++ b/arch/arm/mach-msm/board-8930-camera.c
@@ -749,6 +749,47 @@
.id = 0,
};
+#ifdef CONFIG_I2C
+struct i2c_board_info msm8930_camera_i2c_boardinfo[] = {
+ {
+ I2C_BOARD_INFO("imx074", 0x1A),
+ .platform_data = &msm_camera_sensor_imx074_data,
+ },
+ {
+ I2C_BOARD_INFO("ov2720", 0x6C),
+ .platform_data = &msm_camera_sensor_ov2720_data,
+ },
+ {
+ I2C_BOARD_INFO("mt9m114", 0x48),
+ .platform_data = &msm_camera_sensor_mt9m114_data,
+ },
+ {
+ I2C_BOARD_INFO("s5k3l1yx", 0x20),
+ .platform_data = &msm_camera_sensor_s5k3l1yx_data,
+ },
+ {
+ I2C_BOARD_INFO("tps61310", 0x66),
+ },
+};
+
+/* 8930 SGLTE device */
+struct i2c_board_info msm8930_evt_camera_i2c_boardinfo[] = {
+ {
+ I2C_BOARD_INFO("ov8825", 0x6c>>1),
+ .platform_data = &msm_camera_sensor_ov8825_data,
+ },
+ {
+ I2C_BOARD_INFO("ov9724", 0x20>>1),
+ .platform_data = &msm_camera_sensor_ov9724_data,
+ },
+};
+
+struct msm_camera_board_info msm8930_camera_board_info = {
+ .board_info = msm8930_camera_i2c_boardinfo,
+ .num_i2c_board_info = ARRAY_SIZE(msm8930_camera_i2c_boardinfo),
+};
+#endif
+
void __init msm8930_init_cam(void)
{
msm_gpiomux_install(msm8930_cam_common_configs,
@@ -759,6 +800,12 @@
PLATFORM_SUBTYPE_SGLTE)) {
msm_gpiomux_install(msm8930_evt_cam_configs,
ARRAY_SIZE(msm8930_evt_cam_configs));
+
+ /* Load ov8825 & ov9724 only for SGLTE device */
+ msm8930_camera_board_info.board_info =
+ msm8930_evt_camera_i2c_boardinfo;
+ msm8930_camera_board_info.num_i2c_board_info =
+ ARRAY_SIZE(msm8930_evt_camera_i2c_boardinfo);
}
if (machine_is_msm8930_cdp()) {
@@ -786,41 +833,4 @@
platform_device_register(&msm8960_device_vfe);
platform_device_register(&msm8960_device_vpe);
}
-
-#ifdef CONFIG_I2C
-struct i2c_board_info msm8930_camera_i2c_boardinfo[] = {
- {
- I2C_BOARD_INFO("imx074", 0x1A),
- .platform_data = &msm_camera_sensor_imx074_data,
- },
- {
- I2C_BOARD_INFO("ov2720", 0x6C),
- .platform_data = &msm_camera_sensor_ov2720_data,
- },
- {
- I2C_BOARD_INFO("mt9m114", 0x48),
- .platform_data = &msm_camera_sensor_mt9m114_data,
- },
- {
- I2C_BOARD_INFO("s5k3l1yx", 0x20),
- .platform_data = &msm_camera_sensor_s5k3l1yx_data,
- },
- {
- I2C_BOARD_INFO("tps61310", 0x66),
- },
- {
- I2C_BOARD_INFO("ov8825", 0x6c>>1),
- .platform_data = &msm_camera_sensor_ov8825_data,
- },
- {
- I2C_BOARD_INFO("ov9724", 0x20>>1),
- .platform_data = &msm_camera_sensor_ov9724_data,
- },
-};
-
-struct msm_camera_board_info msm8930_camera_board_info = {
- .board_info = msm8930_camera_i2c_boardinfo,
- .num_i2c_board_info = ARRAY_SIZE(msm8930_camera_i2c_boardinfo),
-};
-#endif
#endif