linux_dsm_epyc7002/drivers/media/video
Trent Piepho 081c2fc8b9 V4L/DVB (6334): cx88: Change (struct cx8802_dev)->drvlist to a list_head and fix bugs
It was a struct cx8802_driver for no apparent reason.  Nothing uses a
cx8802_driver in the cx8802_dev struct.  The only field that was used was
devlist, a list_head.

The code in cx8802_remove() that removed any loaded sub-drivers was broken.
It would delete the current list entry, but didn't use list_for_each_safe.  It
also called list_del() on the list _head_ inside the list_for_each loop?  It
would crash if it was run, which I don't think can ever happen.

Since the cx8802 sub-drivers use the cx8802 driver, they have to be unloaded
first.  So there isn't any way for a sub-driver to still be loaded when
cx8802_remove() is called...  Except maybe with PCI hot-plug, if one removes
the PCI card while the drivers are loaded?

So I left some code in to handle that if it's actually possible.  It will
remove the sub-drivers from the device cx8802_remove() was called on, and only
that device.  If one has two DVB cards and unplugs one, there is no reason to
unload the DVB drivers for both cards.  I have no way to test this, but it
can't be worse than what was there before.

cx8802_get_driver() is passed a cx8802_dev pointer and looks for the requested
driver on that device.  It first loops over the cx8802 device list looking for
the device it was passed, which is pointless.  It doesn't need to find the
device pointer in the list, as it already has the pointer.

The list_head in the cx8802_driver struct, which joins all the _drivers_
attached to a device, was named devlist.  Changed that to drvlist, since the
devlist is used for a list of _devices_ in other cx8802 structs.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-22 12:01:43 -02:00
..
bt8xx V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
cpia2 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
cx88 V4L/DVB (6334): cx88: Change (struct cx8802_dev)->drvlist to a list_head and fix bugs 2007-10-22 12:01:43 -02:00
cx23885 V4L/DVB (6325): Double-free in cx23885_initdev 2007-10-22 12:01:36 -02:00
cx25840 V4L/DVB (6142): cx25840: fix build warning 2007-10-09 22:07:51 -03:00
em28xx V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
et61x251 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
ivtv V4L/DVB (6328): ivtv: fix NULL dereference 2007-10-22 12:01:40 -02:00
ovcamchip V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
pvrusb2 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
pwc V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
saa7134 V4L/DVB (6330): V4L: saa7134: Fix interaction between tvaudio thread and the freezer 2007-10-22 12:01:41 -02:00
sn9c102 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
usbvideo V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
usbvision V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
zc0301 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
adv7170.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
adv7175.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
arv.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
bt819.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
bt856.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
bt866.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
btcx-risc.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
btcx-risc.h
bw-qcam.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
bw-qcam.h
c-qcam.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
cafe_ccic-regs.h V4L/DVB (5690): Cafe_ccic: Properly power down the sensor 2007-05-22 16:16:27 -03:00
cafe_ccic.c V4L/DVB (6252): Adapt drivers to use the newer videobuf modules 2007-10-09 22:14:55 -03:00
compat_ioctl32.c V4L/DVB (5989): V4L: Add additional ioctls to compat_ioctl32 2007-10-09 22:04:45 -03:00
cpia_pp.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
cpia_usb.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
cpia.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
cpia.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
cs53l32a.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
cs8420.h
cx2341x.c V4L/DVB (6088): cx2341x: some controls can't be changed while the device is busy 2007-10-09 22:06:42 -03:00
dabfirmware.h
dabusb.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
dabusb.h
dpc7146.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
font.h
hexium_gemini.c
hexium_orion.c
ibmmpeg2.h
indycam.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
indycam.h
ir-kbd-i2c.c V4L/DVB (6196): cx23885: add support for DViCO FusionHDTV 5 Express 2007-10-09 22:14:29 -03:00
Kconfig V4L/DVB (6254): Add videobuf-vmalloc 2007-10-09 22:14:56 -03:00
ks0127.c V4L/DVB (5029): Ks0127 status flags 2007-01-15 16:25:52 -02:00
ks0127.h
Makefile V4L/DVB (6257): Rename video-buf-dvb to videobuf-dvb to be consistent with the other patches 2007-10-10 00:02:46 -03:00
meye.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
meye.h Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
msp3400-driver.c V4L/DVB (6125): whitespace cleanup: replace leading spaces with tabs 2007-10-09 22:07:29 -03:00
msp3400-driver.h V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
msp3400-kthreads.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
mt20xx.c V4L/DVB (6130): mt20xx: convert from tuner sub-driver into dvb_frontend module 2007-10-09 22:07:39 -03:00
mt20xx.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
mxb.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
mxb.h
ov511.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
ov511.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ov7670.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
planb.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
planb.h V4L/DVB (5551): Plan-b: header change 2007-04-27 15:45:53 -03:00
pms.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
saa711x_regs.h
saa711x.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
saa5246a.c more UTF-8 conversions 2007-10-19 23:22:11 +02:00
saa5246a.h V4L/DVB (5197): Convert to generic boolean-values 2007-02-21 13:35:16 -02:00
saa5249.c more UTF-8 conversions 2007-10-19 23:22:11 +02:00
saa6588.c V4L/DVB (6215): Bugfix for saa6588.c, add forgotten spin_lock_init() 2007-10-09 22:14:35 -03:00
saa7110.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
saa7111.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7114.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7115.c V4L/DVB (5414): Add missing kfree in early exit of saa7115. 2007-04-27 15:44:31 -03:00
saa7121.h
saa7127.c V4L/DVB (6116): ivtv: VBI cleanups and fixes 2007-10-09 22:07:14 -03:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7191.c V4L/DVB (6148): Fix a warning at saa7191_probe 2007-09-14 13:13:42 -03:00
saa7191.h
saa7196.h
se401.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
se401.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
stradis.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
stv680.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
stv680.h
tcm825x.c V4L/DVB (6220): TCM825x: Add support for vidioc_int_g_ifparm call, small cleanups 2007-10-09 22:14:40 -03:00
tcm825x.h V4L/DVB (6220): TCM825x: Add support for vidioc_int_g_ifparm call, small cleanups 2007-10-09 22:14:40 -03:00
tda7432.c V4L/DVB (5492): Remove useless includes of i2c-algo-bit.h 2007-04-27 15:45:23 -03:00
tda8290.c V4L/DVB (6140): tda8290: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:49 -03:00
tda8290.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tda9840.c
tda9840.h
tda9875.c V4L/DVB (5492): Remove useless includes of i2c-algo-bit.h 2007-04-27 15:45:23 -03:00
tda9887.c V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers 2007-10-09 22:07:34 -03:00
tea5761.c V4L/DVB (6138): tea5761: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:46 -03:00
tea5761.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tea5767.c V4L/DVB (6139): tea5767: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:49 -03:00
tea5767.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tea6415c.c
tea6415c.h
tea6420.c
tea6420.h
tlv320aic23b.c
tuner-3036.c
tuner-core.c V4L/DVB (6326): tuner-core.c: fe_has_signal() can return uninitialized value 2007-10-22 12:01:39 -02:00
tuner-driver.h V4L/DVB (6133): tuner-simple: convert from tuner sub-driver into dvb_frontend module 2007-10-09 22:07:41 -03:00
tuner-i2c.h V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers 2007-10-09 22:07:34 -03:00
tuner-simple.c V4L/DVB (6137): tuner-simple: add get_rf_strength and improve status reading efficiency 2007-10-09 22:07:45 -03:00
tuner-simple.h V4L/DVB (6134): tuner: alter build to produce separate modules 2007-10-09 22:07:43 -03:00
tuner-types.c V4L/DVB (5978): tuner: Better tuner radio support 2007-10-09 22:04:34 -03:00
tvaudio.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
tveeprom.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
tvmixer.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
tvp5150_reg.h
tvp5150.c V4L/DVB (5739): Replace C code with calls to ARRAY_SIZE macro. 2007-07-18 14:23:52 -03:00
upd64031a.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
upd64083.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
v4l1-compat.c Replace __attribute_pure__ with __pure 2007-10-18 14:37:32 -07:00
v4l2-common.c V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls 2007-10-22 12:01:30 -02:00
v4l2-int-device.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
videobuf-core.c V4L/DVB (6324): fix videobuf_cgmbuf export 2007-10-22 12:01:35 -02:00
videobuf-dma-sg.c v4l: copy_to_user() is not a good method name 2007-10-13 09:58:59 -07:00
videobuf-dvb.c V4L/DVB (6257): Rename video-buf-dvb to videobuf-dvb to be consistent with the other patches 2007-10-10 00:02:46 -03:00
videobuf-vmalloc.c v4l: copy_to_user() is not a good method name 2007-10-13 09:58:59 -07:00
videocodec.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
videocodec.h
videodev.c V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls 2007-10-22 12:01:30 -02:00
vino.c V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files 2007-10-09 22:06:17 -03:00
vino.h
vivi.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
vp27smpx.c V4L/DVB (6044): vp27smpx: clarify history of this source. 2007-10-09 22:05:30 -03:00
vpx3220.c
w9966.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
w9968cf_decoder.h
w9968cf_vpp.h
w9968cf.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
w9968cf.h
wm8739.c V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module 2007-07-20 17:35:57 -03:00
wm8775.c V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module 2007-07-20 17:35:57 -03:00
zoran_card.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
zoran_card.h V4L/DVB (5884): zr36067: clean up debug function 2007-10-09 22:02:57 -03:00
zoran_device.c V4L/DVB (5885): zr36067: Fix problems with module parameters 2007-10-09 22:02:58 -03:00
zoran_device.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
zoran_driver.c V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field 2007-10-22 12:01:24 -02:00
zoran_procfs.c V4L/DVB (5884): zr36067: clean up debug function 2007-10-09 22:02:57 -03:00
zoran_procfs.h
zoran.h V4L/DVB (5890): zr36067: Add UYVY, RGB555X, RGB565X, and RGB32 formats 2007-07-30 16:26:26 -03:00
zr364xx.c V4L/DVB (5792): Zr364xx: add support for Trust Powerc@m 970Z 2007-07-18 14:24:23 -03:00
zr36016.c V4L/DVB (6078): Coding style fix drivers/media/video/zr36016.c 2007-10-09 22:06:07 -03:00
zr36016.h
zr36050.c V4L/DVB (6077): Coding style fix drivers/media/video/zr36050.c 2007-10-09 22:06:06 -03:00
zr36050.h
zr36057.h
zr36060.c V4L/DVB (6076): Coding style fix drivers/media/video/zr36060.c 2007-10-09 22:06:05 -03:00
zr36060.h