linux/drivers/media/i2c
Bhaktipriya Shridhar 1ce3954657 [media] tc358743: Remove deprecated create_singlethread_workqueue
The workqueue "work_queues" enables hotplugging.
It has a single work item(&state->delayed_work_enable_hotplug) and hence
doesn't require ordering. Also, it is not being used on a memory
reclaim path. Hence, the singlethreaded workqueue has been replaced with
the use of system_wq.

System workqueues have been able to handle high level of concurrency
for a long time now and hence it's not required to have a singlethreaded
workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue
created with create_singlethread_workqueue(), system_wq allows multiple
work items to overlap executions even on the same CPU; however, a
per-cpu workqueue doesn't have any CPU locality or global ordering
guarantee unless the target CPU is explicitly specified and thus the
increase of local concurrency shouldn't make any difference.

Work item has been sync cancelled in tc358743_remove() to ensure
that there are no pending tasks while disconnecting the driver.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-08 15:01:18 -03:00
..
cx25840 [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
m5mols [media] m5mols: potential uninitialized variable 2016-04-13 17:10:59 -03:00
s5c73m3 [media] s5c73m3: remove duplicate module device table 2016-02-01 10:13:19 -02:00
smiapp [media] smiapp: Remove useless rval assignment in smiapp_get_pdata() 2016-06-28 07:54:30 -03:00
soc_camera [media] soc_camera: constify v4l2_subdev_sensor_ops structures 2016-01-25 08:57:26 -02:00
ad9389b.c [media] media/i2c/adv*: make controls inheritable instead of private 2016-04-25 08:14:38 -03:00
adp1653.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
adv7170.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
adv7175.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
adv7180.c [media] media: adv7180: Add of compatible strings for full family 2016-05-06 10:16:29 -03:00
adv7183_regs.h
adv7183.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7343_regs.h
adv7343.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7393_regs.h
adv7393.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
adv7511.c [media] media/i2c/adv*: make controls inheritable instead of private 2016-04-25 08:14:38 -03:00
adv7604.c [media] adv7604: Don't ignore pad number in subdev DV timings pad operations 2016-06-28 08:02:39 -03:00
adv7842.c [media] adv7842: Remove deprecated create_singlethread_workqueue 2016-07-08 15:00:23 -03:00
ak881x.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
aptina-pll.c
aptina-pll.h
as3645a.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
bt819.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
bt856.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
bt866.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
cs53l32a.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
cs3308.c [media] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02:00
cs5345.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ir-kbd-i2c.c [media] media: i2c: Don't export ir-kbd-i2c module alias 2016-02-01 13:19:31 -02:00
Kconfig [media] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02:00
ks0127.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ks0127.h
lm3560.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
lm3646.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
m52790.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
Makefile [media] cs3308: add new 8-channel volume control driver 2015-12-18 13:35:51 -02:00
ml86v7667.c [media] i2c: fix platform_no_drv_owner.cocci warnings 2015-10-03 11:39:48 -03:00
msp3400-driver.c [media] msp3400: initialize MC data 2016-02-01 07:25:31 -02:00
msp3400-driver.h [media] msp3400: use IS_ENABLED check instead of #if 2016-02-02 14:28:56 -02:00
msp3400-kthreads.c [media] include/media: move driver interface headers to a separate dir 2015-11-17 06:57:29 -02:00
mt9m032.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
mt9p031.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -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 [media] mt9v011: add media controller support 2016-02-01 07:29:14 -02:00
mt9v032.c [media] v4l: mt9v032: Add V4L2 controls for AEC and AGC 2016-06-28 08:01:51 -03:00
noon010pc30.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
ov2659.c [media] media: i2c: ov2659: speedup probe if no device connected 2016-01-25 15:15:37 -02:00
ov7640.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
ov7670.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
ov9650.c [media] V4L: ov9650: fix control clusters 2016-02-10 09:28:41 -02:00
s5k4ecgx.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
s5k5baf.c [media] s5k5baf: Check v4l2_of_parse_endpoint() return value 2016-02-01 10:02:40 -02:00
s5k6a3.c [media] s5k6a3: Fix VIDIOC_SUBDEV_G_FMT ioctl for TRY format 2016-01-25 10:28:25 -02:00
s5k6aa.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
saa711x_regs.h
saa717x.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa6588.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
saa6752hs.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa7110.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
saa7115.c [media] i2c: saa7115: Support CJC7113 detection 2016-05-06 15:52:51 -03:00
saa7127.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
saa7185.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
smiapp-pll.c [media] smiapp-pll: include linux/device.h in smiapp-pll.c, not in smiapp-pll.h 2014-12-23 11:29:01 -02:00
smiapp-pll.h [media] smiapp-pll: include linux/device.h in smiapp-pll.c, not in smiapp-pll.h 2014-12-23 11:29:01 -02:00
sony-btf-mpx.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
sr030pc30.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
tc358743_regs.h [media] Driver for Toshiba TC358743 HDMI to CSI-2 bridge 2015-07-17 09:59:28 -03:00
tc358743.c [media] tc358743: Remove deprecated create_singlethread_workqueue 2016-07-08 15:01:18 -03:00
tda7432.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tda9840.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6415c.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6415c.h
tea6420.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
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: drop call to v4l2_device_unregister_subdev() 2015-03-03 11:21:41 -03:00
tlv320aic23b.c [media] media/i2c/tlv320aic23: Remove compat control ops 2015-07-06 08:25:54 -03:00
tvaudio.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
tvp514x_regs.h
tvp514x.c [media] tvp514x: Check v4l2_of_parse_endpoint() return value 2016-02-01 10:03:09 -02:00
tvp5150_reg.h
tvp5150.c [media] tvp5150: propagate I2C write error in .s_register callback 2016-05-09 14:44:38 -03:00
tvp7002_reg.h
tvp7002.c [media] tvp7002: Check v4l2_of_parse_endpoint() return value 2016-02-01 10:03:33 -02:00
tw2804.c
tw9903.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tw9906.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
uda1342.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
upd64031a.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
upd64083.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00
vp27smpx.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
vpx3220.c [media] vpx3220: signedness bug in vpx3220_fp_read() 2016-02-01 07:59:43 -02:00
vs6624_regs.h
vs6624.c [media] v4l2: replace try_mbus_fmt by set_fmt 2015-05-01 08:48:49 -03:00
wm8739.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
wm8775.c [media] include/media: split I2C headers from V4L2 core 2015-11-17 06:57:11 -02:00