linux/drivers/media/i2c
Janusz Krzysztofik 57822068dd media: ov6650: Fix stored frame interval not in sync with hardware
The driver stores a frame interval value supposed to be in line with
hardware state in a device private structure.  Since the driver initial
submission, the respective field of the structure has never been
initialised on device probe.  Moreover, if updated from
.s_frame_interval(), a new value is stored before it is applied on
hardware.  If an error occurs during device update, the stored value
may no longer reflect hardware state and consecutive calls to
.g_frame_interval() may return incorrect information.

Assuming a failed update of the device means its actual state hasn't
changed, update the frame interval field of the device private
structure with a new value only after it is successfully applied on
hardware so it always reflects actual hardware state to the extent
possible.  Also, initialise the field with hardware default frame
interval on device probe.

Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2019-10-24 18:38:56 -03:00
..
adv748x Merge branch 'i2c/for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2019-09-24 16:48:02 -07:00
cx25840 Linux 5.2-rc4 2019-06-11 12:09:28 -04:00
et8ek8 media: i2c: et8ek8: Convert to new i2c device probe() 2019-08-13 11:53:02 -03:00
m5mols treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
s5c73m3 media: i2c: s5c73m3: Convert to new i2c device probe() 2019-08-13 11:52:38 -03:00
smiapp media: i2c: smiapp: Convert to new i2c device probe() 2019-08-13 11:52:24 -03:00
ad5820.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
ad9389b.c media: i2c: ad9389b: convert to i2c_new_dummy_device 2019-08-13 11:45:04 -03:00
adp1653.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7170.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
adv7175.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
adv7180.c media: adv7180: Only print 'chip found' message on successful probe 2019-10-24 18:32:19 -03:00
adv7183_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7183.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7343_regs.h
adv7343.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
adv7393_regs.h
adv7393.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
adv7511-v4l2.c media: i2c: adv7511-v4l2: drop check because i2c_unregister_device() is NULL safe 2019-08-26 10:44:16 -03:00
adv7604.c i2c: replace i2c_new_secondary_device with an ERR_PTR variant 2019-08-14 14:54:55 +02:00
adv7842.c media: i2c: adv7842: make array cri static and const, makes object smaller 2019-10-24 18:33:18 -03:00
ak881x.c media updates for v5.3-rc1 2019-07-09 09:47:22 -07:00
ak7375.c media: ak7375: Add ak7375 lens voice coil driver 2018-07-04 07:13:34 -04:00
aptina-pll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
aptina-pll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
bt819.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
bt856.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
bt866.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
cs53l32a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cs3308.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cs5345.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
dw9714.c media: ipu3-cio2, dw9714: Remove Jian Xu's e-mail 2019-01-16 13:34:01 -05:00
dw9807-vcm.c media: dw9807-vcm: Fix probe error handling 2018-10-08 11:51:31 -04:00
imx214.c media: imx214: Add new control with V4L2_CID_UNIT_CELL_SIZE 2019-10-10 11:38:50 -03:00
imx258.c media: unify some sony camera sensors pattern naming 2018-12-05 06:34:26 -05:00
imx274.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
imx319.c media: unify some sony camera sensors pattern naming 2018-12-05 06:34:26 -05:00
imx355.c media: unify some sony camera sensors pattern naming 2018-12-05 06:34:26 -05:00
ir-kbd-i2c.c media: ir-kbd-i2c: convert to i2c_new_dummy_device() 2019-08-14 05:05:10 -03:00
Kconfig media: i2c: ov2659: Add powerdown/reset gpio handling 2019-10-01 17:36:43 -03:00
ks0127.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
ks0127.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
lm3560.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
lm3646.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
m52790.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
Makefile media: ov5675: Add support for OV5675 sensor 2019-08-15 08:05:15 -03:00
max2175.c media: i2c: Use div64_ul() for u64-by-unsigned-long divide 2019-10-10 07:15:57 -03:00
max2175.h media: i2c: max2175: convert to SPDX identifiers 2018-09-12 10:51:18 -04:00
ml86v7667.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
msp3400-driver.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
msp3400-driver.h media: msp3400: declare its own pads 2018-09-17 13:16:19 -04:00
msp3400-kthreads.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
mt9m001.c media: i2c: mt9m001: make array init_regs static, makes object smaller 2019-10-01 12:25:44 -03:00
mt9m032.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
mt9m111.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
mt9p031.c media updates for v5.3-rc1 2019-07-09 09:47:22 -07:00
mt9t001.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mt9t112.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
mt9v011.c media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
mt9v032.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mt9v111.c media: i2c: mt9v111: Fix v4l2-ctrl error handling 2018-09-12 06:44:01 -04:00
noon010pc30.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ov772x.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov2640.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov2659.c media: i2c: ov2659: Switch to SPDX Licensing 2019-10-01 17:39:16 -03:00
ov2680.c media: ov2680: fix a typo in a function name 2019-07-25 06:44:39 -04:00
ov2685.c media: i2c: Fix Unnecessary Semicolon Warning Reported by coccicheck 2019-06-21 17:52:50 -04:00
ov5640.c media: ov5640: Add support for flash and lens devices 2019-08-15 08:05:57 -03:00
ov5645.c media: i2c: ov5645: Fix power sequence 2019-08-15 08:08:07 -03:00
ov5647.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov5670.c media: i2c: Fix pm_runtime_get_if_in_use() usage in sensor drivers 2018-08-31 09:23:53 -04:00
ov5675.c media: ov5675: Add support for OV5675 sensor 2019-08-15 08:05:15 -03:00
ov5695.c media: i2c: ov5695: Modify the function of async register subdev related devices 2019-10-01 17:33:21 -03:00
ov6650.c media: ov6650: Fix stored frame interval not in sync with hardware 2019-10-24 18:38:56 -03:00
ov7251.c media: v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY 2018-10-04 16:06:15 -04:00
ov7640.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
ov7670.c media: ov7670: don't return ENOTTY if SUBDEV_API is not set 2019-07-23 08:55:36 -04:00
ov7740.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
ov8856.c media: ov8856: Check reading clock frequency succeeded 2019-08-15 08:05:40 -03:00
ov9640.c media: ov9640: Don't check for NULL on devm_gpiod_get return values 2019-06-21 17:54:25 -04:00
ov9640.h media: i2c: ov9640: add missing SPDX identifiers 2019-01-16 13:30:44 -05:00
ov9650.c media: ov9650: add a sanity check 2019-08-26 14:05:09 -03:00
ov13858.c media: i2c: Fix Unnecessary Semicolon Warning Reported by coccicheck 2019-06-21 17:52:50 -04:00
rj54n1cb0c.c media: v4l: Remove support for crop default target in subdev drivers 2018-10-03 11:58:24 -04:00
s5k4ecgx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
s5k5baf.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
s5k6a3.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
s5k6aa.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
saa711x_regs.h MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
saa717x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa6588.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
saa6752hs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 68 2019-05-24 17:36:46 +02:00
saa7110.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa7115.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
saa7127.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
saa7185.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
smiapp-pll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
smiapp-pll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sony-btf-mpx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sr030pc30.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
st-mipid02.c media: st-mipid02: add support of JPEG 2019-06-24 13:04:58 -04:00
tc358743_regs.h media: i2c: add SPDX license info 2018-02-14 13:16:31 -05:00
tc358743.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tda1997x_regs.h media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
tda1997x.c media: i2c: tda1997x: prevent potential NULL pointer access 2019-08-13 11:46:32 -03:00
tda7432.c media: add SPDX headers to some files 2019-06-12 11:42:27 -04:00
tda9840.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
tea6415c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 68 2019-05-24 17:36:46 +02:00
tea6415c.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tea6420.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
tea6420.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ths7303.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
ths8200_regs.h
ths8200.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tlv320aic23b.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tvaudio.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
tvp514x_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 486 2019-06-19 17:09:52 +02:00
tvp514x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 486 2019-06-19 17:09:52 +02:00
tvp5150_reg.h media: tvp5150: Add sync lock interrupt handling 2018-09-17 13:30:28 -04:00
tvp5150.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tvp7002_reg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tvp7002.c media: i2c: Convert to new i2c device probe() 2019-08-13 11:54:04 -03:00
tw2804.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9903.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9906.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
tw9910.c media: i2c: tw9910: simplify getting the adapter of a client 2019-06-24 11:17:03 -04:00
uda1342.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
upd64031a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
upd64083.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
video-i2c.c media: video-i2c: use V4L2_FRACT_COMPARE 2019-06-21 17:13:58 -04:00
vp27smpx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
vpx3220.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
vs6624_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
vs6624.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
wm8739.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
wm8775.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00