summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/pvrusb2
AgeCommit message (Collapse)Author
2009-09-15merge: http://kernellabs.com/hg/~mkrufky/tda18271-mergeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-29pvrusb2: disable tda18271 slave tuner output / loop thru in standby modeMichael Krufky
From: Michael Krufky <mkrufky@kernellabs.com> Enable the standby mode optimization to disable the tda18271 slave tuner output / loop thru options when in low power mode Priority: normal Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
2009-06-19Stop defining I2C adapter IDs nobody usesMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> There is no point in defining I2C adapter IDs when no code is using them. As this field might go away in the future, stop using it when we don't need to. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-20pvrusb2: De-obfuscate code which handles routing schemesMike Isely
From: Mike Isely <isely@pobox.com> This change does not change any outward behavior; it merely chops down some large if-conditions with embedded assignments into something a little more maintainable for others (I of course never had a problem with this...). Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-06-20pvrusb2: Improve handling of routing schemesMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver has a concept of "routing scheme" which defines which physical inputs should be connected based on application's choice of logical input. The correct "routing scheme" depends on the specific device since different devices might wire up their muxes differently - it can't be coded into the sub-device driver and it can't be just a single setting in the pvrusb2 driver since the driver handles multiple different devices. This concept has been in place for a while and works, however there are cases where a specific input for a specific device has no route - previously due to an oversight this was handled badly. With these changes the driver can now specifically recognize cases where there is no defined route for a given input. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-06-20pvrusb2: Change initial default frequency settingMike Isely
From: Mike Isely <isely@pobox.com> Change default frequency to be US Broadcast channel 3 - with the transition to d igital the previous value has now become useless. This change is PURELY to help with my testing (I need to set some kind of default so it might as well be some thing usable). Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-06-20pvrusb2: Re-fix hardware scaling on video standard changeMike Isely
From: Mike Isely <isely@pobox.com> The cx25840 module's VBI initialization logic uses the current video standard as part of its internal algorithm. This therefore means that we probably need to make sure that the correct video standard has been set before initializing VBI. (Normally we would not care about VBI, but as described in an earlier changeset, VBI must be initialized correctly on the cx25840 in order for the chip's hardware scaler to operate correctly.) It's kind of messy to force the video standard to be set before initializing VBI (mainly because we can't know what the app really wants that early in the initialization process). So this patch does the next best thing: VBI is re-initialized after any point where the video standard has been set. Priority: high Signed-off-by: Mike Isely <isely@pobox.com>
2009-06-20pvrusb2: Fix hardware scaling when used with cx25840Mike Isely
From: Mike Isely <isely@pobox.com> The cx25840 module requires that its VBI initialization entry point be called in order for hardware-scaled video capture to work properly - even if we don't care about VBI. Making this behavior even more subtle is that if the capture resolution is set to 720x480 - which is the default that the pvrusb2 driver sets up - then the cx25840 bypasses the hardware scaler. Therefore this problem does not manifest itself until some other resolution, e.g. 640x480, is tried. MythTV typically defaults to 640x480 or 480x480, which means that things break whenever the driver is used with MythTV. This all has been known for a while (since at least Nov 2006), but recent changes in the pvrusb2 driver (specifically in regards to sub-device support) caused this to break again. VBI initialization must happen *after* the chip's firmware is loaded, not before. With this fix, 24xxx devices work correctly again. A related fix that is part of this changeset is that now we re-initialize VBI any time after we issue a reset to the cx25840 driver. Issuing a chip reset erases the state that the VBI setup previously did. Until the HVR-1950 came along this subtlety went unnoticed, because the pvrusb2 driver previously never issued such a reset. But with the HVR-1950 we have to do that reset in order to correctly transition from digital back to analog mode - and since the HVR-1950 always starts in digital mode (required for the DVB side to initialize correctly) then this device has never had a chance to work correctly in analog mode! Analog capture on the HVR-1950 has been broken this *ENTIRE* time. I had missed it until now because I've usually been testing at the default 720x480 resolution which does not require scaling... What fun. By re-initializing VBI after a cx25840 chip reset, correct behavior is restored. Priority: high Signed-off-by: Mike Isely <isely@pobox.com>
2009-05-27Building system: Restore compilation with kernels older than 2.6.29Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Mostly due to ir-kdb-i2c, but also due to two new drivers, compilation with kernels older than 2.6.29 were broken. This quick and dirty changeset, generated semi-automatically, restaures backport to the subsystem by adding lots of #ifs. It is possible to write a much more small changeset that would restore backport without adding so many ifs, but, due to the lack of time, this will also solve it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-27merge: http://kernellabs.com/hg/~stoth/tda10048-mergeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-15pvrusb2: Ensure we specify I/F's for all bandwidthsSteven Toth
From: Steven Toth <stoth@kernellabs.com> pvrusb2: Ensure we specify I/F's for all bandwidths Priority: normal Signed-off-by: Steven Toth <stoth@kernellabs.com>
2009-05-13pvrusb2: Instantiate ir_video I2C device by defaultMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> Now that the ir-kbd-i2c driver has been converted to a new-style i2c driver, we can instantiate the ir_video I2C device by default. The pvr2_disable_ir_video is kept to disable the IR receiver, either because the user doesn't use it, or for debugging purpose. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-11merge: http://linuxtv.org/hg/~mcisely/pvrusb2-devMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-09pvrusb2: Allocate a routing ID for future support of Terratec Grabster AV400Mike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-05-02V4L/DVB: cleanup redundant tests on unsignedMauro Carvalho Chehab
From: Roel Kluin <roel.kluin@gmail.com> Remove redundant tests on unsigned. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-01pvrusb2: remove driver_data direct access of struct deviceMike Isely
From: Greg Kroah-Hartman <gregkh@suse.de> In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Priority: normal Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: linux-media@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mike Isely <isely@pobox.com>
2009-05-01pvrusb2: Don't use the internal i2c client listMike Isely
From: Jean Delvare <khali@linux-fr.org> The i2c core used to maintain a list of client for each adapter. This is a duplication of what the driver core already does, so this list will be removed as part of a future cleanup. Anyone using this list must stop doing so. For pvrusb2, I propose the following change, which should lead to an equally informative output. The only difference is that i2c clients which are not a v4l2 subdev won't show up, but I guess this case is not supposed to happen anyway. Priority: normal Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mike Isely <isely@pobox.com>
2009-05-01pvrusb2: Bump up version advertised through v4l interfaceMike Isely
From: Mike Isely <isely@pobox.com> Kick up the pvrusb2 version number advertised through the v4l interface. This value really has almost no meaning because I don't make a serious attempt to version the driver in this manner (otherwise this one line becomes a nasty hotspot of changes and merge conflicts). The value that is here is really a historical thing. However Hans Verkuil thought it might be a good idea to bump up the number anyway right now since the driver's mechanism for communicating with the v4l core has pretty much completely changed. Sending out a different version number can be useful for later debugging in case a problem arises. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-05-01pvrusb2: Set ir_video autoloading to default disabledMike Isely
From: Mike Isely <isely@pobox.com> This sets the disable_autoload_ir_video module option to being set, which disables any attempt by the driver to autoload IR support. This changes preserves previous behavior, for now. This change can be set back concurrent with other changes that finally update i2c-kbd-i2c to use the new i2c binding model. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-05-01pvrusb2: Update to work with upcoming ir_video changes in v4l-dvb coreMike Isely
From: Mike Isely <isely@pobox.com> The ir-kbd-i2c module is about to be updated to match the new style i2c binding model. These pvrusb2 changes maintain compatibility with that change. Note that this does not actually break anything even without the expected ir-kbd-i2c changes yet because previously the pvrusb2 didn't autoload ir-kbd-i2c anyway. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-04-30remove driver_data direct access of struct deviceMauro Carvalho Chehab
From: Greg Kroah-Hartman <gregkh@suse.de> In the near future, the driver core is going to not allow direct access to the driver_data pointer in struct device. Instead, the functions dev_get_drvdata() and dev_set_drvdata() should be used. These functions have been around since the beginning, so are backwards compatible with all older kernel versions. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-05pvrusb2: Ensure the PVRUSB2 disabled the i2c gate on the tda10048.Steven Toth
From: Steven Toth <stoth@linuxtv.org> ... else DVB-T tuning will not work. Priority: high Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-05-02pvrusb2: Ensure we specify the I/F at attach time.Steven Toth
From: Steven Toth <stoth@linuxtv.org> pvrusb2: Ensure we specify the I/F at attach time. Priority: normal Signed-off-by: Steven Toth <stoth@linuxtv.org>
2009-04-29backport commit 3444b26afa145148951112534f298bdc554ec789Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> kernel-sync: Author: David Vrabel <david.vrabel@csr.com> Date: Wed Apr 8 17:36:28 2009 +0000 USB: add reset endpoint operations Wireless USB endpoint state has a sequence number and a current window and not just a single toggle bit. So allow HCDs to provide a endpoint_reset method and call this or clear the software toggles as required (after a clear halt, set configuration etc.). usb_settoggle() and friends are then HCD internal and are moved into core/hcd.h and all device drivers call usb_reset_endpoint() instead. If the device endpoint state has been reset (with a clear halt) but the host endpoint state has not then subsequent data transfers will not complete. The device will only work again after it is reset or disconnected. CC: Mike Isely <isely@isely.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-05pvrusb2: Select, track, and report IR scheme in use with the deviceMike Isely
From: Mike Isely <isely@pobox.com> This change defines all possible "IR schemes" related to the pvrusb2 driver, on a per-device basis. That information is then set according to the hardware in use. The idea here is to make possible a more intelligent future decision on which, if any, IR receiver driver might be loaded during initialization. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-04-04pvrusb2: Drop client_register/unregister stubsMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> The client_register and client_unregister methods are optional so there is no point in defining stub ones. Especially when these methods are likely to be removed soon. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-05merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-02v4l2-subdev: change s_routing prototypeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It is no longer needed to use a struct pointer as argument, since v4l2_subdev doesn't require that ioctl-like approach anymore. Instead just pass the input, output and config (new!) arguments directly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01pvrusb2: use usb_interface.dev for v4l2_device_registerJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Mike Isely <isely@pobox.com>
2009-03-31pvrusb2: Fix uninitialized tuner_setup field(s)Mike Isely
From: Mike Isely <isely@pobox.com> Any time a struct (especially one not defined by this driver) is allocated, we MUST zero its underlying storage. This makes our usage of the struct predictable and robust against future changes where fields might be added that we don't know about. Failing to do this with tuner_setup left the config field uninitialized which then caused trouble with the tuner type used for HVR-1950 devices. Priority: high Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-31pvrusb2: Report def_val items in sysfs symbolically, consistent with cur_valMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-31pvrusb2: Fix incorrect reporting of default value for non-integer controlsMike Isely
From: Mike Isely <isely@pobox.com> Priority: high Signed-off-by: Mike Isely <isely@pobox.com>
2009-04-01v4l2-common: add explicit v4l2_device pointer as first arg to ↵Hans Verkuil
new_(probed)_subdev From: Hans Verkuil <hverkuil@xs4all.nl> The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on i2c_get_adapdata to return the v4l2_device. However, this is not always possible on embedded platforms. So modify the API to pass the v4l2_device pointer explicitly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l2-subdev: move s_std from tuner to core.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> s_std didn't belong in the tuner ops. Stricly speaking it should be part of the video ops, but it is used by audio and tuner devices as well, so it is more efficient to make it part of the core ops. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30v4l2-subdev: add load_fw and use that instead of abusing core->init.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The init callback was used in several places to load firmware. Make a separate load_fw callback for that. This makes the code a lot more understandable. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-26pvrusb2: add a missing source at MakefileMauro Carvalho Chehab
From: Kyle McMartin <kyle@redhat.com> As pointed by Steve Dickson, pvrusb2 Makefile was not compiling pvrusb2-cx53l32a driver. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-24pvrusb2: Use v4l2_device_disconnect()Mike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-15pvrusb2: Add composite and s-video input support for OnAir devicesMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-14pvrusb2: Add sub-device for demodMike Isely
From: Mike Isely <isely@pobox.com> Forgot to include the tda9887 component when moving to v4l2-subdev. I got fooled because its name is "tuner", the same as the tuner module. Silly me. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-08pvrusb2: Remove ancient IVTV specific ioctl functionsMike Isely
From: Mike Isely <isely@pobox.com> Remove ancient IVTV_IOC_G_CODEC and IVTV_IOC_S_CODEC ioctl functions from the pvrusb2 driver. These are very very old, were non-standard, and were only present to keep MythTV happy (their implementation did nothing except to report success). That was long ago; no recent versions of MythTV should require this anymore. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-08pvrusb2: Remove old i2c layer; we use v4l2-subdev nowMike Isely
From: Mike Isely <isely@pobox.com> This change removes the old i2c module controlling layer from the pvrusb2 driver. This is code that first had appeared in the driver back in December 2005. It's history. Now we use v4l2-subdev. Please note also that with this change, the driver will no longer be usable in kernels older that 2.6.22. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-08pvrusb2: Implement better reporting on attached sub-devicesMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-08pvrusb2: Fix slightly mis-leading header in debug interface outputMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-06pvrusb2: Fix space-after-comma idiocyMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-06pvrusb2: Make a bunch of dvb config structures const (trivial)Mike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-06pvrusb2: Convert all device definitions to use new sub-device declarationsMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-06pvrusb2: Define default I2C address for CS53L32A sub-deviceMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-06pvrusb2: Fix incorrectly named sub-device IDMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-06pvrusb2: Define default I2C addresses for msp3400 and saa7115 sub-devicesMike Isely
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
2009-03-06pvrusb2: Issue required core init broadcast to all sub-devicesMike Isely
From: Mike Isely <isely@pobox.com> The v4l2-subdev infrastructure requires that an initialization call must be issued to all attached sub-devices before normal operation can start. This change satisfies that requirement. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>