summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-10-13cx88: Change (struct cx8802_dev)->drvlist to a list_head and fix bugsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> 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>
2007-10-13cx88: Change void* card_priv to struct vp3054_i2c_stateTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> card_priv was only used to store a pointer to the vp3054 state struct. There's no need to use a void * since it doesn't have multiple types. Make the field conditional on VP3045 support. It was already conditional on DVB support, but it's only used if VP3045 support is on, so that makes for a better option to check. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
2007-10-13cx88: Only include the blackbird fields if blackbird is selectedTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add some ifdefs around fields only used for blackbird support, similar to the way the dvb fields are only included with dvb support. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
2007-10-10build: Handle kernel output directories correctlyTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Recent patches to try to handle kernel object file directories haven't been doing it correctly. This patch reworks the way the kernel location(s) are handled. KDIR et al are removed and replaced with two variables, SRCDIR and OUTDIR. SRCDIR is the location of: The main kernel Makefile The kernel headers The kernel source (if present) OUTDIR is the location of: The kernel .config file The kernel [qxm]conf binaries (if present) The following kernel situations should be handled correctly: 1. A kernel installed from source. One can specify the version via "make release VER=version". If VER is not specified, uname -r is used. This the default if make is run on a clean tree. OUTDIR is /lib/modules/$(VER)/build and SRCDIR is /lib/modules/$(VER)/source, which are both symlinks pointing to the same location. 2. A kernel installed from source which was was built with the "O=/output/directory" option to the kernel Makefile. The version is specified the same was as above. OUTDIR and SRCDIR are the same as above, except in this case they are symlinks to different directories. OUTDIR will be a link the the directory used in the "O=" option and SRCDIR will be the source location. 3. An installed binary kernel with only a kernel-headers package. The version can be specified the same way as above. OUTDIR will be /lib/modules/$(VER)/build and SRCDIR will be the same as OUTDIR, as no 'source' directory exists. The kernel source and Kconfig program are most likely not present. 4. An un-installed kernel source tree, for a kernel that was built without using the "O=/outdir/directory" option. The kernel does not need to be fully built, only the "modules_prepare" target needs to be built. The location of the tree is specified with "make release DIR=directory". Both SRCDIR and OUTDIR will be $(DIR). 5. An un-installed kernel source tree, for a kernel that was built using the "O=/output/directory" option. The location of the tree is specified using "make release DIR=/output/directory". Note that DIR is not the directory with the kernel source! It is set to the directory that was used with the O option when the kernel was built. The Makefile in this directory has a link back to the kernel source directory and the v4l-dvb build system will find this. OUTDIR will be the '/output/directory' and SRCDIR will be the location of the source that built it. All all these situation the v4l-dvb tree should build correctly and all the various scripts will work. In addition, if the binaries for the [qxm]conf programs are present, "make menuconfig", etc. will work as well. If the binaries are not present, but the source is, the Makefile will automatically build the binaries when "make menuconfig", etc. is used. The source should be present in all situation except (3), a kernel-headers only install. Note that if the kernel output directory (usually the same as the kernel source directory, except for (2) and (5)) is not writable, then building the Kconfig programs automatically will not be possible. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-11 cx23885: Drop empty i2c algorithm control callbackMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> i2c_algorithm.algo_control no longer exists. Signed-off-by: Jean Delvare <khali@linux-fr.org> Reviewed-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-11 git-dvb: rename videobuf_qtype_ops.copy_to_user()Mauro Carvalho Chehab
From: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-10Change list_for_each+list_entry to list_for_each_entryTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The rest of V4L files. There is one list_for_each+list_entry in cpia_pp.c that wasn't changed because it expects the loop iterator to remain NULL if the list is empty. A bug in vivi is fixed; the 'safe' version needs to be used because the loop deletes the list entries. Simplify a second loop in vivi and get rid if an un-used variable in that loop. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-10pvrusb2: Change list_for_each+list_entry to list_for_each_entryTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Reviewed-by: Mike Isely <isely@pobox.com>
2007-10-10saa7134: Replace list_for_each+list_entry with list_for_each_entryTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> A couple loops weren't changed because they expected the loop iterator to be left as NULL if the list was empty. Maybe the code should just check for that first, then loop? Adjust some of the loop logic to be simpler. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-10ivtv: Replace list_for_each+list_entry with list_for_each_entryTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Also fixed a few cases of cut&paste errors where 'buf' would be set to the first entry in the list prior to be used as the loop iterator. In one case the value of buf was used before it was changed, but the rest were unnecessary. There was one list_for_each+list_entry loop that wasn't changed, since it depending on the loop iterator being left as NULL if the list was empty. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: Hans Verkuil <hverkuil@xs4all.nl>
2007-10-10cx88: Replace list_for_each+list_entry with list_for_each_entryTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-10dvb: Replace list_for_each+list_entry with list_for_each_entryTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-10Rename patch forgot to rename #include <linux/video-buf-dvb.h>Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Building were not broken, since the building system were using the kernel's video-buf-dvb.h. This changeset will be merged with cs 6257 at -git. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-10 build: fix builds with kernel headersMauro Carvalho Chehab
From: Maxim Levitsky <maximlevitsky@gmail.com> /lib/modules/$(uname -r)/source isn't available if only kernel-headers were installed. use /lib/modules/$(uname -r)/build in that case Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-09 V4L: zc0301, remove bad usage of ERESTARTSYSMauro Carvalho Chehab
From: Jiri Slaby <jirislaby@gmail.com> zc0301, remove bad usage of ERESTARTSYS down_read_trylock can't be interrupted and so ERESTARTSYS would reach userspace, which is not permitted. Change it to EAGAIN Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Acked-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-09 V4L: w9968cf, remove bad usage of ERESTARTSYSMauro Carvalho Chehab
From: Jiri Slaby <jirislaby@gmail.com> w9968cf, remove bad usage of ERESTARTSYS down_read_trylock can't be interrupted and so ERESTARTSYS would reach userspace, which is not permitted. Change it to EAGAIN Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Acked-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08 Few clenups for saa7134 resume codeMauro Carvalho Chehab
From: Maxim Levitsky <maximlevitsky@gmail.com> *Disable DMA explictly on suspend *Enable DMA on resume, after all buffers were configured *Disable overlay on resume - apps should enable it when X is resumed ` Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-05 V4L: videobuf-core.c avoid NULL dereferences in videobuf-coreMauro Carvalho Chehab
From: Brandon Philips <bphilips@suse.de> The return value of videobuf_alloc() is unchecked but this function will return NULL on an error. Check for NULL and make videobuf_reqbufs() return the number of successfully allocated buffers. Also, fix saa7146_video.c and bttv-driver.c to use this returned buffer count. Tested against the vivi driver. Not tested against saa7146 or bt8xx devices. Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08Runs checkpatch.pl during make commitMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> checkpatch.pl is the official tool for checking CodingStyle violations on kernel patches. This changeset makes it run every time a "make commit" is called. This allows detecting CodingStyle violations during development phase. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08Validates changesets using checkpatchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08merge: http://linuxtv.org/hg/~tap/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08merge: http://linuxtv.org/hg/~mkrufky/pendingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08Add capability for checking patches using kernel checkpatch.plMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08pvrusb: Update DEBUGIFC sysfs to kernel 2.6.13+Trent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The prototypes for the show and store methods of a device_attribute changed in kernel 2.6.13, but the code in pvrusb2 was never updated. I guess the DEBUGIFC stuff isn't used much.... Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-08compat: Remove unneeded #ifTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Both true and false branch of the #if had the exact same code, just line wrapped differently. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-08dvb: Add dependencies for VIDEOBUF_DVBTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> It needs to select VIDEOBUF_GEN and VIDEOBUF_DMA_SG, since it uses those modules. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-08cx23885: remove wrong Kconfig selection of VIDEOBUFMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> fix bad Kconfig dependency of cx23885 module. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-10-08dib0700: add support for AverMedia DVB-T Express cardMichael Krufky
From: Joachim Steiger <roh@hyte.de> add Avermedia dvb-t express card 34 (usb2) id Signed-off-by: Joachim Steiger <roh@hyte.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-10-08V4L: convert struct class_device to struct deviceMauro Carvalho Chehab
From: Kay Sievers <kay.sievers@vrfy.org> The currently used "struct class_device" will be removed from the kernel. Here is a patch that converts all users in drivers/media/video/ to struct device. Reviewed-by: Thierry Merle <thierry.merle@free.fr> Reviewed-by: Mike Isely <isely@pobox.com> Reviewed-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
2007-10-08saa7134: add autodetection for KWorld ATSC-115Michael Krufky
From: Eric Sandeen <sandeen@sandeen.net> Recognize the KWorld ATSC115 PCI ID as a hardware clone of the ATSC110. Signed-off-by: Eric Sandeen <sandeen@sandeen.net> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-10-08videobuf_core init always require callback implementationMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> In the past, videobuf_queue_init were used to initialize PCI DMA videobuffers. This patch renames it, to avoid confusion with the previous kernel API, doing: s/videobuf_queue_init/void videobuf_queue_core_init/ Also, the operations is now part of the function parameter. The function will also add a test if this is defined, otherwise producing BUG. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08Fix: avoid oops on some SMP machinesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This workaround fix a bug that happens on some SMP machines. On those machines, videobuf_iolock is called too soon, before file .mmap handler. This patch calls the scheduler before iolocking, allowing it to properly call the pending mmap. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08remove videobuf_set_pci_opsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Before the videobuf redesign, a procedure for re-using videobuf without PCI scatter/gather where provided by changing the pci-dependent operations by other operations. With the newer approach, those methods are obsolete and can safelly be removed. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08Remove reference to dead CONFIG_UST and ust.h header.Mauro Carvalho Chehab
From: "Robert P. J. Day" <rpjday@mindspring.com> Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08compat: remove strlcpyMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This is already defined on compat.h Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-08Fix DMA Scatter/Gather constructorMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> cx23885 driver were converted to use the newer videobuf support. Unfortunately, the constructor weren't changed. This causes an oops, since the abstract methods (implemented as callbacks) aren't defined. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-07Add support for MSI TV @nywhere A/D NBMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This is a Lifeview hybrid OEM board. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-24 Remove pointless kmalloc() return value cast in Zoran PCI controller driverMauro Carvalho Chehab
From: Jesper Juhl <jesper.juhl@gmail.com> No need to cast the void pointer returned by kmalloc() in drivers/media/video/zoran_driver.c::v4l_fbuffer_alloc(). Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-04cx23885: Update to new videobuf codeTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> cx23885 was still uses the old video-buf includes and code, which would only `work' if one happened to be compiling against a kernel that had the old headers. Even then, it wouldn't actually work, it would just compile without errors. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-04videobuf: Remove references to old Kconfig option nameTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> CONFIG_VIDEO_BUF_DVB became CONFIG_VIDEOBUF_DVB. But in these cases, it makes more sense to use CONFIG_VIDEO_SAA7134_DVB or CONFIG_VIDEO_CX88_DVB_MODULE depending on the driver. The reference in cx23885.h should just be removed, as the code there needs to be included if DVB is on or off. I do not think you can even compile the cx23885 driver without DVB. It's clearly just leftover from when the file was obvious copied from the cx88 driver (which is not mentioned in the copyright BTW). Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-03scripts: improve check_config_defines.plTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> If a kconfig option goes away in the v4l-dvb Kconfig files, but is still present in the kernel Kconfig files, then v4l-dvb code using that option would appear to be ok. This is fixed by not reading the drivers/media Kconfig files from the kernel source and merging the options defined there with those from the v4l-dvb version. If a Kconfig file is read from v4l-dvb, the kernel version of that file is not read. Fix a regex bug that made #ifdef CONFIG_WHATEVER_MODULE appear to be missing when WHATEVER did exist. Check #ifndef too. Get Kconfig options from menuconfig lines too. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-03build: clean up some ugly perl codeTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Much better now. Also handles some more error conditions and prints a bit more information. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-03build: update .hgignore fileTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> .hgignore uses regexs, not filename globs. Most needed a '$' at the end, so something like v4l/Kconfig (ignored) didn't match v4l/Kconfig.sound (not ignored). Adjust "v4l/.*\.h" do it doesn't ignore v4l/compat.h and v4l/i2c-compat.h. Ignore .patch and .diff files. Combine some .o and .a regexs. Add new regexs for new test and util binaries. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-10-03en_50221: convert to kthread APIMauro Carvalho Chehab
From: Christoph Hellwig <hch@infradead.org> Here's an attempted update to the full kthread API + wake_up_process: Signed-off-by: Andrew Morton <akpm@linux-foundation.org> CC: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-02Buf: fix typo that caused data loss when readng streams from deviceMaxim Levitsky
If videobuf_read_stream reads two or more buffers it was overwriting the first one Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira <v4l@cerqueira.org>
2007-09-27vivi cleanup: remove the unused varsMauro Carvalho Chehab
Last patch series made vivi driver simpler. This patch removes the now unused vars. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-09-27V4L: videobuf-core.c lock before streaming checkbphilips@suse.de
The reading/streaming fields are used for mutual exclusion of the queue and should be protected by the queue lock. Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira <v4l@cerqueira.org>
2007-09-27V4L: vivi.c remove the "resource" lockingbphilips@suse.de
The "resource" locking in vivi isn't needed since streamon/streamoff/read_stream do mutual exclusion using q->reading/q->streaming. Plus it is sort of broken: a) res_locked() use in vivi_read() is racey. b) res_free() calls mutex_lock twice causing streamoff to break Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-09-27V4L: vivi.c replace logic in vivi_poll with videobuf_poll_streambphilips@suse.de
Since vivi is using videobuf_read_stream() it can use videobuf_poll_stream() now. Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-09-27V4L: vivi.c vidioc_try_fmt_cap() negotiate a valid fieldbphilips@suse.de
If the client provides V4L2_FIELD_ANY vivi should return a valid field :) Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>