linux/drivers/media/i2c
Bingbu Cao 900a5edf27 media: ov01a10: Enable runtime PM before registering async sub-device
commit 47a78052db upstream.

As the sensor device maybe accessible right after its async sub-device is
registered, such as ipu-bridge will try to power up sensor by sensor's
client device's runtime PM from the async notifier callback, if runtime PM
is not enabled, it will fail.

So runtime PM should be ready before its async sub-device is registered
and accessible by others.

It also sets the runtime PM status to active as the sensor was turned
on by i2c-core.

Fixes: 0827b58dab ("media: i2c: add ov01a10 image sensor driver")
Cc: stable@vger.kernel.org
Signed-off-by: Bingbu Cao <bingbu.cao@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-01-31 16:20:55 -08:00
..
adv748x media: adv748x: Return to endpoint matching 2023-08-10 07:57:40 +02:00
ccs media: ccs: Fix a (harmless) lockdep warning 2023-10-12 09:22:29 +02:00
cx25840 media: cx25840: simplify cx23885_dif_setup() 2023-09-27 09:40:01 +02:00
et8ek8 media: i2c: Remove common dependencies from sensor drivers 2023-08-10 07:58:38 +02:00
s5c73m3 media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ad5820.c media: ad5820: Drop unsupported ad5823 from i2c_ and of_device_id tables 2023-07-14 13:07:18 +02:00
adp1653.c media: i2c: adp1653: don't reuse the same node pointer 2023-10-12 10:12:54 +02:00
adv7170.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7175.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7180.c media: i2c: adv7180: Drop CONFIG_OF ifdeffery 2023-10-07 10:55:45 +02:00
adv7183.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7183_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
adv7343.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +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
adv7393.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +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
adv7511-v4l2.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7604.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
adv7842.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ak881x.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ak7375.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
aptina-pll.c media: i2c: aptina-pll: Remove a useless include 2022-11-25 08:35:48 +00:00
aptina-pll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
ar0521.c media: i2c: ar0521: Drop system suspend and resume handlers 2023-09-27 09:39:59 +02:00
bt819.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
bt856.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
bt866.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ccs-pll.c media: ccs-pll: Initialise best_div to avoid a compiler warning 2023-08-10 07:58:33 +02: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 media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
cs3308.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
cs5345.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ds90ub913.c media: v4l: subdev: Clear frame descriptor before get_frame_desc 2023-10-07 10:55:48 +02:00
ds90ub953.c media: v4l: subdev: Clear frame descriptor before get_frame_desc 2023-10-07 10:55:48 +02:00
ds90ub960.c media: v4l: subdev: Clear frame descriptor before get_frame_desc 2023-10-07 10:55:48 +02:00
dw9714.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
dw9719.c media: i2c: Add driver for DW9719 VCM 2023-08-10 07:58:41 +02:00
dw9768.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
dw9807-vcm.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
hi556.c media: i2c/hi556: add a new mode 1296x722 settings 2023-10-07 10:55:46 +02:00
hi846.c media: i2c: hi846: Drop system suspend and resume handlers 2023-09-27 09:39:59 +02:00
hi847.c media: i2c: hi847: Drop system suspend and resume handlers 2023-09-27 09:39:59 +02:00
imx208.c media: i2c: imx208: Drop system suspend and resume handlers 2023-09-27 09:39:59 +02:00
imx214.c media: i2c: imx214: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
imx219.c media: i2c: imx219: Move variables to inner scope 2023-10-07 10:55:47 +02:00
imx258.c media: i2c: imx258: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
imx274.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
imx290.c media: imx290: Convert to new CCI register access helpers 2023-08-10 07:58:39 +02:00
imx296.c media: i2c: imx296: Replace streaming flag with runtime PM check 2023-09-27 09:39:57 +02:00
imx319.c media: i2c: imx319: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
imx334.c media: i2c: imx334: Drop check for reentrant .s_stream() 2023-09-27 09:39:58 +02:00
imx335.c media: i2c: imx335: Drop check for reentrant .s_stream() 2023-09-27 09:39:58 +02:00
imx355.c media: imx355: Enable runtime PM before registering async sub-device 2024-01-31 16:20:55 -08:00
imx412.c media: i2c: imx412: Drop check for reentrant .s_stream() 2023-09-27 09:39:58 +02:00
imx415.c media: i2c: imx415: Replace streaming flag with runtime PM check 2023-09-27 09:39:57 +02:00
ir-kbd-i2c.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
isl7998x.c media: i2c: isl7998x: drop of_match_ptr for ID table 2023-07-14 12:36:56 +02:00
Kconfig media: i2c: imx219: Convert to CCI register access helpers 2023-10-07 10:55:46 +02:00
ks0127.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ks0127.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
lm3560.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
lm3646.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
m52790.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
Makefile media: i2c: Add driver for onsemi MT9M114 camera sensor 2023-10-07 10:55:46 +02:00
max2175.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +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 media: i2c: max9286: Fix some redundant of_node_put() calls 2023-09-27 09:39:56 +02:00
ml86v7667.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
msp3400-driver.c media: use sizeof() instead of V4L2_SUBDEV_NAME_SIZE 2023-09-27 10:47:22 +02:00
msp3400-driver.h media: msp3400: declare its own pads 2018-09-17 13:16:19 -04:00
msp3400-kthreads.c media: msp3400: use semicolons rather than commas to separate statements 2020-11-16 10:31:07 +01:00
mt9m001.c media: i2c: mt9m001: Drop check for reentrant .s_stream() 2023-09-27 09:39:58 +02:00
mt9m111.c media: i2c: Drop ifdeffery from sensor drivers 2023-09-27 09:39:57 +02:00
mt9m114.c media: i2c: mt9m114: use fsleep() in place of udelay() 2024-01-25 15:45:04 -08:00
mt9p031.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
mt9t112.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
mt9v011.c media: i2c: Drop ifdeffery from sensor drivers 2023-09-27 09:39:57 +02:00
mt9v032.c media: i2c: mt9v032: Drop CONFIG_OF ifdeffery 2023-09-27 09:39:57 +02:00
mt9v111.c media: i2c: Drop ifdeffery from sensor drivers 2023-09-27 09:39:57 +02:00
og01a1b.c media: i2c: og01a1b: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
ov01a10.c media: ov01a10: Enable runtime PM before registering async sub-device 2024-01-31 16:20:55 -08:00
ov02a10.c media: i2c: ov02a10: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
ov08d10.c media: i2c: ov08d10: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
ov08x40.c media: i2c: ov08x40: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
ov13b10.c media: ov13b10: Enable runtime PM before registering async sub-device 2024-01-31 16:20:55 -08:00
ov772x.c media: i2c: Drop ifdeffery from sensor drivers 2023-09-27 09:39:57 +02:00
ov2640.c media: i2c: Drop ifdeffery from sensor drivers 2023-09-27 09:39:57 +02:00
ov2659.c media: i2c: Drop ifdeffery from sensor drivers 2023-09-27 09:39:57 +02:00
ov2680.c media: ov2680: Add bus-cfg / endpoint property verification 2023-08-14 20:27:57 +02:00
ov2685.c media: i2c: ov2685: Drop check for reentrant .s_stream() 2023-09-27 09:39:58 +02:00
ov2740.c media: ov2740: Return -EPROBE_DEFER if no endpoint is found 2023-10-07 10:55:48 +02:00
ov4689.c media: i2c: ov4689: Drop check for reentrant .s_stream() 2023-09-27 09:39:58 +02:00
ov5640.c media: ov5640: Fix a memory leak when ov5640_probe fails 2023-09-27 09:39:57 +02:00
ov5645.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ov5647.c media: i2c: ov5647: Drop check for reentrant .s_stream() 2023-09-27 09:39:59 +02:00
ov5648.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ov5670.c media: i2c: ov5670: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
ov5675.c media: i2c: ov5675: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
ov5693.c media: i2c: ov5693: Drop the unused streaming flag 2023-09-27 09:39:57 +02:00
ov5695.c media: i2c: ov5695: Drop check for reentrant .s_stream() 2023-09-27 09:39:59 +02:00
ov6650.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ov7251.c media: i2c: Use pm_runtime_resume_and_get() 2023-09-27 09:39:57 +02:00
ov7640.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ov7670.c media: i2c: ov7670: Drop CONFIG_OF ifdeffery 2023-09-27 09:39:57 +02:00
ov7740.c media: i2c: ov7740: Drop check for reentrant .s_stream() 2023-09-27 09:39:59 +02:00
ov8856.c media: i2c: ov8856: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
ov8858.c media: i2c: ov8858: Don't set fwnode in the driver 2023-10-11 15:26:16 +02:00
ov8865.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ov9282.c media: i2c: ov9282: Drop check for reentrant .s_stream() 2023-09-27 09:39:59 +02:00
ov9640.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ov9640.h media: ov9640: Use the generic clock framework 2021-02-06 09:38:05 +01:00
ov9650.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ov9734.c media: ov9734: Enable runtime PM before registering async sub-device 2024-01-31 16:20:55 -08:00
ov13858.c media: i2c: ov13858: Drop system suspend and resume handlers 2023-09-27 09:40:00 +02:00
rdacm20.c media: i2c: drop check because i2c_unregister_device() is NULL safe 2023-10-07 10:55:45 +02:00
rdacm21.c media: i2c: rdacm21: Remove an incorrect fwnode_handle_put() call 2023-09-14 23:31:55 +02:00
rj54n1cb0c.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
s5k5baf.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
s5k6a3.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +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 media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa6588.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa6752hs.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa7110.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa7115.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa7127.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
saa7185.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
sony-btf-mpx.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
st-mipid02.c media: i2c: st_mipid02: cascade s_stream call to the source subdev 2023-08-10 07:58:36 +02:00
st-vgxy61.c media: i2c: Use pm_runtime_resume_and_get() 2023-09-27 09:39:57 +02:00
tc358743.c media: tc358743: Add error code to error message 2023-07-19 12:57:47 +02:00
tc358743_regs.h media: i2c: add SPDX license info 2018-02-14 13:16:31 -05:00
tc358746.c media: i2c: tc358746: check fmt validity 2023-10-11 16:21:33 +02:00
tda1997x.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tda1997x_regs.h media: TDA1997x: replace video detection routine 2021-10-19 08:08:38 +01:00
tda7432.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tda9840.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tea6415c.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +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 media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +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: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ths8200.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
ths8200_regs.h [media] media: i2c: ths8200: driver for TI video encoder 2013-06-17 09:52:31 -03:00
tlv320aic23b.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tvaudio.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tvp514x.c media: tvp541x: Sort header files 2023-10-07 10:55:45 +02:00
tvp514x_regs.h media: media/i2c: fix kerneldoc issues for media i2c headers 2021-03-22 10:23:43 +01:00
tvp5150.c media: i2c: tvp5150: check return value of devm_kasprintf() 2023-07-14 13:08:14 +02:00
tvp5150_reg.h media: i2c: Use the correct style for SPDX License Identifier 2019-11-10 17:47:14 +01:00
tvp7002.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tvp7002_reg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
tw2804.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tw9903.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tw9906.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
tw9910.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
uda1342.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
upd64031a.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
upd64083.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
video-i2c.c media: i2c: video-i2c: Convert enum->pointer for data in the match tables 2023-09-27 09:39:56 +02:00
vp27smpx.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
vpx3220.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
wm8739.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00
wm8775.c media: Switch i2c drivers back to use .probe() 2023-05-25 16:21:21 +02:00