summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/bt8xx/bttvp.h
AgeCommit message (Collapse)Author
2009-04-01v4l: increase version numbers of drivers converted to v4l2_subdev.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> With all the v4l2_subdev changes that were made to these drivers it is a good idea to increase the version number of each driver. It's just the patch level that is increased, except for the zoran and saa7146 drivers where the minor number was increased due to the more substantial changes that were made to those two drivers. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-28bttv: convert to v4l2_subdev since i2c autoprobing will disappear.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Since i2c autoprobing will disappear bttv needs to be converted to use v4l2_subdev instead. Without autoprobing the autoload module option has become obsolete. A warning is generated if it is set, but it is otherwise ignored. Since the bttv card definitions are of questionable value a new option was introduced to allow the user to control which audio module is selected: msp3400, tda7432 or tvaudio (or none at all). By default bttv will use the card definitions and fallback on tvaudio as the last resort. If no audio device was found a warning is printed. The saa6588 RDS device is now also explicitly probed since it is no longer possible to autoprobe it. A new saa6588 module option was added to override the card definition since I suspect more cards have this device than one would guess from the card definitions. Note that the probe addresses of the i2c modules are hardcoded in this driver. Once all v4l drivers are converted to v4l2_subdev this will be cleaned up. Such data belongs in an i2c driver header. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-14bttv: convert to v4l2_device.Mauro Carvalho Chehab
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-10avoid loading the entire videodev.h header for drivers that are already V4L2 ↵Mauro Carvalho Chehab
only From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-28bttv: dynamically allocate device dataTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The bttv driver had static array of structures for up to 16 possible bttv devices, even though few users have more than one or two. The structures were quite large and this resulted in a huge BSS segment. Change the driver to allocate the bttv device data dynamically, which changes "struct bttv bttvs[BTTV_MAX]" to "struct bttv *bttvs[BTTV_MAX]". It would be nice to get ride of "bttvs" entirely but there are some complications with gpio access from the audio & mpeg drivers. To help bttvs removal along anyway, I changed the open() methods use the video device's drvdata to get the driver data instead of looking it up in the bttvs array. This is also more efficient. Some WARN_ON()s are added in cases the device node exists by the bttv device doesn't, which I don't think should be possible. The gpio access functions need to check if bttvs[card] is NULL now. Though calling them on a non-existent card in the first place is wrong, but hard to solve given the fundamental problems in how the gpio access code works. This patch reduces the bss size by 66560 bytes on ia32. Overall change is a reduction of 66398 bytes, as the WARN_ON()s add some 198 bytes. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-01-28bttv: shrink muxsel data in card databaseTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Over half of the card database was used to store muxsel data. 64 bytes were used to store one 32 bit word for each of up to 16 inputs. The Bt8x8 only has two bits to control its mux, so muxsel data for 16 inputs will fit into a single 32 bit word. There were a couple cards that had special muxsel data that didn't fit in two bits, but I cleaned them up in earlier patches. Unfortunately, C doesn't allow us to have an array of bit fields. This makes initializing the structure more of a pain. But with some cpp magic, we can do it by changing: .muxsel = { 2, 3, 0, 1 }, .muxsel = { 2, 2, 2, 2, 3, 3, 3, 3, 1, 1 }, Into: .muxsel = MUXSEL(2, 3, 0, 1), .muxsel = MUXSEL(2, 2, 2, 2, 3, 3, 3, 3, 1, 1), That's not so bad. MUXSEL is a fancy macro that packs the arguments (of which there can be one to sixteen!) into a single word two bits at a time. It's a compile time constant (a variadic function wouldn't be) so we can use it to initialize the structure. It's important the the arguments to the macro only be plain decimal integers. Stuff like "0x01", "(2)", or "MUX3" won't work properly. I also created an accessor function, bttv_muxsel(btv, input), that gets the mux bits for the selected input. It makes it cleaner to change the way the muxsel data is stored. This patch doesn't change the code size and decreases the datasegment by 9440 bytes. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-01-28bttv: rework the way digital inputs are indicatedTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The code was using a muxsel value of -1U to indicate a digital input. A couple places in were checking of muxsel < 0 to detect this, which doesn't work of course because muxsel is unsigned and can't be negative. Only a couple cards had digital inputs and it was always the last one, so for the card database create a one bit field that indicates the last input is digital. On init, this is used to set a new field in the bttv struct to the digital input's number or UNSET for none. This makes it easier to check if the current input is digital. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-01-28bttv: norm value should be unsignedTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The norm value in the driver is an index into an array and the the driver doesn't allow it to be negative or otherwise invalid. It should be unsigned but wasn't in all places. Fix some structs and functions to have the norm be unsigned. Get rid of useless checks for "< 0". Most of the driver code can't handle a norm value that's out of range, so change some ">= BTTV_TVNORMS" checks to BUG_ON(). There's no point in silently ignoring invalid driver state just to crash because of it later. Priority: normal Reported-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2008-03-20Increase number of BT8XX devices supported in a systemMauro Carvalho Chehab
From: Alan McIvor <alan.mcivor@reveal.co.nz> The BT8XX device driver currently only supports 16 such devices in a system. This is too small for many surveillance applications. This patch increases the number to 32. -- video4linux-list mailing list Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe https://www.redhat.com/mailman/listinfo/video4linux-list Signed-off-by: Alan McIvor <alan.mcivor@reveal.co.nz> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-08-23v4l-dvb: fix a bunch of sparse warningsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Fixed a lot of sparse warnings: mostly warnings about shadowed variables and signed/unsigned mismatches. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.16Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 4 removes the compatibility support for kernels < 2.6.16. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.10Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 2 removes support for kernels < 2.6.10. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.0Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> First phase of the backwards compatibility cleanup: stop supporting kernels older than 2.6.0. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-05-28videodev: renamed the vidioc_*_fmt_* callbacksHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The naming for the callbacks that handle the VIDIOC_ENUM_FMT and VIDIOC_S/G/TRY_FMT ioctls was very confusing. Renamed it to match the v4l2_buf_type name. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-05-02backport commit bdf4bbaaee3d4b8f555658333cbce1affe9070fbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Author: Harvey Harrison <harvey.harrison@gmail.com> Date: Wed Apr 30 00:54:55 2008 -0700 Add macros similar to min/max/min_t/max_t Also, change the variable names used in the min/max macros to avoid shadowed variable warnings when min/max min_t/max_t are nested. Small formatting changes to make all the macros have a similar form. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix v4l build] Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-10use tuner-simple for Philips FCV1236D digital tuning supportMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Convert dvb-bt8xx to use tuner-simple instead of dvb-pll for Philips FCV1236D Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-12-27Replace vidioc_ to bttv_Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Since there are a few vidioc_ functions that were exported, rename those functions to bttv_ in order to avoid poluting namespace. The other functions were also renamed, to standardize inside the driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-27Converted bttv to use video_ioctl2Mauro Carvalho Chehab
From: Douglas Schilling Landgraf <dougsland@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-06backport commit 87ae9afdcada236d0a1b38ce2c465a65916961dcMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Author: Adrian Bunk <bunk@kernel.org> Date: Tue Oct 30 10:35:04 2007 +0100 cleanup asm/scatterlist.h includes Not architecture specific code should not #include <asm/scatterlist.h>. This patch therefore either replaces them with #include <linux/scatterlist.h> or simply removes them if they were unused. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-25Split hooks on volume and audio mode and rework their handlingMauro Carvalho Chehab
Also convert audio_mode_gpio functions from audio_hook From: Nickolay V. Shmyrev <nshmyrev@yandex.ru> Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/bt8xx/bttv-audio-hook.c | 173 ++++++++++------------ linux/drivers/media/video/bt8xx/bttv-audio-hook.h | 28 +-- linux/drivers/media/video/bt8xx/bttv-cards.c | 38 ++-- linux/drivers/media/video/bt8xx/bttv-driver.c | 97 ++---------- linux/drivers/media/video/bt8xx/bttv.h | 7 linux/drivers/media/video/bt8xx/bttvp.h | 7 6 files changed, 144 insertions(+), 206 deletions(-)
2007-10-26Audio hooks moved to another fileMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/bt8xx/Makefile | 2 linux/drivers/media/video/bt8xx/bttv-audio-hook.c | 390 +++++++++++++++++++++ linux/drivers/media/video/bt8xx/bttv-audio-hook.h | 23 + linux/drivers/media/video/bt8xx/bttv-cards.c | 399 ---------------------- linux/drivers/media/video/bt8xx/bttv.h | 2 linux/drivers/media/video/bt8xx/bttvp.h | 3 6 files changed, 420 insertions(+), 399 deletions(-)
2007-10-26remove V4L1 from being compiled when V4L2 only is selectedMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/bt8xx/bttv-driver.c | 95 ++++++-------------------- linux/drivers/media/video/bt8xx/bttvp.h | 1 2 files changed, 24 insertions(+), 72 deletions(-)
2007-10-26Partial conversion from V4L1 to V4L2Mauro Carvalho Chehab
From: Nickolay V. Shmyrev <nshmyrev@yandex.ru> This is part of the old V4L1->V4L2 bttv patch, ported to current tree by Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> --- linux/drivers/media/video/bt8xx/Kconfig | 2 linux/drivers/media/video/bt8xx/bttv-driver.c | 663 +++++--------------------- linux/drivers/media/video/bt8xx/bttvp.h | 4 3 files changed, 131 insertions(+), 538 deletions(-)
2007-08-23Adapt drivers to use the newer videobuf modulesMauro Carvalho Chehab
PCI-dependent videobuf_foo methods were renamed as videobuf_pci_foo. Also, videobuf_dmabuf is now part of videobuf-dma-sg private struct. So, to access it, a subroutine call is needed. This patch renames all occurences of those function calls to be consistent with the video-buf split. 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-07-17Use msecs_to_jiffies instead of HZ on bttv, cx88 and saa7134Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-02Fix v4l-dvb backward compatibilityMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Due to several internal API changes on kernel, kernel backward compatibility were lost. Basically, compat.h should be the last include for it to work properly. This patch basically reorders kernel headers to allow backward compat to work fine. Also: Some includes were added after some non-include macros, on old drivers. Better to keep all includes at the beginning of the files. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-24bttv: automatically load dvb-bt8xx for bttv cards with dvb supportMichael Krufky
From: Jarod Wilson <jwilson@redhat.com> This patch causes the bttv driver to automatically load the dvb-bt8xx module for bttv/dvb hybrid cards. Successfully tested with a pcHDTV HD-2000 card. This patch is based on the recent patches to enable autoloading of cx88-dvb, cx88-blackbird and saa7134-dvb. Signed-off-by: Jarod Wilson <jwilson@redhat.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-01-18Bttv cropping supportMauro Carvalho Chehab
From: Michael Schimek <mschimek@gmx.at> Adds the missing VIDIOC_CROPCAP, G_CROP and S_CROP ioctls, permitting applications to capture or overlay a subsection of the picture or to extend the capture window beyond active video, into the VBI area and the horizontal blanking. VBI capturing can start and end on any line, including the picture area, and apps can capture different lines of each field and single fields. For compatibility with existing applications, the open() function resets the cropping and VBI capturing parameters and a VIDIOC_S_CROP call is necessary to actually enable cropping. Regrettably in PAL-M, PAL-N, PAL-Nc and NTSC-JP mode the maximum image width will increase from 640 and 768 to 747 and 923 pixels respectively. Like the VBI changes however, this should only affect applications which depend on former driver limitations, such as never getting more than 640 pixels regardless of the requested width. Also, new freedoms require additional checks for conflicts and some applications may not expect an EBUSY error from the VIDIOC_QBUF and VIDIOCMCAPTURE ioctls. These errors should be rare though. So far, the patch has been tested on a UP machine with a bt878 in PAL- BGHI and NTSC-M mode using xawtv, tvtime, mplayer/mencoder, zapping/ libzvbi and these tools: http://zapping.sf.net/bttv-crop-test.tar.bz2 I'd be grateful about comments or bug reports. Signed-off-by: Michael H. Schimek <mschimek@gmx.at> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-08Add support for the ASUS P7131 remote controlHartmut Hackmann
From: Hermann Pitton <hermann-pitton@arcor.de> Besides adding the board specific code, this patch moves the RC5 decoding code from bt8xx to ir-functions.c to make it available for all drivers. Signed-off-by: Marc Fargas <telenieko.telenieko.com> Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
2006-07-19Several other backports from kernel to v4l/dvb treeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-05Removed all references to kernel stuff from videodev.h and videodev2.hMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> The videodev.h and videodev2.h describe the public API for V4L and V4L2. It shouldn't have there any kernel-specific stuff. Those were moved to v4l2-dev.h. This patch removes some uneeded headers and include v4l2-common.h on all V4L driver. This header includes device implementation of V4L2 API provided on v4l2-dev.h as well as V4L2 internal ioctls that provides connections between master driver and its i2c devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-05-18bttv-gpio-irq is no longer used, remove itRicardo Cerqueira
From: Ricardo Cerqueira <rmcc@linuxtv.org> This functionality was used when remote control input for BTTV was handled by a standalone module, to hook some functions of that module into the main bttv core. Since that module is now extinct, this can go away Signed-off-by: Ricardo Cerqueira <rmcc@linuxtv.org>
2006-04-11Since we are not using CVS, $Id makes no sense anymoreMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-19Cleanup audio input handlingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Cleanup audio input handling in bttv and tvaudio: - inputs were specified that were never used - mute was handled as a special input which led to confusing code - confusing naming made it difficult to see if the setting was for i2c or gpio. The old audiochip.h input names moved to tvaudio.h. Currently this is used both by tvaudio and msp3400 until the msp3400 implements the new msp3400-specific inputs. Detect in bttv the tvaudio and msp3400 i2c clients and use these client pointers to set the inputs directly instead of broadcasting the command. Removed AUDC_SET_INPUT. Now replaced by VIDIOC_S_AUDIO. This will be replaced again later by the new ROUTING commands. Removed VIDIOC_G_AUDIO implementations in i2c drivers: this command is a user level command and not to be used internally. It wasn't called at all anyway. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-03-17From: Manu Abraham <manu@linuxtv.org>Manu Abraham
move bttv fragments to bt8xx/ Signed-off-by: Manu Abraham <manu@linuxtv.org>