summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/pvrusb2
AgeCommit message (Collapse)Author
2007-02-21Backport: make file_operations constMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Backport a kernel patch by Arjan van de Ven <arjan@linux.intel.com> that made all file_operations instances const. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-19compat: Add -include linux/version.h to cflagsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add -include linux/version.h to the cflags. Now code can have backward compatibility test without including compat.h first. Linux headers included from compat.h are removed, so that code will get the same headers when compiling in v4l-dvb as it does in the kernel. Many drivers have compat.h moved to the end of their include list, as this lets compat.h do things it can't do at the beginning. Such as test of something is defined to include compat code, or to put a wrapper around a function without changing the function's name. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-02-07pvrusb2: Register I2C adapter (more) correctlyMike Isely
From: Mike Isely <isely@pobox.com> An I2C adapter needs to register an association with the actual parent device. Until 2.6.20, not doing this was a benign problem; now it causes an ugly warning in the system log. This 1-line patch corrects that oversight. Signed-off-by: Mike Isely <isely@pobox.com>
2007-02-07pvrusb2: Be more forgiving about encoder firmware sizeMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver previously rejected encoder firmware whose size was not a multiple of 8192. But this is a false check because it's possible to find cx23416 firmware whose size doesn't conform to this limit. So change the firmware loader implementation to be more forgiving of the image size. Signed-off-by: Mike Isely <isely@pobox.com>
2007-02-07pvrusb2: Follow coding style convention for "#if 0" blocksMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-02-07pvrusb2: Fix printk format typoMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-02-02Http://linuxtv.org/hg/~mcisely/pvrusb2
From: Mauro Carvalho Chehab <mchehab@infradead.org> Follows the same coding style for commented code The latest patch series added a different way of commenting unused patches: #ifdef notdef But V4L/DVB coding style uses, instead: #if 0 This have also the advantage of not sending to mainstream those development codes that doesn't make sense at a production environment, while keeping them under development trees. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mike isely <isely@pobox.com>
2007-01-28pvrusb2: VIDIOC_DBG_[S|G]_REGISTER fixupsMike Isely
From: Mike Isely <isely@pobox.com> Support 64 bit register IDs internally. Only allow root access to this API (for both set and get). Note that actual 64 bit access only becomes possible once the definition for v4l2_register is updated, but this change clears the way for it from the viewpoint of the pvrusb2 driver. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-28pvrusb2: video corruption fixesMike Isely
From: Mike Isely <isely@pobox.com> Tweak the encoder setup in order to stop it from corrupting the video data when there is a disruption in the data flow (e.g. a channel change). Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-28pvrusb2: encoder comm protocol cleanupMike Isely
From: Mike Isely <isely@pobox.com> Update the implementation of the communication protocol for operating the encoder, using updated knowledge about the encoder. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-28pvrusb2: Control protocol cleanupMike Isely
From: Mike Isely <isely@pobox.com> Several special-case FX2 commands were being issued through pvr2_write_u16() and pvr2_write_8(), but there's really nothing special case about them. These date from a very early time in the driver development. This patch removes these functions and replaces their use with calls to pvr2_send_request. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-28Merge from v4l-dvbMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-23Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal onlyTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The direct register access ioctls were defined as kernel internal only, but they are very useful for debugging hardware from userspace and are used as such. Officially export them. VIDIOC_INT_[SG]_REGISTER is renamed to VIDIOC_DBG_[SG]_REGISTER Definition of ioctl and struct v4l2_register is moved from v4l2-common.h to videodev2.h. Types used in struct v4l2_register are changed to the userspace exportable versions (u32 -> __u32, etc). Use of VIDIOC_DBG_S_REGISTER requires CAP_SYS_ADMIN permission, so move the check into the video_ioctl2() dispatcher so it doesn't need to be duplicated in each driver's call-back function. CAP_SYS_ADMIN check is added to pvrusb2 (which doesn't use video_ioctl2). Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-01-21pvrusb2: Add boilerplate to new header fileMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-21pvrusb2: Use macro names for FX2 commandsMike Isely
From: Michael Krufky <mkrufky@linuxtv.org> This is a maintainability cleanup; use nice names for all the FX2 commands instead of raw bytes. This way we can easily find where we issue FX commands. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-21pvrusb2: Add comment for why G_TUNER only looks at index zeroMike Isely
From: Mike Isely <isely@pobox.com> Mauro and I had fixed this bug at the same time. It's a silly one-liner, but my version of the fix included a comment explaining why it was needed. So I'm putting up this version of the fix. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-21Fix: VIDIOC_G_TUNER were returning an endless number of tunersMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> pvrusb2 have only one tuner inside. However, as it were not handling index, a call to v4l-info were returning as if it were an infinite number of tuners: $ v4l-info|grep VIDIOC_G_TUNER |head -5 VIDIOC_G_TUNER(0) VIDIOC_G_TUNER(1) VIDIOC_G_TUNER(2) VIDIOC_G_TUNER(3) VIDIOC_G_TUNER(4) CC: Mike Isely <isely@isely.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-21Remove some warnings when compiling on x86_64Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> pvrusb2-encoder.c: In function 'pvr2_encoder_cmd': pvrusb2-encoder.c:195: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'long unsigned int' pvrusb2-encoder.c:205: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'long unsigned int' pvrusb2-encoder.c: In function 'pvr2_encoder_vcmd': pvrusb2-encoder.c:303: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'long unsigned int' CC: Mike Isely <isely@isely.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-19pvrusb2: Allow VIDIOC_S_FMT with -1 for resolution valuesMike Isely
From: Pantelis Koukousoulas <pakt223@freemail.gr> With the previous patch, mplayer started but was polling the video device forever without any video actually coming out. Further analysis showed that it does a VIDIOC_S_FMT with width and height set to -1 (!!!). The code handling this only cares that both are lower than the minimum range allowed so it ends up setting the size to 19x17 (!!) This pretty much breaks the encoder here. Even if this breakage is yet another (TM) result of my setup, setting the size to 19x17 by default would surprise most users IMHO. So, special case for -1 and interpret this to be a request for the default size, please. Users can then set their favorite size both through mplayer and through sysfs. With this patch, mplayer finally works in pvr:// mode (not that we really gain anything over operating it through sysfs with lirc, sometime I might actually get off my lazy a** and contribute this setup too) Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Introduce fake audio input selectionMike Isely
From: Pantelis Koukousoulas <pakt223@freemail.gr> This should allow mplayer pvr:// to start. The trick is that no matter what actual input we use under this "fake" one, it will be able to do stereo :-) Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Emit VIDIOC_S_TUNER correctlyMike Isely
From: Mike Isely <isely@pobox.com> Audio mode changes are not private to the audio chip - other I2C modules need to see this as well. And since the command in question is VIDIOC_S_TUNER which is a standard v4l2 command, we really should be broadcasting it out. This change sets up a broadcast pathway for VIDIOC_S_TUNER and also eliminates the now redundant code from the audio chip handler. This fix enables stereo reception for the FM radio Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Use ARRAY_SIZE wherever possibleMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Use kzalloc in place of kmalloc/memset pairsMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: A patch to use ARRAY_SIZE macro when appropriateMike Isely
From: Ahmed S. Darwish <darwish.07@gmail.com> Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: V4L EXT_CTRLS fixupMike Isely
From: Mike Isely <isely@pobox.com> Attempts to enumerate or operate on a group of EXT_CTRLS where the group size is zero is OK; don't fail on such operations. At least one application uses this to probe for the existence of this API so let it succeed. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Minor dead code / comment cleanupsMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Fix sizeof() calculation foul-upMike Isely
From: Mike Isely <isely@pobox.com> This bug caused uninitalized data to be returned during a G_TUNER status poll. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Fix missing break statement which had broken VIDIOC_S_TUNERMike Isely
From: Mike Isely <isely@pobox.com> The lack of a break statement in the handling of VIDIOC_S_TUNER caused errors to result. Fixed. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: trace print addedMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Stop hardcoding frequency rangesMike Isely
From: Mike Isely <isely@pobox.com> Rather than hardcoding frequency ranges everywhere, rely on VIDIOC_G_TUNER results wherever we can. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Remove automodeswitch controlMike Isely
From: Mike Isely <isely@pobox.com> The automodeswitch control was a feature that enable automatic radio / tv switching based on the selected frequency. However since frequency ranges can overlap and also since apparently in some cases it's possible for the same frequency range to be both tv and radio in a specific region, then this feature can't safely work. So it's removed. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Slight debug printing efficiency fixupMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: VIDIOC_G_TUNER cleanupMike Isely
From: Mike Isely <isely@pobox.com> Clean up use of VIDIOC_G_TUNER; we now correctly gather info from all the I2C client modules. Also abide by V4L2_TUNER_CAP_LOW appropriately. Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Allow streaming from /dev/radioXMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: Use kzalloc instead of kmalloc+memset pairsMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-19pvrusb2: It's safe to kfree() a null pointerMike Isely
From: Mike Isely <isely@pobox.com> Signed-off-by: Mike Isely <isely@pobox.com>
2007-01-07merge: http://linuxtv.org/hg/~mcisely/pvrusb2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-01-07Pvrusb2-hdw kfree cleanupMauro Carvalho Chehab
From: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Hello, This patch removes redundant argument check for kfree(). Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-30pvrusb2: Be smarter about mode restoration when /dev/radioX is closedMike Isely
From: Mike Isely <isely@pobox.com> Switch back to the previous input selection when the radio device is closed - but only do that if the current input selection is still the radio (i.e. it appears that it hasn't been messed with). Signed-off-by: Mike Isely <isely@pobox.com>
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-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>