summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/bt8xx/bttv-driver.c
AgeCommit message (Collapse)Author
2008-11-22Remove warnings when compiling with kernel 2.6.18Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-19v4l: use video_device.num instead of minor in video%dHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The kernel number of a v4l2 node (e.g. videoX, radioX or vbiX) is now independent of the minor number. So instead of using the minor field of the video_device struct one has to use the num field: this always contains the kernel number of the device node. I forgot about this when I did the v4l2 core change, so this patch converts all drivers that use it in one go. Luckily the change is trivial. Priority: high Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: michael@mihu.de CC: mchehab@infradead.org CC: corbet@lwn.net CC: luca.risolia@studio.unibo.it CC: isely@pobox.com CC: pe1rxq@amsat.org CC: royale@zerezo.com CC: mkrufky@linuxtv.org CC: stoth@linuxtv.org
2008-10-03v4l: remove vidioc_enum_fmt_vbi_capHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Remove the vidioc_enum_fmt_vbi_cap ops: it was scheduled for removal in 2.6.28 since the v4l2 specification says that V4L2_BUF_TYPE_VBI_CAPTURE should not support VIDIOC_ENUM_FMT. It's also pretty pointless. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-09-07bttv: Turn video_nr, vbi_nr and radio_nr into arraysMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> With video_nr, vbi_nr and radio_nr being simple integers, it is not possible to use these parameters on a system with multiple bttv adapters (which happens to be my case.) video_register_device() will always fail on the second and later adapters. Turn these parameters into arrays, as many other V4L drivers are already doing, so that they can be used on such systems. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-07bttv: Prevent NULL pointer dereference in radio_openMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> Fix the following crash in the bttv driver: BUG: unable to handle kernel NULL pointer dereference at 000000000000036c IP: [<ffffffffa037860a>] radio_open+0x3a/0x170 [bttv] This happens because radio_open assumes that all present bttv devices have a radio function. If a bttv device without radio and one with radio are installed on the same system, and the one without radio is registered first, then radio_open checks for the radio device number of a bttv device that has no radio function, and this breaks. All we have to do to fix it is to skip bttv devices without a radio function. Priority: high Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-08-30bttv: Don't unmask VPRES interruptMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> When the input is set to tuner and no antenna is connected, the BT848 can flood VPRES interrupts. So we don't want to enable this type of interrupts when the input it set to tuner. As we don't do anything when receiving such an interrupt anyway, the easiest fix is to simply not unmask this specific interrupt. Signed-off-by: Jean Delvare <khali@linux-fr.org> 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-08-05Fix mute on bttv driverMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-30v4l: move BKL down to the driver level.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The BKL is now moved from the video_open function in v4l2-dev.c to the various drivers. It seems about a third of the drivers already has a lock of some sort protecting the open(), another third uses video_exclusive_open (yuck!) and the last third required adding the BKL in their open function. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-26v4l2-dev: remove unused type and type2 field from video_deviceHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The type and type2 fields were unused and so could be removed. Instead add a vfl_type field that contains the type of the video device. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-21videodev: move all ioctl callbacks to a new v4l2_ioctl_ops structHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All ioctl callbacks are now stored in a new v4l2_ioctl_ops struct. Drivers fill in a const struct v4l2_ioctl_ops and video_device just contains a const pointer to it. This ensures a clean separation between the const ops struct and the non-const video_device struct. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-20videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.hHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The functions in a header should not belong to another module. The prio functions belong to v4l2-common.c, so move them to v4l2-common.h. The ioctl functions belong to v4l2-ioctl.c, so create a new v4l2-ioctl.h header and move those functions to it. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-20videodev: renamed 'class_dev' to 'dev'Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The class_dev field is a normal device, not a class device. This is very confusing and now that the old 'dev' field has been renamed to 'parent' we can rename 'class_dev' to just 'dev'. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-20videodev: rename 'dev' to 'parent'Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The field 'dev' is not the video device, but the parent of the video device. Rename accordingly. 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.13Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 3 of the compat cleanup. 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-06-22bt8xx endianness annotations and fixesMauro Carvalho Chehab
From: Al Viro <viro@ftp.linux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-23bttv: allow debug ioctl'sMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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-17 [PATCH] Fix a deadlock in the bttv driverMauro Carvalho Chehab
From: Arjan van de Ven <arjan@linux.intel.com> vidiocgmbuf() does this: mutex_lock(&fh->cap.vb_lock); retval = videobuf_mmap_setup(&fh->cap, gbuffers, gbufsize, V4L2_MEMORY_MMAP); and videobuf_mmap_setup() then just does mutex_lock(&q->vb_lock); ret = __videobuf_mmap_setup(q, bcount, bsize, memory); mutex_unlock(&q->vb_lock); which is an obvious double-take deadlock. This patch fixes this by having vidiocgmbuf() just call the __videobuf_mmap_setup function instead. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-10 bttv: Fix memory leak in radio_releaseMauro Carvalho Chehab
From: Robert Fitzsimons <robfitz@273k.net> Fix the leak of the bttv_fh structure allocated in radio_open which was introduced by commit 5cd3955cb8adfc1edf481e9e1cb2289db50ccacb. Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-01Fix a small bug introduced on a previous changeset.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-01bttv: Fix some API non-compliances for some audio/input V4L2 callsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to Cyrill Gorcunov <gorcunov@gmail.com> for pointing this CC: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-01 bttv: fix missed index checkMauro Carvalho Chehab
From: Cyrill Gorcunov <gorcunov@gmail.com> We should check for proper index first Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-03-22bttv: Add a radio compat_ioctl file operationMauro Carvalho Chehab
From: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-27 bttv: Re-enable radio tuner support for VIDIOCGFREQ/VIDIOCSFREQ ioctls.Mauro Carvalho Chehab
From: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-27 bttv: Re-enabling radio support requires the use of struct bttv_fh.Mauro Carvalho Chehab
From: Robert Fitzsimons <robfitz@273k.net> A number of the radio tuner ioctl functions are shared with the TV tuner, these functions require a struct bttv_fh data structure to be allocated and initialized. Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-25From: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>Mauro Carvalho Chehab
Subject: Convert videobuf-dma-sg to generic DMA API Date: Tue, 19 Feb 2008 13:40:54 +0100 (CET) videobuf-dma-sg does not need to depend on PCI. Switch it to using generic DMA API, convert all affected drivers, relax Kconfig restriction, improve compile-time type checking, fix some Coding Style violations while at it. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-23 bttv: struct member initialized twiceMauro Carvalho Chehab
From: Harvey Harrison <harvey.harrison@gmail.com> fixes sparse warning: drivers/media/video/bt8xx/bttv-driver.c:3391:3: warning: Initializer entry defined twice drivers/media/video/bt8xx/bttv-driver.c:3392:3: also defined here Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-13 bttv: Fix overlay divide error.Mauro Carvalho Chehab
From: Robert Fitzsimons <robfitz@273k.net> The initial work to convert the bttv driver to V4L2 "Partial conversion from V4L1 to V4L2" (e84619b17440ccca4e4db7583d126c4189b987e5), missed the line which set the appropriate overlay crop structure in the newly allocated bttv_buffer. This then causes a divide error in the bttv_calc_geo function. Signed-off-by: Robert Fitzsimons <robfitz@273k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-31Renames videobuf lock to vb_lockMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This helps to identify where vb_lock is being used, and find missusages of the locks. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-14Fix build breakage of the bttv driver, when advanced debugging is not enabledMauro Carvalho Chehab
From: Zoltan Devai <zdevai@gmail.com> Signed-off-by: Zoltan Devai <zdevai@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-27Fix a few issues at the bttv conversionMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> bttv driver is working as previously. An additional gain of about 1,5Kb were obtained with the driver conversion to vidioc_ioctl2: text data bss dec hex filename 89208 40244 57556 187008 2da80 old/bttv.ko 88960 38740 57556 185256 2d3a8 new/bttv.ko (measured on a x86_64) Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-27Preserve the previous order to make easier to check the conversionMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.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-12-17bttv: check pci_register_driver() errorMauro Carvalho Chehab
From: Akinobu Mita <akinobu.mita@gmail.com> Check pci_register_driver() error in module_init. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-12-11 bt8xx/ section fixesMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> This patch fixes the following section mismatch with CONFIG_HOTPLUG=n: <-- snip --> ... ... <-- snip --> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-13V4L: Convert videobuf drivers to videobuf_stopBrandon Philips
Drivers were using cookie cutter code for stopping the read/stream. Use the new videobuf_stop function which is lock safe. Signed-off-by: Brandon Philips <bphilips@suse.de>
2007-11-06V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_Brandon Philips
s/STATE_NEEDS_INIT/VIDEOBUF_NEEDS_INIT/g s/STATE_PREPARED/VIDEOBUF_PREPARED/g s/STATE_QUEUED/VIDEOBUF_QUEUED/g s/STATE_ACTIVE/VIDEOBUF_ACTIVE/g s/STATE_DONE/VIDEOBUF_DONE/g s/STATE_ERROR/VIDEOBUF_ERROR/g s/STATE_IDLE/VIDEOBUF_IDLE/g Signed-off-by: Brandon Philips <bphilips@suse.de>
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-26Restructurize volume hook and drop unused mute hook.Mauro Carvalho Chehab
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 | 29 +++++++++----------- linux/drivers/media/video/bt8xx/bttv-driver.c | 31 ++-------------------- 2 files changed, 17 insertions(+), 43 deletions(-)
2007-10-26Remove bass, treble and balance from audio hook since they are unusedMauro Carvalho Chehab
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-driver.c | 30 -------------------------- v4l/versions.txt | 2 - 2 files changed, 1 insertion(+), 31 deletions(-)
2006-08-25Forward VIDIOCGAUDIO and VIDIOCSAUDIO through v4l1-compatMauro Carvalho Chehab
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-driver.c | 41 -------------------------- 1 file changed, 41 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-10-26Cleanup: removed i2c_vidiocschanMauro 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/bttv-driver.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-)
2007-10-22bttv: Update initial image size when set via V4L1 VIDIOCMCAPTURETrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The V4L1 spec says that the image size should be with with VIDIOCSWIN before requesting buffers with VIDIOCGMBUF and capturing into them with VIDIOCMCAPTURE. But it seems that many apps don't do this. They set the size using the fields in the VIDIOCMCAPTURE ioctl. The driver doesn't know what size to capture until it actually starts to capture. In particular, it doesn't know what size to capture until it has already mmap the captured buffers. Which is quite stupid. Why V4L1 has size and format fields for VIDIOCMCAPTURE I have no idea. Many drivers don't support this, including those using v4l1-compat. The bttv does, which is probably the only reason such broken software is so prevalent. But, the driver doesn't adjust its idea of what size is being captured when it is set this way. If you try to query the driver's current setting with v4l2-ctl, it won't be correct. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>