summaryrefslogtreecommitdiff
path: root/linux/drivers/media
AgeCommit message (Collapse)Author
2009-01-17em28xx: fix kernel panic on audio shutdownDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Revert a change made in change 9743 which resulted in a kernel panic in some cases on shutdown of the audio stream. First discovered when working on the Pinnacle 880e support, and later reproduced by a user on the mailing list with the HVR-900 as well. Priority: high Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-01-12cx88-dvb: Fix order of frontend allocationsMauro Carvalho Chehab
From: Andy Walls <awalls@radix.net> On Fri, 2009-01-09 at 15:40 +0300, Goga777 wrote: > With today v4l-dvb I couldn't run my hvr4000 card on 2.6.27 kernel > [ 14.555162] cx88/2: cx2388x dvb driver version 0.0.6 loaded > [ 14.555231] cx88/2: registering cx8802 driver, type: dvb access: shared > [ 14.555303] cx88[0]/2: subsystem: 0070:6900, board: Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid [card=68] > [ 14.555374] cx88[0]/2: cx2388x based DVB/ATSC card > [ 14.555446] BUG: unable to handle kernel NULL pointer dereference at 00000000 > [ 14.555560] IP: [<c02e6bff>] __mutex_lock_common+0x3c/0xe4 > [ 14.555652] *pde = 00000000 > [ 14.555735] Oops: 0002 [#1] SMP > [ 14.555851] Modules linked in: cx88_dvb(+) cx88_vp3054_i2c videobuf_dvb wm8775 dvb_core tuner_simple tuner_types snd_seq_dummy tda9887 snd_seq_oss(+) snd_intel8x0(+) tda8290 snd_seq_midi snd_seq_midi_event snd_ac97_codec cx88_alsa(+) snd_seq ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_rawmidi snd_timer tuner snd_seq_device psmouse snd serio_raw ivtv(+) cx8800 cx8802 cx88xx soundcore cx2341x ir_common ns558 i2c_i801 v4l2_common videodev i2c_algo_bit gameport v4l1_compat snd_page_alloc tveeprom pcspkr floppy videobuf_dma_sg videobuf_core btcx_risc i2c_core parport_pc parport button intel_agp agpgart shpchp pci_hotplug rng_core iTCO_wdt sd_mod evdev usbhid hid ff_memless ext3 jbd mbcache ide_cd_mod cdrom ide_disk ata_piix libata dock 8139too usb_storage scsi_mod piix 8139cp mii ide_core uhci_hcd ehci_hcd usbcore thermal processor fan thermal_sys > [ 14.557013] > [ 14.557013] Pid: 2310, comm: modprobe Not tainted (2.6.27.1-custom-default1 #1) > [ 14.557013] EIP: 0060:[<c02e6bff>] EFLAGS: 00010246 CPU: 1 > [ 14.557013] EIP is at __mutex_lock_common+0x3c/0xe4 > [ 14.557013] EAX: de653e98 EBX: de739118 ECX: de739120 EDX: 00000000 > [ 14.557013] ESI: dd4209e0 EDI: de73911c EBP: de653eb0 ESP: de653e88 > [ 14.557013] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 > [ 14.557013] Process modprobe (pid: 2310, ti=de652000 task=dd4209e0 task.ti=de652000) > [ 14.557013] Stack: 3535352e 5d343733 00000002 de739120 de739120 00000000 c044a6c0 de739110 > [ 14.557013] de739118 00000001 de653ebc c02e6d38 c02e6b88 de653ec4 c02e6b88 de653ed8 > [ 14.557013] e1ac7115 de6a9000 00000001 00000000 de653f0c e1aeca62 de739004 de739000 > [ 14.557013] Call Trace: > [ 14.557013] [<c02e6d38>] ? __mutex_lock_slowpath+0x17/0x1a > [ 14.557013] [<c02e6b88>] ? mutex_lock+0x12/0x14 > [ 14.557013] [<c02e6b88>] ? mutex_lock+0x12/0x14 > [ 14.557013] [<e1ac7115>] ? videobuf_dvb_get_frontend+0x19/0x40 [videobuf_dvb] > [ 14.557013] [<e1aeca62>] ? cx8802_dvb_probe+0xc9/0x1945 [cx88_dvb] > [ 14.557013] [<e09ee41e>] ? cx8802_register_driver+0xbd/0x1ac [cx8802] > [ 14.557013] [<e09ee467>] ? cx8802_register_driver+0x106/0x1ac [cx8802] > [ 14.557013] [<e1aee37f>] ? dvb_init+0x22/0x27 [cx88_dvb] > [ 14.557013] [<c0101132>] ? _stext+0x42/0x11a > [ 14.557013] [<e1aee35d>] ? dvb_init+0x0/0x27 [cx88_dvb] > [ 14.557013] [<c013d2ca>] ? __blocking_notifier_call_chain+0xe/0x51 > [ 14.557013] [<c014970b>] ? sys_init_module+0x8c/0x17d > [ 14.557013] [<c0103b42>] ? syscall_call+0x7/0xb > [ 14.557013] [<c013007b>] ? round_jiffies_relative+0x14/0x16 > [ 14.557013] ======================= > [ 14.557013] Code: 78 04 89 f8 89 55 e0 64 8b 35 00 30 3f c0 e8 2e 0c 00 00 8d 43 08 89 45 e4 8b 53 0c 8d 45 e8 8b 4d e4 89 43 0c 89 4d e8 89 55 ec <89> 02 89 75 f0 83 c8 ff 87 03 48 74 55 8a 45 e0 8b 4d e0 83 e0 > [ 14.557013] EIP: [<c02e6bff>] __mutex_lock_common+0x3c/0xe4 SS:ESP 0068:de653e88 > [ 14.565211] ---[ end trace 94d8b014e067ac7b ]--- This patch provides a proper locking for frontends allocation Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-14Fix obvious swapped names in v4l2_subdev logicMauro Carvalho Chehab
From: Mike Isely <isely@pobox.com> The VIDIOC_QUERYCTRL command needs to actually do a queryctrl, not a querymenu. Similarly, the VIDIOC_QUERYMENU command needs to actually do a querymenu not a queryctrl. Priority: high Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-14pvrusb2: Fix misleading comment caused by earlier commitMauro Carvalho Chehab
From: Mike Isely <isely@pobox.com> Previous v4l-dvb changeset id 4cc8ed11e2e0 changed the pvrusb2-hdw internal API regarding i2c chip debug register access. However that change failed to also update the corresponding function comment describing the API. As driver maintained I never saw a request for an ack on that change; there probably should have been one especially since the manner in which this API operates was changed - its interface is now entangled with a v4l specific struct and I would have preferred to keep this API clear of moving-target v4l-isms such as this one if at all possible which is why I had done it the way I did before. But whatever. This commit at least fixes the comment issue. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-14pvrusb2: Change sysfs serial number handlingMauro Carvalho Chehab
From: Mike Isely <isely@pobox.com> Use the new pvrusb2 internal API to grab the device identifier, rather than generating it directly. This unifies some code and make possible use of that identifier in places other than sysfs. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-14pvrusb2: Generate a device-unique identifierMauro Carvalho Chehab
From: Mike Isely <isely@pobox.com> Implement a new internal function to create a string device identifier. This ID stays with the specific device, making it useful to user space to identify specific devices. We use the serial number if available; otherwise we give up and just spit out a unit/instance ID. Priority: normal Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-14pvrusb2: Stop advertising VBI capability - it isn't thereMauro Carvalho Chehab
From: Mike Isely <isely@pobox.com> Priority: normal Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-14changeset: 10235:e30767d80056Mauro Carvalho Chehab
From: Trent Piepho <xyzzy@speakeasy.org> tag: tip user: Mauro Carvalho Chehab <mchehab@redhat.com> date: Wed Jan 14 09:45:53 2009 -0200 files: linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c description: USB: change interface to usb_lock_device_for_reset() backport commit 011b15df465745474e3ec85482633685933ed5a7 Author: Alan Stern <stern@rowland.harvard.edu> Date: Tue Nov 4 11:29:27 2008 -0500 USB: change interface to usb_lock_device_for_reset() This patch (as1161) changes the interface to usb_lock_device_for_reset(). The existing interface is apparently not very clear, judging from the fact that several of its callers don't use it correctly. The new interface always returns 0 for success and it always requires the caller to unlock the device afterward. The new routine will not return immediately if it is called while the driver's probe method is running. Instead it will wait until the probe is over and the device has been unlocked. This shouldn't cause any problems; I don't know of any cases where drivers call usb_lock_device_for_reset() during probe. kernel-sync: Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-14merge: http://linuxtv.org/hg/~pb/v4l-dvb/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-14merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-saa7134Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-13[PATCH] Terratec Cinergy DT XS Diversity new USB ID (0ccd:0081)Patrick Boettcher
From: Nicolas Fournier <nicolasfournier@yahoo.com> The following patch adds support for a new version of the Terratec Cinergy DT USB XS Diversity Dual DVB-T TV tuner stick. The USB ID of the new stick is 0ccd:0081. The hardware of the stick has changed, when compared to the first version of this stick, but it still uses quite standard components, so that only minor changes are needed to the sources. The patch has been successfully tested with hotplugging the device and then 2 x tzap and 2 x mplayer, to watch two different TV programs simultaneously. The stick works with both, the old and new firmwares: - dvb-usb-dib0700-1.10.fw and - dvb-usb-dib0700-1.20.fw Priority: normal Signed-off-by: Nicolas Fournier <nicolasfournier@yahoo.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2009-01-12em28xx: fix audio output PCM IN selectionMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Some em28xx devices use the PCM IN AC 97 PIN for digital audio. However, currently, the PCM IN selection is not set by the driver. This patch allows specifying the PCM IN expected output, via board description table. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-12v4l2-subdev: add v4l2_ext_controls supportHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The saa6752hs module needs this. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-01-12ivtv: fix memory leakHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: high Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-01-12zoran: Get rid of extra module ref countTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The zoran driver does a module_get/put of THIS_MODULE on device open/close. This isn't necessary as the kernel does this automatically. Clean up the failure path of zoran_open() somewhat. Make the dprintk()s on open/close a higher debug level and make the user count printed take the current open/close into account. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Jean Delvare <khali@linux-fr.org>
2009-01-12zoran: Remove zr36057_adr fieldTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The driver should only use the kernel mapped io address, zr36057_mem, and not the PCI bus address, zr36057_adr. Since the latter is only printed out once, there is no need to save it in the driver data structure. There was some old code that looked like it was for the Alpha architecture which would use the PCI bus address. It probably no longer applies to modern kernels. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Jean Delvare <khali@linux-fr.org>
2009-01-12zoran: Use pci device table to get card typeTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Instead of using custom code, just let the device layer look it up for us from the pci device table. This requires extending the pci device table to list each known card, plus a catch-all entry for the cards that don't have sub-system vendor/device data. Improve some of the info and error messages too. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Jean Delvare <khali@linux-fr.org>
2009-01-12zoran: Remove global device arrayTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The driver was keeping a global array with an entry for each zoran device probed. It was a leftover from when the driver didn't dynamically allocate the driver data for each device. There was only one use left, in the video device's ->open() method, looking up the struct zoran for the opened device from the minor number. This can be done better with video_get_drvdata(). Since zoran_num is now only used in the pci driver's ->probe() method, it doesn't need to be an atomic_t and be static. There is a race if multiple zoran cards could be probed at the same time, but currently the probe method for a given driver is single threaded. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Jean Delvare <khali@linux-fr.org>
2009-01-12zoran: Better syntax for initializing array module paramsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> When initializing a module parameter that is a per-card array, use "{ [0 ... (BUZ_MAX-1)] = -1 }" instead of "{ -1, -1, -1, -1 }". This way all of the entries will be correctly set to -1 if someone changes BUZ_MAX to a value other than 4. Adjust some of the parameter help text too. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Jean Delvare <khali@linux-fr.org>
2009-01-12fixup previous patchTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Commited patch 0a97a636c31e wasn't the latest version of the patch. This fixes some problems with it and should be folded into it. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-01-12merge: http://linuxtv.org/hg/~awalls/cx88Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-12merge: 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-01-11zoran: Fix a few CodingStyle issues rised by the previous patchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> CC: Jean Delvare <khali@linux-fr.org> CC: Trent Piepho <xyzzy@speakeasy.org>
2009-01-11Convert to be a pci driverMauro Carvalho Chehab
From: Trent Piepho <xyzzy@speakeasy.org> This is a really old and crufty driver that wasn't using the long established pci driver framework. Priority: normal Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-11vivi: Implements 4 inputs on viviMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This patch adds the capability of selecting between 4 different inputs on vivi driver. Input 0 is the normal color bar, while inputs 1-3 are modified color bars. This allows testing input selection on userspace applications and serves as an implementation model for other drivers. The current approach allows a maximum of 10 different inputs, since the input name generator assumes that we need just one digit to present the input. It shouldn't be hard to modify it to present a bigger name of inputs, but, in fact, it doesn't make much sense of doing it for this test driver. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-10saa7134: Prevent Oops due to stale IRQ status when enabling interruptsAndy Walls
From: Andy Walls <awalls@radix.net> When enabling a shared IRQ line, then saa7134_irq handler could be invoked before the driver had completely set up internal structures, due to a shared interrupt line firing. Clear the saa7134 interrupt status reg, before requesting the irq line, so that stale IRQ status isn't processed before the internal structures are set up. Marcin Slusarz recently brought this Oops to the attention of the v4l-dvb lists and provided an initial analysis by investigating reports found here: http://kerneloops.org/guilty.php?guilty=mute_input_7133&version=2.6.27-release&start=1802240&end=1835007&class=oops Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-10saa7127: fix broken S-Video with saa7129Hans Verkuil
From: Martin Dauskardt <martin.dauskardt@gmx.de> Register 0x2d has to be set differently in the saa7129 compared to the saa7127. This was not done correctly, so S-Video was broken in certain circumstances. This fixes a regression introduced in 2.6.28. Priority: high Signed-off-by: Martin Dauskardt <martin.dauskardt@gmx.de> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-01-10Fix 'stb0899_get_srate' defined but not used warningHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-01-09cx23885: Fix Oops for mixed install of analog and digital only cardsAndy Walls
From: Andy Walls <awalls@radix.net> Analog support for HVR-1250 has not been completed, but does exist for the HVR-1800. Since both cards use the same driver, it tries to create the analog dev for both devices, which is not possible. This causes a NULL error to show up in video_open and mpeg_open. -Mark Iterations through the cx23885_devlist must check for NULL pointers as some supported devices only have DVB support at the moment. Mark Jenks encoutered an Oops in a system with both an HVR-1250 and HVR-1800 installed. -Andy Reported-by: Mark Jenks <mjenks1968@gmail.com> Priority: normal Tested-by: Mark Jenks <mjenks1968@gmail.com> Signed-off-by: Mark Jenks <mjenks1968@gmail.com> Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-09tveeprom: Properly initialize tuner type (BZ#11367)Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> If Hauppauge eeprom is corrupted, the driver returns tuner = 0, instead of TUNER_ABSENT. This makes the drivers to initialize tuner, instead of handling the manual parameter. Since the tuner core rejects that a tuner to have their type changed, this breaks the manual tuner override. Priority: high Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-09zoran: Re-adds udev entry removed by changeset 60b4bde4Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Changeset 60b4bde48b36c0315ef41fd38c339b9c7e68c46f removed an unused struct on zoran driver, when compiled with "Y". However, as pointed by Jean Delvare <khali@linux-fr.org>, this is neeeded when the driver is compiled as a module, since udev relies on it to auto-load the module. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-09backport commit 5f820f648c92a5ecc771a96b3c29aa6e90013bbaMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Tejun Heo <htejun@gmail.com> poll: allow f_op->poll to sleep f_op->poll is the only vfs operation which is not allowed to sleep. It's because poll and select implementation used task state to synchronize against wake ups, which doesn't have to be the case anymore as wait/wake interface can now use custom wake up functions. The non-sleep restriction can be a bit tricky because ->poll is not called from an atomic context and the result of accidentally sleeping in ->poll only shows up as temporary busy looping when the timing is right or rather wrong. This patch converts poll/select to use custom wake up function and use separate triggered variable to synchronize against wake up events. The only added overhead is an extra function call during wake up and negligible. This patch removes the one non-sleep exception from vfs locking rules and is beneficial to userland filesystem implementations like FUSE, 9p or peculiar fs like spufs as it's very difficult for those to implement non-sleeping poll method. While at it, make the following cosmetic changes to make poll.h and select.c checkpatch friendly. * s/type * symbol/type *symbol/ : three places in poll.h * remove blank line before EXPORT_SYMBOL() : two places in select.c Oleg: spotted missing barrier in poll_schedule_timeout() Davide: spotted missing write barrier in pollwake() kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-07backport commit b305271861219f0ce162eb565f0f28f4c781299dMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Jean Delvare <khali@linux-fr.org> i2c: Drop I2C_CLASS_CAM_DIGITAL There are a number of drivers which set their i2c bus class to I2C_CLASS_CAM_DIGITAL, however no chip driver actually checks for this flag, so we might as well drop it now. kernel-sync: Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-07backport commit 9b4778f680aa79d838ae2be6ab958938f744ce5fMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Harvey Harrison <harvey.harrison@gmail.com> trivial: replace last usages of __FUNCTION__ in kernel __FUNCTION__ is gcc-specific, use __func__ kernel-sync: Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-08backport changeset f41ced8f108cc80f16509b907cd7ac93944459bcMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Laurent Pinchart <laurent.pinchart@skynet.be> Check fops_get() return value Several subsystem open handlers dereference the fops_get() return value without checking it for nullness. This opens a race condition between the open handler and module unloading. A module can be marked as being unloaded (MODULE_STATE_GOING) before its exit function is called and gets the chance to unregister the driver. During that window open handlers can still be called, and fops_get() will fail in try_module_get() and return a NULL pointer. This change checks the fops_get() return value and returns -ENODEV if NULL. kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-08[PATCH] v4l/tvp514x: Don't write after line endMauro Carvalho Chehab
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> to avoid: | tvp514x 0-005c: No platform data | !!<3>tvp514x 0-005d: No platform data Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-08Bad: author doesn't exist!Mauro Carvalho Chehab
2009-01-08merge: http://linuxtv.org/hg/~pinchartl/uvcvideoMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-08merge from mainPatrick Boettcher
From: Patrick Boettcher <pb@linuxtv.org> Priority: normal Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2009-01-08[PATCH] add Terratec Cinergy T Express to dibcom driverPatrick Boettcher
From: Yusuf Altin <yusuf.altin@t-online.de> This patch introduces support for dvb-t for the following dibcom based card: Terratec Cinergy T Express (USB-ID: 0ccd:0062) Priority: normal Signed-off-by: Yusuf Altin <yusuf.altin@t-online.de> Signed-off-by: Albert Comerma <albert.comerma@gmail.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2009-01-07cx88: Fix Kconfig MPEG dependenciesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> As Michael Krufky <mkrufky@linuxtv.org> pointed, the dependencies for cx8802 are wrong, since the module is needed when either cx88-dvb or cx88-blackbird is compiled. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-07removed unused #include <version.h>'sMauro Carvalho Chehab
From: Huang Weiyi <weiyi.huang@gmail.com> Removed unused #include <version.h>'s in files below, drivers/media/video/cs5345.c drivers/media/video/pwc/pwc-if.c drivers/media/video/saa717x.c drivers/media/video/upd64031a.c drivers/media/video/upd64083.c drivers/media/video/uvc/uvc_ctrl.c drivers/media/video/uvc/uvc_driver.c drivers/media/video/uvc/uvc_queue.c drivers/media/video/uvc/uvc_video.c drivers/media/video/uvc/uvc_status.c Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Acked-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-07em28xx: fix input selectionMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> em28xx were trying to access the third input entry, even for boards that don't support it. This patch reviews the input mux selection fixing this bug and a few other troubles, like not validating the input on one userspace ioctl. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-06cx88: Fix some Kbuild troublesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> As Randy Dunlap <randy.dunlap@oracle.com> reported, cx88 has some compilation issues: drivers/built-in.o: In function `cx88_call_i2c_clients': (.text+0x20af17): undefined reference to `videobuf_dvb_get_frontend' drivers/built-in.o: In function `cx8802_probe': cx88-mpeg.c:(.devinit.text+0x268c4): undefined reference to `videobuf_dvb_alloc_frontend' cx88-mpeg.c:(.devinit.text+0x268ea): undefined reference to `videobuf_dvb_dealloc_frontends' With those configs: CONFIG_VIDEO_CX88=y CONFIG_VIDEO_CX88_BLACKBIRD=y CONFIG_VIDEO_CX88_DVB=m CONFIG_DVB_CORE=m After carefully examining the code, with the current code, several cx88 drivers (cx8800, cx8802, cx88_dvb and cx88_blackbird) should be compiled as a module, if one of them is marked as such. Just fixing Kconfig could create a very complex set of rules. Also, this hides a problem with the current approach where the dvb functionality weren't confined inside dvb module. What happens is that: - cx88-i2c (part of cx8800) has some special rules if DVB; - cx88-mpeg (cx8802 module) has also part of DVB init code; - cx88-dvb has the rest of the dvb code; - cx88-blackbird can be used with cx88-mpeg, having cx88-dvb or not. So, instead of doing some tricks at Kconfig and wait for a next breakage, this patch moves the dvb code inside cx88-i2c and cx88-mpeg into cx88-dvb. Another problem is that cx8802 were being compiled, even without cx88-dvb and cx88-blackbird modules. While on this code, let's fix also a reported problem: http://www.linuxtv.org/pipermail/linux-dvb/2009-January/031225.html A solution for the issue were proposed here: http://www.mail-archive.com/linux-media@vger.kernel.org/msg00021.html Thanks to Randy, Andy, Gregoire and Thomas for helping us to detect and solve the issues. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-06dm1105: Fix build with INPUT=m and DVB_DM1105=yMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> As reported by Randy Dunlap <randy.dunlap@oracle.com>: With CONFIG_INPUT=m and CONFIG_DVB_DM1105=y: drivers/built-in.o: In function `input_sync': dm1105.c:(.text+0x120c33): undefined reference to `input_event' drivers/built-in.o: In function `dm1105_emit_key': dm1105.c:(.text+0x120c6c): undefined reference to `input_event' dm1105.c:(.text+0x120c82): undefined reference to `input_event' dm1105.c:(.text+0x120cb2): undefined reference to `input_event' dm1105.c:(.text+0x120cd1): undefined reference to `input_event' drivers/built-in.o: In function `dm1105_ir_init': (.devinit.text+0xd8ae): undefined reference to `input_allocate_device' drivers/built-in.o: In function `dm1105_ir_init': (.devinit.text+0xd9f6): undefined reference to `input_register_device' drivers/built-in.o: In function `dm1105_ir_init': (.devinit.text+0xda09): undefined reference to `input_free_device' drivers/built-in.o: In function `dm1105_ir_exit': (.devexit.text+0xcde): undefined reference to `input_unregister_device' This is due to the lack of a dependency between dm1105 and CONFIG_INPUT Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> CC: Igor M. Liplianin <liplianin@me.by>
2009-01-05Fix an error on cx25840Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> On Mon, 2009-01-05 at 15:10 +0100, Gregoire Favre wrote: > Hello, > > compilation of today v4l-hg fails at : > > CC [M] /usr/src/CVS/v4l-dvb/v4l/cx23885-417.o > CC [M] /usr/src/CVS/v4l-dvb/v4l/cx25840-core.o > /usr/src/CVS/v4l-dvb/v4l/cx25840-core.c:186: error: duplicate 'static' > make[2]: *** [/usr/src/CVS/v4l-dvb/v4l/cx25840-core.o] Error 1 > make[1]: *** [_module_/usr/src/CVS/v4l-dvb/v4l] Error 2 > make[1]: Leaving directory `/usr/src/linux-2.6.28-gentoo' > make: *** [default] Error 2 I find the output of an sparse build amusing: marune/build/v4l-dvb-master/v4l/cx25840-core.c:186:8: error: Just how static do you want this type to be? /marune/build/v4l-dvb-master/v4l/cx25840-core.c:186: error: duplicate 'static' make[3]: *** [/marune/build/v4l-dvb-master/v4l/cx25840-core.o] Error 1 The change that introduced it follows. The first part of the change, with the 2 "static"s is the problem. The second part of the change, for older kernels is correct. Remove the duplicate static keyword and the code will compile. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-04uvcvideo: Fix GET_DEF failure detection.Laurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> Commit 44f0079ec74330b457d990072c13cbe28b0f1abf erroneously considers all GET_DEF requests as unsuccessful. Fix this by checking the request return value. Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2009-01-03uvcvideo: Print the UVC version number in binary-coded decimal.Laurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> The UVC specification release number is a binary-coded decimal number, print it as such. Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2009-01-03uvcvideo: Whitespace and comments cleanup, copyright updates.Laurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2009-01-03Use negated usb_endpoint_xfer_control, etcMauro Carvalho Chehab
From: Julia Lawall <julia@diku.dk> This patch extends 134179823b3ca9c8b98e0631906459dbb022ff9b by using usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk, and usb_endpoint_xfer_int in the negated case as well. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\)) + !usb_endpoint_xfer_control(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\)) + !usb_endpoint_xfer_isoc(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\)) + !usb_endpoint_xfer_bulk(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\)) + !usb_endpoint_xfer_int(epd) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>