OpenCloudOS-Kernel/drivers/media/i2c
Akinobu Mita 12f6153d45 media: ov7670: don't access registers when the device is powered off
Since commit 3d6a8fe256 ("media: ov7670: hook s_power onto v4l2 core"),
the device is actually powered off while the video stream is stopped.

So now set_format and s_frame_interval could be called while the device
is powered off, but these callbacks try to change the register settings
at this time.

The frame format and framerate will be restored right after power-up, so
we can just postpone applying these changes at these callbacks if the
device is not powered up.

Fixes: 3d6a8fe256 ("media: ov7670: hook s_power onto v4l2 core")

Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Reviewed-by: Lubomir Rintel <lkundrak@v3.sk>
Tested-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2019-03-20 06:34:09 -04:00
..
adv748x media: i2c: adv748x: Remove PAGE_WAIT 2019-02-18 11:25:30 -05:00
cx25840 media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
et8ek8 media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
m5mols media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
s5c73m3 media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
smiapp media: smiapp: Query the V4L2 endpoint for a specific bus type 2018-10-04 16:24:25 -04:00
Kconfig media: i2c: adv748x: select V4L2_FWNODE 2019-03-19 16:35:09 -04:00
Makefile media: soc_camera: Move to the staging tree 2019-02-18 12:09:19 -05:00
ad5820.c media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
ad9389b.c media: adv*/tc358743/ths8200: fill in min width/height/pixelclock 2018-11-23 06:20:55 -05:00
adp1653.c
adv7170.c
adv7175.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
adv7180.c media: adv7180: add g_skip_frames support 2018-12-03 14:26:27 -05:00
adv7183.c
adv7183_regs.h
adv7343.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
adv7343_regs.h
adv7393.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
adv7393_regs.h
adv7511.c media fixes for v4.20-rc8 2018-12-25 13:00:14 -08:00
adv7604.c media fixes for v4.20-rc8 2018-12-25 13:00:14 -08:00
adv7842.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
ak881x.c media: v4l: Remove support for crop default target in subdev drivers 2018-10-03 11:58:24 -04:00
ak7375.c media: ak7375: Add ak7375 lens voice coil driver 2018-07-04 07:13:34 -04:00
aptina-pll.c
aptina-pll.h
bt819.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
bt856.c
bt866.c
cs53l32a.c media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
cs3308.c
cs5345.c
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: i2c: fix several typos 2019-03-01 09:29:58 -05:00
imx258.c media: unify some sony camera sensors pattern naming 2018-12-05 06:34:26 -05:00
imx274.c media: i2c: fix several typos 2019-03-01 09:29:58 -05: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: rc: probe zilog transmitter when zilog receiver is found 2018-05-04 08:22:36 -04:00
ks0127.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
ks0127.h
lm3560.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
lm3646.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
m52790.c
max2175.c media: i2c: max2175: convert to SPDX identifiers 2018-09-12 10:51:18 -04:00
max2175.h media: i2c: max2175: convert to SPDX identifiers 2018-09-12 10:51:18 -04:00
ml86v7667.c
msp3400-driver.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
msp3400-driver.h media: msp3400: declare its own pads 2018-09-17 13:16:19 -04:00
msp3400-kthreads.c treewide: Align function definition open/close braces 2018-03-26 11:13:09 +02:00
mt9m001.c media: mt9m001: set all mbus format field when G_FMT and S_FMT ioctls 2019-01-25 10:59:51 -02:00
mt9m032.c media: media/i2c: add missing entity functions 2018-07-25 08:04:00 -04:00
mt9m111.c media: mt9m111: set initial frame size other than 0x0 2019-01-25 11:01:12 -02:00
mt9p031.c media: media/i2c: add missing entity functions 2018-07-25 08:04:00 -04:00
mt9t001.c media: media/i2c: add missing entity functions 2018-07-25 08:04:00 -04: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 media: v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero 2018-10-04 16:21:02 -04:00
mt9v111.c media: i2c: mt9v111: Fix v4l2-ctrl error handling 2018-09-12 06:44:01 -04:00
noon010pc30.c media: v4l: i2c: Add a comment not to use static sub-device names in the future 2018-10-03 11:55:44 -04:00
ov772x.c media: ov772x: support log_status ioctl and event interface 2018-11-23 04:47:45 -05:00
ov2640.c media: ov2640: fix initial try format 2019-01-25 11:02:04 -02:00
ov2659.c media: v4l: fwnode: Let the caller provide V4L2 fwnode endpoint 2018-10-04 16:08:09 -04:00
ov2680.c media: ov2680: fix null dereference at power on 2018-11-23 05:16:29 -05:00
ov2685.c media: i2c: Fix pm_runtime_get_if_in_use() usage in sensor drivers 2018-08-31 09:23:53 -04:00
ov5640.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
ov5645.c media: ov5645: constify v4l2_ctrl_ops structure 2018-11-06 07:16:38 -05:00
ov5647.c media: v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero 2018-10-04 16:21:02 -04:00
ov5670.c media: i2c: Fix pm_runtime_get_if_in_use() usage in sensor drivers 2018-08-31 09:23:53 -04:00
ov5695.c media: i2c: Fix pm_runtime_get_if_in_use() usage in sensor drivers 2018-08-31 09:23:53 -04:00
ov6650.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
ov7251.c media: v4l: mediabus: Recognise CSI-2 D-PHY and C-PHY 2018-10-04 16:06:15 -04:00
ov7640.c
ov7670.c media: ov7670: don't access registers when the device is powered off 2019-03-20 06:34:09 -04:00
ov7740.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
ov8856.c media: ov8856: Modify ov8856 register reading function to be simplified 2019-01-25 10:46:03 -02:00
ov9640.c media: ov9640: Wrap long and unwrap short lines, align wrapped lines correctly 2019-01-16 13:32:34 -05:00
ov9640.h media: i2c: ov9640: add missing SPDX identifiers 2019-01-16 13:30:44 -05:00
ov9650.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
ov13858.c media: ov13858: Check for possible null pointer 2018-11-06 07:15:53 -05:00
rj54n1cb0c.c media: v4l: Remove support for crop default target in subdev drivers 2018-10-03 11:58:24 -04:00
s5k4ecgx.c media: s5k4ecgx: delete a bogus error message 2019-01-25 11:01:42 -02:00
s5k5baf.c media: v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero 2018-10-04 16:21:02 -04:00
s5k6a3.c media: s5k6a3: document some fields at struct s5k6a3 2017-11-30 04:18:57 -05:00
s5k6aa.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
saa711x_regs.h MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
saa717x.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
saa6588.c [poll] annotate SAA6588_CMD_POLL users 2018-02-15 13:11:48 -05:00
saa6752hs.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
saa7110.c
saa7115.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
saa7127.c media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
saa7185.c
smiapp-pll.c
smiapp-pll.h
sony-btf-mpx.c
sr030pc30.c media: sr030pc30: remove NULL in sr030pc30_base_config() 2018-09-17 15:19:10 -04:00
tc358743.c media fixes for v4.20-rc8 2018-12-25 13:00:14 -08:00
tc358743_regs.h media: i2c: add SPDX license info 2018-02-14 13:16:31 -05:00
tda1997x.c media: tda1997x: fix get_edid 2019-02-18 15:27:35 -05:00
tda1997x_regs.h media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
tda7432.c media: tda7432: fix spelling mistake "maximium" -> "maximum" 2018-12-03 14:44:54 -05:00
tda9840.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
tea6415c.c media: i2c: fix several typos 2019-03-01 09:29:58 -05: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 media: i2c: fix several typos 2019-03-01 09:29:58 -05: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.c media: adv*/tc358743/ths8200: fill in min width/height/pixelclock 2018-11-23 06:20:55 -05:00
ths8200_regs.h
tlv320aic23b.c
tvaudio.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
tvp514x.c media: i2c: fix several typos 2019-03-01 09:29:58 -05:00
tvp514x_regs.h
tvp5150.c media: tvp5150: fix irq_request error path during probe 2018-12-05 04:40:10 -05:00
tvp5150_reg.h media: tvp5150: Add sync lock interrupt handling 2018-09-17 13:30:28 -04:00
tvp7002.c media: v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero 2018-10-04 16:21:02 -04:00
tvp7002_reg.h MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
tw2804.c
tw9903.c
tw9906.c
tw9910.c media: tw9910: Unregister subdevice with v4l2-async 2019-01-21 11:39:36 -02:00
uda1342.c
upd64031a.c
upd64083.c
video-i2c.c media: video-i2c: add Melexis MLX90640 thermal camera 2019-01-21 15:39:42 -02:00
vp27smpx.c
vpx3220.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
vs6624.c media: i2c: vs6624: Replace mdelay() with msleep() and usleep_range() in vs6624_probe() 2018-07-27 08:11:57 -04:00
vs6624_regs.h
wm8739.c
wm8775.c