summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-12-30pvrusb2: bug fix involving switch into radio modeMike Isely
From: Mike Isely <isely@pobox.com> When the input is switched by opening /dev/radioX, we must also commit that change into the driver core. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-30pvrusb2: Stream configuration cleanupsMike Isely
From: Mike Isely <isely@pobox.com> Clean up and tighten logic involving stream configuration. This mainly involves changes to pvrusb2-v4l2.c, where we better clarify how we use the stream configuration enum and implement a cleaner means to control streaming for a given device node. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-30pvrusb2: Fix cut/paste bug in auto_mode_switch controlMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-30Merge from v4l-dvbMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-29Fix the frame->grabstate update in read() entry point.Mauro Carvalho Chehab
From: Thierry MERLE <thierry.merle@free.fr> The Coverity checker spotted that in usbvision_v4l2_read(), the variable "frmx" is never assigned any value different from -1, but it's used an an array index in "usbvision->frame[frmx]". Thanks to Adrian Bunk <bunk@stusta.de> for warning about that. Signed-off-by: Thierry MERLE <thierry.merle@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-29Make usbvision_rvfree() staticMauro Carvalho Chehab
From: Adrian Bunk <bunk@stusta.de> usbvision_rvfree() can now become static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-28DVB: fix compile errorMauro Carvalho Chehab
From: Adrian Bunk <bunk@stusta.de> This patch fixes the following compile error: <-- snip --> ... LD drivers/media/video/built-in.o drivers/media/video/saa7134/built-in.o:(.data+0x85ec): multiple definition of `ir_rc5_remote_gap' drivers/media/video/bt8xx/built-in.o:(.data+0x734c): first defined here drivers/media/video/saa7134/built-in.o:(.data+0x85f0): multiple definition of `ir_rc5_key_timeout' drivers/media/video/bt8xx/built-in.o:(.data+0x7350): first defined here make[4]: *** [drivers/media/video/built-in.o] Error 1 <-- snip --> Since this variables were needlessly global, this patch implements the trivial fix of making them static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-27pvrusb2: cosmetic comment tweakMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Change default volume to something saneMike Isely
From: Mike Isely <isely@pobox.com> The default volume of 65535 is too high. Make is something smaller. Note that this _only_ changes the default value. Specifically, there are no scaling or other more intrusive changes here. I'm just sick of constantly having to reduce the volume every time I plug in and test the device! (And unfortunately we can't do a better fix like scaling the volume so that 65535 makes sense because doing so will screw up any app - like MythTV - which expects the old scaling.) Too bad V4L controls don't have better defined ranges. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Remove stream claiming hack from /dev/radio implementationMike Isely
From: Mike Isely <isely@pobox.com> Trying to temporarily check that the stream is not claimed during open of the radio device is at best a race condition. What's to stop another app from claiming the stream anyway the instant after the check is done? The implementation for this was dicey anyway. So it's removed. The only "price" for this is that if /dev/radioX is opened while streaming video, then the video stream is just going to switch to radio mode anyway. If a user does this, he gets what he expects... Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Better radio versus tv frequency handlingMike Isely
From: Mike Isely <isely@pobox.com> Separate track radio versus tv frequency so that when we switch modes we can also switch to a sane frequency appropriate for the mode. Also implement logic to automate mode switching in certain cases. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Newer frequency range checkingMike Isely
From: Mike Isely <isely@pobox.com> Implement new method for doing integer range checking, so that we can more intelligently range-check radio and tv ranges at once. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Enable radio mode for 24xxx devicesMike Isely
From: Mike Isely <isely@pobox.com> These changes implement correct audio routing for radio mode on a 24xxx device. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: v4l2 API implementation frequency tweaksMike Isely
From: Mike Isely <isely@pobox.com> Report and set correctly converted frequency to/from a V4L2 app. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Fix tuning calculation when in radio modeMike Isely
From: Mike Isely <isely@pobox.com> Frequency units in V4L2 are apparently different when in radio mode compared to tv mode. Why? Who knows. This change adapts the driver appropriately - so that internally we always only deal in Hz and don't have to muck with craziness like this. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Fix tuner frequency calculationMike Isely
From: Mike Isely <isely@pobox.com> A conversion from Hz to V4L frequency units was accidentally removed by an earlier change. Restore it. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Fix heap corruption introduced by radio modsMike Isely
From: Mike Isely <isely@pobox.com> We can't allocate v4l device structures in a block, since the v4l core governs when each device actually gets freed. This bug was introduced as part of the core radio implementation. Fix it. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Implement means to override vbi and radio device minor numbersMike Isely
From: Mike Isely <isely@pobox.com> Support specification of vbi and radio device minor numbers in a manner similar to the video device minor number. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: video standard broadcast fix for radio modeMike Isely
From: Mike Isely <isely@pobox.com> Ensure we don't accidentally broadcast the standard while in radio mode. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Make units uniform when tracking tuning frequencyMike Isely
From: Mike Isely <isely@pobox.com> The initial radio implementation used different units for tuning when in radio mode. This changes everything to Hz. Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Use separate enumeration for get/store of minor numberMike Isely
From: Mike Isely <isely@pobox.com> Use separate enum for get/store of minor number; we want pvr2_config to go away eventually and since it really means something different, don't use it here Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Use enumeration for minor number get / store codeMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Implement /dev/radioXMike Isely
From: Pantelis Koukousoulas <pakt223@freemail.gr> The "main" V4L2 interface patch. This is yet very incomplete, incorrect and probably inappropriate for inclusion as-is, but at least with this I 'm able to tune and play radio through a V4L2 program (pvr-radio.c, a "thumb" version of ivtv-radio.c with just the essentials). Therefore, it kinda gives an idea of what is needed to support this, hm, interface (partly used also by e.g., kradio). Please point out any mistakes on this code. I 'm sure I 'm messing up some struct initialization somewhere but currently I 'm too lazy to actually think this through until I complete the functionality (e.g., handle the VIDIOC_S_STD, ENUMINPUT, etc ioctls appropriately). --Pantelis Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Implement stream claim checking functionMike Isely
From: Pantelis Koukousoulas <pakt223@freemail.gr> Add (and expose) a new function, pvr2_channel_check_stream_no_lock(), in pvrusb2-context.c. This is hopefully the last V4L2 interface related patch to change anything outside pvrusb2-v4l2.c. We need this to implement the open() for the radio device. The reason is that within the *enter_context() section of open() we need to ensure nobody is streaming and if we cannot, we should cleanup after ourselves and return -EBUSY. We cannot just use claim_stream() because 1) That would cause a deadlock trying to re-acquire the context lock 2) We only need to ensure that nobody is streaming. We don't need to actually acquire the stream. Again, this is a kinda ugly patch. Feel free to improve. Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Implement multiple minor device number handlingMike Isely
From: Pantelis Koukousoulas <pakt223@freemail.gr> This is the first patch in preparation of the V4L2/IVTV radio interface. It does away with the assumption of only one minor per device. It also adds a file to show the radio minor as well. This can be useful for a program like pvr-radio.c (when it grows up), since this way it can search for the minor of the /dev/radioX device it opened and use the video minor of the same driver instance to get to the actual stream. The implementation looks kinda ugly. Feel free to improve (that is the reason behind separate patches anyway). --Pantelis Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Fix for min/max control value checkingMike Isely
From: Pantelis Koukousoulas <pakt223@freemail.gr> In the previous patch we exploited the get_{min,max}_value facility to adjust min/max allowable frequencies on the fly, depending on tuner mode. Unfortunately, this facility was not used inside the *sym_to_val() function that translates what we echo to sysfs, which means we got an -ERANGE despite asking for a frequency between what we read to be min/max. This patch corrects this small omission. --Pantelis Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Enable radio mode round #2Mike Isely
From: Pantelis Koukousoulas <pakt223@freemail.gr> This is the logic that a) Ensures /sys/class/pvrusb2/sn-*/ctl_frequency/{max,min}_val are "automagically" reset to sane values on each mode change. b) Allows tuning to a radio frequency by something like: echo `perl -e "print int(94.9*16000 + 0.5)"` \ > /sys/class/pvrusb2/sn-*/ctl_input/cur_val The trick was to take advantage of the already existing .get_{min,max}_value function pointers in pvr2_ctrl, to "dynamically override" the hardcoded values for min/max frequency at runtime. For a moment I thought to dispose of the hardcoded MIN/MAX_FREQ and use the hirange/lowrange fields of the v4l2_tuner struct instead, but then I see that tuner-core.c kinda hardcodes these as well, so I decided to not bother. --Pantelis Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27pvrusb2: Enable radio mode round #1Mike Isely
From: Pantelis Koukousoulas <pakt223@freemail.gr> This is the logic that supports switching modes via e.g., echo radio > /sys/class/pvrusb2/sn-*/ctl_input/cur_val. To do the mode switching we need to a) broadcast AUDC_SET_RADIO and b) issue the CX2341X_ENC_MUTE_VIDEO command to the encoder. The first is done by adding a new pvr2_i2c_op and having it trigger on input change, the second by adding this command in pvr2_encoder_start() and requesting an encoder restart on input change by setting stale_subsys_mask appropriately. The clues about AUDC_SET_RADIO and CX2341X_ENC_MUTE_VIDEO were kindly provided by Hans Verkuil on the pvrusb2 mailing list. The idea to implement mode switching this way (on input change) is due to Mike Isely. Why AUDC_SET_RADIO/VIDIOC_S_STD are used for switching? I can 't be sure, but I think this can be traced to a cornell student being the first to implement radio support in ivtv "as a different standard". I think the rest just evolved from there (it 's in the ivtv ML archives). --Pantelis Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr> Signed-off-by: Mike Isely <isely@pobox.com>
2006-12-27Backport some changes that happened at mainstreamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Basic changes: - replaced i2c_bit_del_bus() to i2c_del_adapter(); - Fixed MODULE_AUTHOR on ov7670 - Updates on drivers not maintained on this tree: i2c-id.h and sound/* kernel-sync: drivers/media/dvb/pluto2/pluto2.c | 8 ++++---- drivers/media/video/bt8xx/bttv-i2c.c | 6 +----- drivers/media/video/cx88/cx88-core.c | 2 +- drivers/media/video/cx88/cx88-vp3054-i2c.c | 2 +- drivers/media/video/ov7670.c | 2 +- drivers/media/video/vino.c | 2 +- drivers/media/video/zoran_card.c | 2 +- include/linux/i2c-id.h | 18 ++++++------------ sound/pci/bt87x.c | 4 ++-- Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-27Add support for more Encore TV cardsMauro Carvalho Chehab
From: Juan Pablo Sormani <sorman@gmail.com> updated patch against latest master: Signed-off-by: Juan Pablo Sormani <sorman@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-27Allyesconfig build fixes on some non x86 archMauro Carvalho Chehab
From: David Brownell <david-b@pacbell.net> - CAFE_CCIC needs to depend on PCI, else "allyesconfig" breaks on systems without PCI - em28xx-video can't udelay(2500) else "allyesconfig" breaks on systems that refuse to spin that long (I saw it on ARM) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-27Fix some troubles at the previous patchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> One test with vivi driver were comitted together by mistake; The whitespace identation were wrong at the previous patch. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-26usbvision fix: It was using "&&" instead "&"Mauro Carvalho Chehab
From: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-26DVB: Remove unneeded void * casts in ttpci/av7110Mauro Carvalho Chehab
From: Tobias Klauser <tklauser@distanz.ch> The patch removes unneeded void * casts for the following (void *) pointers: - struct file: private_data - struct dvb_device: priv - struct dvb_demux: priv - struct dvb_adapter: priv The patch also contains some whitespace and coding style cleanups in the relevant areas. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-23cx88: Fix leadtek_eeprom taggingMichael Krufky
From: Jean Delvare <khali@linux-fr.org> WARNING: drivers/media/video/cx88/cx88xx.o - Section mismatch: reference to .init.text: from .text between 'cx88_card_setup' (at offset 0x68c) and 'cx88_risc_field' Caused by leadtek_eeprom() being declared __devinit and called from a non-devinit context. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-12-21Improved keycode printingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Now, it will print keycode name, if known. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-21Better not to depend at the links under v4l dir.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-21Create keycodes dir, if not existentMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-21merge: 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>
2006-12-21Add gen_keytables.pl to automatically generate IR keycodes and improved keytableMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Keytable is now a 3 in 1 script: calling with one argument, it reads keytable from a IR device calling with two arguments, it writes a keytable at a IR device calling with three arguments, it allows changing just one keymap Of course, it is generic enough to work also with other event devices. gen_keytables.pl will generate keyboard mappings, as defined at kernel module. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-21Added a small utility to allow see/edit IR tablesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-21Fix building of mconfTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> A patch in 2.6.19-rc1, c29121b787f533d135ae47b5f3044adb66cbebef: > user: Sam Ravnborg <sam@neptun.ravnborg.org> > date: Sat Sep 30 07:19:20 2006 -0200 > kbuild: do not build mconf & lxdialog unless needed Was preventing v4l-dvb from building mconf too. That patch checks the make command goal, and only includes rules for mconf when the goal is "menuconfig". We don't want to use make menuconfig, as that would configure the kernel. The workaround is to set hostprogs-y=mconf on the make command line. The kernel build system certainly isn't making this easy for us. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-12-21Support kernels where make menuconfig doesn't need lxdialogTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> make menuconfig used to need to build two kernel configuration programs, mconf and lxdialog. In 2.6.19-rc1, this was changed so there no longer was a separate lxdialog binary, it was integrated into mconf. This adapts the v4l-dvb Makefile to check for lxdialog/Makefile, if it's not present then no lxdialog binary needs to be built. The rules and dependencies on lxdialog will be omitted from the v4l-dvb Makefile in that case. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-12-21Add two required headers on kernel 2.6.20-rc1Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> include/media/ir-common.h:78: error: field 'work' has incomplete type drivers/media/common/ir-functions.c: In function 'ir_rc5_timer_end': drivers/media/common/ir-functions.c:301: error: 'jiffies' undeclared (first use in this function) drivers/media/common/ir-functions.c:301: error: (Each undeclared identifier is reported only once) drivers/media/common/ir-functions.c:301: error: for each function it appears in.) drivers/media/common/ir-functions.c:347: error: 'HZ' undeclared (first use in this function) Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-20Improved error handling at driver-test.cMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-20[PATCH] Cablestar2 supportPatrick Boettcher
From: Antti Seppälä <ajhseppa@niksula.hut.fi> This patch changes the initialization of alps tdee4 tuner in flexcop-fe-tuner.c to match what is used in the old driver that was written specifically for Cablestar cards by Patrick Boettcher. This patch should make Cablestar2 work again with recent dvb drivers without breaking other stv0297 based cards. Signed-off-by: Antti Seppälä <ajhseppa@niksula.hut.fi> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2006-12-20[PATCH] DIB3000MC and NOVA T USB2 #2Patrick Boettcher
From: Mario Rossi <mariofutire@googlemail.com> Second part of the patch to make the autosearch work again with DiB3000P/MC. Signed-off-by: Mario Rossi <mariofutire@googlemail.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2006-12-20Bttv: delete duplicated ioremap()Mauro Carvalho Chehab
From: Akinobu Mita <akinobu.mita@gmail.com> ioremap() is called twice to same resource. The returen value of first one is not error-checked. second one is complely ignored. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-20Msp3400: fix kthread_run error checkMauro Carvalho Chehab
From: Akinobu Mita <akinobu.mita@gmail.com> The return value of kthread_run() should be checked by IS_ERR(). Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-20Vivi: fix kthread_run() error checkMauro Carvalho Chehab
From: Akinobu Mita <akinobu.mita@gmail.com> The return value of kthread_run() should be checked by IS_ERR(). Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>