linux/drivers/media/i2c
Arnd Bergmann 3538aa6ecf [media] tc358743: fix register i2c_rd/wr functions
While testing with CONFIG_UBSAN, I got this warning:

drivers/media/i2c/tc358743.c: In function 'tc358743_probe':
drivers/media/i2c/tc358743.c:1930:1: error: the frame size of 2480 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]

The problem is that the i2c_rd8/wr8/rd16/... functions in this driver pass
a pointer to a local variable into a common function, and each call to one
of them adds another variable plus redzone to the stack.

I also noticed that the way this is done is broken on big-endian machines,
as we copy the registers in CPU byte order.

To address both those problems, I'm adding two helper functions for reading
a register of up to 32 bits with correct endianess and change all other
functions to use that instead. Just to be sure we don't get the problem
back with changed optimizations in gcc, I'm also marking the new functions
as 'noinline', although my tests with gcc-7 don't require that.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-03-03 07:22:43 -03:00
..
cx25840 [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
et8ek8 [media] et8ek8: Fix compiler / Coccinelle warnings 2017-02-08 10:37:14 -02:00
m5mols [media] media: i2c: m5mols: m5mols_core: constify v4l2_subdev_pad_ops structures 2017-02-03 09:28:32 -02:00
s5c73m3 [media] v4l: s5c73m3: fix negation operator 2017-01-31 07:56:49 -02:00
smiapp [media] smiapp: Make suspend and resume functions __maybe_unused 2016-12-21 06:53:35 -02:00
soc_camera [media] soc-camera: Fix a return value in case of error 2017-01-30 14:46:44 -02:00
ad5820.c [media] ad5820: Fix sparse warning 2016-10-24 17:37:12 -02:00
ad9389b.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
adp1653.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
adv7170.c [media] adv7170: drop redundant ret local 2017-01-30 15:47:05 -02:00
adv7175.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
adv7180.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
adv7183_regs.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
adv7183.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
adv7343_regs.h
adv7343.c
adv7393_regs.h
adv7393.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
adv7511.c [media] cec: pass parent device in register(), not allocate() 2016-11-29 12:07:17 -02:00
adv7604.c [media] adv7604: Initialize drive strength to default when using DT 2017-01-30 15:39:40 -02:00
adv7842.c [media] cec: pass parent device in register(), not allocate() 2016-11-29 12:07:17 -02:00
ak881x.c [media] drivers: media: i2c: ak881x: constify v4l2_subdev_* structures 2017-02-03 09:33:55 -02:00
aptina-pll.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
aptina-pll.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
as3645a.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
bt819.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
bt856.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
bt866.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
cs53l32a.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
cs3308.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
cs5345.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
ir-kbd-i2c.c [media] rc-main: assign driver type during allocation 2017-01-30 13:59:57 -02:00
Kconfig [media] media: Driver for Toshiba et8ek8 5MP sensor 2017-01-31 10:21:17 -02:00
ks0127.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
ks0127.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
lm3560.c
lm3646.c
m52790.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
Makefile [media] media: Driver for Toshiba et8ek8 5MP sensor 2017-01-31 10:21:17 -02:00
ml86v7667.c [media] drivers: media: i2c: ml86v7667: constify v4l2_subdev_* structures 2017-02-03 09:34:43 -02:00
msp3400-driver.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
msp3400-driver.h
msp3400-kthreads.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
mt9m032.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
mt9m111.c [media] media: mt9m111: move mt9m111 out of soc_camera 2016-09-09 10:41:17 -03:00
mt9p031.c [media] drivers: media: i2c: constify v4l2_subdev_* structures 2017-02-03 09:23:19 -02:00
mt9t001.c [media] v4l: mt9t001: fix clean up in case of power-on failures 2016-06-28 07:55:39 -03:00
mt9v011.c
mt9v032.c [media] drivers: media: i2c: constify v4l2_subdev_* structures 2017-02-03 09:23:19 -02:00
noon010pc30.c [media] drivers: media: i2c: constify v4l2_subdev_* structures 2017-02-03 09:23:19 -02:00
ov2659.c [media] ov2659: remove NOP assignment 2017-01-30 15:46:29 -02:00
ov7640.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
ov7670.c
ov9650.c [media] ov9650: use msleep() for uncritical long delay 2017-01-31 11:54:47 -02:00
s5k4ecgx.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
s5k5baf.c
s5k6a3.c [media] drivers: media: i2c: constify v4l2_subdev_* structures 2017-02-03 09:23:19 -02:00
s5k6aa.c
saa711x_regs.h
saa717x.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
saa6588.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
saa6752hs.c
saa7110.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
saa7115.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
saa7127.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
saa7185.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
smiapp-pll.c [media] smiapp-pll: Don't complain aloud about failing PLL calculation 2016-10-21 15:15:06 -02:00
smiapp-pll.h
sony-btf-mpx.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
sr030pc30.c
tc358743_regs.h [media] tc358743: Disable HDCP with "manual HDCP authentication" bit 2017-02-03 11:16:02 -02:00
tc358743.c [media] tc358743: fix register i2c_rd/wr functions 2017-03-03 07:22:43 -03:00
tda7432.c
tda9840.c
tea6415c.c
tea6415c.h
tea6420.c
tea6420.h
ths7303.c [media] media: i2c: ths7303: remove redundant assignment on bt 2016-05-07 11:47:12 -03:00
ths8200_regs.h
ths8200.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
tlv320aic23b.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tvaudio.c [media] tvaudio: mark printk continuation lines as such 2016-10-21 08:51:29 -02:00
tvp514x_regs.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tvp514x.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tvp5150_reg.h [media] v4l: tvp5150: Fix comment regarding output pin muxing 2016-12-21 07:31:49 -02:00
tvp5150.c [media] v4l: tvp5150: Don't override output pinmuxing at stream on/off time 2016-12-21 07:32:15 -02:00
tvp7002_reg.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tvp7002.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tw2804.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tw9903.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tw9906.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
uda1342.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
upd64031a.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
upd64083.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
vp27smpx.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
vpx3220.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
vs6624_regs.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
vs6624.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
wm8739.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
wm8775.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00