linux_dsm_epyc7002/drivers/media/i2c
Grygorii Strashko 2e490139b1 [media] media: i2c: ov2659: speedup probe if no device connected
The ov2659 driver performs device detection and initialization in the
following way:
 - send reset command REG_SOFTWARE_RESET
 - load array of predefined register's setting (~150 values)
 - read device version REG_SC_CHIP_ID_H/REG_SC_CHIP_ID_L
 - check version and exit if invalid.

As result, for not connected device there will be >~150 i2c transactions
executed before device version checking and exit (there are no
failures detected because ov2659 declared as I2C_CLIENT_SCCB and NACKs
are ignored in this case).

Let's fix that by checking the chip version first and start
initialization only if it's supported.

Cc: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2016-01-25 15:15:37 -02:00
..
cx25840 [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
m5mols [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5c73m3 [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
smiapp [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
soc_camera [media] soc_camera: constify v4l2_subdev_sensor_ops structures 2016-01-25 08:57:26 -02:00
ad9389b.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adp1653.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adv7170.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
adv7175.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
adv7180.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adv7183_regs.h [media] media_tree: Fix spelling errors 2013-12-09 14:50:50 -02:00
adv7183.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7343_regs.h [media] drivers: media: i2c: adv7343_regs.h: Fix typo in #ifndef 2014-09-21 20:12:13 -03:00
adv7343.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7393_regs.h
adv7393.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7511.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adv7604.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
adv7842.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
ak881x.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
aptina-pll.c
aptina-pll.h
as3645a.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
bt819.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
bt856.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
bt866.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
cs53l32a.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
cs3308.c [media] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02:00
cs5345.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ir-kbd-i2c.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
Kconfig [media] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02:00
ks0127.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ks0127.h
lm3560.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
lm3646.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
m52790.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
Makefile [media] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02:00
ml86v7667.c [media] i2c: fix platform_no_drv_owner.cocci warnings 2015-10-03 11:39:48 -03:00
msp3400-driver.c [media] include/media: move driver interface headers to a separate dir 2015-11-17 06:57:29 -02:00
msp3400-driver.h [media] include/media: move driver interface headers to a separate dir 2015-11-17 06:57:29 -02:00
msp3400-kthreads.c [media] include/media: move driver interface headers to a separate dir 2015-11-17 06:57:29 -02:00
mt9m032.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
mt9p031.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
mt9t001.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
mt9v011.c [media] i2c: constify v4l2_ctrl_ops structures 2015-11-17 15:41:33 -02:00
mt9v032.c [media] mt9v032: Add reset and standby gpios 2016-01-25 15:15:34 -02:00
noon010pc30.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
ov2659.c [media] media: i2c: ov2659: speedup probe if no device connected 2016-01-25 15:15:37 -02:00
ov7640.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ov7670.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
ov9650.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5k4ecgx.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5k5baf.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5k6a3.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5k6aa.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
saa711x_regs.h [media] saa7115: Implement i2c_board_info.platform_data 2013-08-18 08:27:07 -03:00
saa717x.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa6588.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
saa6752hs.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa7110.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa7115.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
saa7127.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
saa7185.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
smiapp-pll.c [media] smiapp-pll: include linux/device.h in smiapp-pll.c, not in smiapp-pll.h 2014-12-23 11:29:01 -02:00
smiapp-pll.h [media] smiapp-pll: include linux/device.h in smiapp-pll.c, not in smiapp-pll.h 2014-12-23 11:29:01 -02:00
sony-btf-mpx.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
sr030pc30.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
tc358743_regs.h [media] Driver for Toshiba TC358743 HDMI to CSI-2 bridge 2015-07-17 09:59:28 -03:00
tc358743.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
tda7432.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tda9840.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6415c.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6415c.h
tea6420.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6420.h
ths7303.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
ths8200_regs.h [media] media: i2c: ths8200: driver for TI video encoder 2013-06-17 09:52:31 -03:00
ths8200.c [media] media: drop call to v4l2_device_unregister_subdev() 2015-03-03 11:21:41 -03:00
tlv320aic23b.c [media] media/i2c/tlv320aic23: Remove compat control ops 2015-07-06 08:25:54 -03:00
tvaudio.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
tvp514x_regs.h
tvp514x.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
tvp5150_reg.h
tvp5150.c [media] tvp5150: Fix breakage for serial usage 2016-01-25 15:15:26 -02:00
tvp7002_reg.h
tvp7002.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
tw2804.c [media] v4l: subdev: Move [gs]_std operation to video ops 2014-05-24 17:11:26 -03:00
tw9903.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tw9906.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
uda1342.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
upd64031a.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
upd64083.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
vp27smpx.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
vpx3220.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
vs6624_regs.h
vs6624.c [media] v4l2: replace try_mbus_fmt by set_fmt 2015-05-01 08:48:49 -03:00
wm8739.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
wm8775.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00