linux/drivers/media/i2c
Laurent Pinchart e611f3dac5 media: i2c: imx290: Simplify error handling when writing registers
Error handling for register writes requires checking the error status of
every single write. This makes the code complex, or incorrect when the
checks are omitted. Simplify this by passing a pointer to an error code
to the imx290_write_reg() function, which allows writing multiple
registers in a row and only checking for errors at the end.

While at it, rename imx290_write_reg() to imx290_write() as there's
nothing else than registers to write, and rename imx290_read_reg()
accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
2022-10-27 14:38:01 +03:00
..
adv748x i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ccs i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cx25840 media updates for v6.1-rc1 2022-10-07 11:04:35 -07:00
et8ek8 i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
m5mols i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
s5c73m3 i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ad5820.c media: i2c: ad5820: Fix error path 2022-10-25 10:37:04 +03:00
ad9389b.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adp1653.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adv7170.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adv7175.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adv7180.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adv7183_regs.h
adv7183.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adv7343_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
adv7343.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adv7393_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
adv7393.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
adv7511-v4l2.c media updates for v6.1-rc1 2022-10-07 11:04:35 -07:00
adv7604.c media updates for v6.1-rc1 2022-10-07 11:04:35 -07:00
adv7842.c media updates for v6.1-rc1 2022-10-07 11:04:35 -07:00
ak881x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ak7375.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
aptina-pll.c
aptina-pll.h
ar0521.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
bt819.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
bt856.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
bt866.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ccs-pll.c Linux 5.11-rc6 2021-02-01 10:03:45 +01:00
ccs-pll.h media: ccs-pll: Switch from standard integer types to kernel ones 2021-01-12 17:55:28 +01:00
cs53l32a.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cs3308.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cs5345.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
dw9714.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
dw9768.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
dw9807-vcm.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
hi556.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
hi846.c media: i2c: hi846: Fix memory leak in hi846_parse_dt() 2022-10-25 10:37:03 +03:00
hi847.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx208.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx214.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx219.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx258.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx274.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx290.c media: i2c: imx290: Simplify error handling when writing registers 2022-10-27 14:38:01 +03:00
imx319.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx334.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx335.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx355.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
imx412.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ir-kbd-i2c.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
isl7998x.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
Kconfig media: i2c: Add driver for ST VGXY61 camera sensor 2022-10-27 14:37:38 +03:00
ks0127.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ks0127.h
lm3560.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
lm3646.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
m52790.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
Makefile media: i2c: Add driver for ST VGXY61 camera sensor 2022-10-27 14:37:38 +03:00
max2175.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
max2175.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
max9271.c media: i2c: max9271: Introduce wake_up() function 2021-06-17 11:30:21 +02:00
max9271.h media: i2c: max9271: Introduce wake_up() function 2021-06-17 11:30:21 +02:00
max9286.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ml86v7667.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
msp3400-driver.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
msp3400-driver.h
msp3400-kthreads.c media: msp3400: use semicolons rather than commas to separate statements 2020-11-16 10:31:07 +01:00
mt9m001.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9m032.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9m111.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9p031.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9t001.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9t112.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9v011.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9v032.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
mt9v111.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
noon010pc30.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
og01a1b.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov02a10.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov08d10.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov08x40.c media: i2c: Add ov08x40 image sensor driver 2022-10-25 14:38:31 +03:00
ov13b10.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov772x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2640.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2659.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2680.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2685.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov2740.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov4689.c media: i2c: add support for OV4689 2022-10-25 14:38:31 +03:00
ov5640.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
ov5645.c media: i2c: ov5645: Drop fetching the clk reference by name 2022-10-25 10:37:04 +03:00
ov5647.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov5648.c media: i2c: ov5648: Free V4L2 fwnode data on unbind 2022-10-25 14:34:49 +03:00
ov5670.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov5675.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov5693.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov5695.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov6650.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov7251.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov7640.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov7670.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov7740.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov8856.c media: ov8856: Add runtime PM callbacks 2022-10-25 14:31:51 +03:00
ov8865.c media fixes for v6.1-rc2 2022-10-22 15:30:15 -07:00
ov9282.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov9640.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov9640.h media: ov9640: Use the generic clock framework 2021-02-06 09:38:05 +01:00
ov9650.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov9734.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ov13858.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rdacm20.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rdacm21.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rj54n1cb0c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
s5k4ecgx.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
s5k5baf.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
s5k6a3.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
s5k6aa.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa711x_regs.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
saa717x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa6588.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa6752hs.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa7110.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa7115.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa7127.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
saa7185.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
sony-btf-mpx.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
sr030pc30.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
st-mipid02.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
st-vgxy61.c media: i2c: Add driver for ST VGXY61 camera sensor 2022-10-27 14:37:38 +03:00
tc358743_regs.h
tc358743.c media updates for v6.1-rc1 2022-10-07 11:04:35 -07:00
tda1997x_regs.h media: TDA1997x: replace video detection routine 2021-10-19 08:08:38 +01:00
tda1997x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tda7432.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tda9840.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tea6415c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tea6415c.h
tea6420.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tea6420.h
ths7303.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ths8200_regs.h
ths8200.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tlv320aic23b.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tvaudio.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tvp514x_regs.h media: media/i2c: fix kerneldoc issues for media i2c headers 2021-03-22 10:23:43 +01:00
tvp514x.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tvp5150_reg.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
tvp5150.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tvp7002_reg.h
tvp7002.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tw2804.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tw9903.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tw9906.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
tw9910.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
uda1342.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
upd64031a.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
upd64083.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
video-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
vp27smpx.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
vpx3220.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
vs6624_regs.h
vs6624.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
wm8739.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
wm8775.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00