summaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2011-09-03[media] em28xx: clean up resources should init failChris Rankin2-45/+37
This patch ensures that the em28xx_init_dev() function cleans up after itself, in the event that it fails. This isimportant because the struct em28xx will be deallocated if em28xx_init_dev() returns an error. [mchehab@redhat.com: Fix merge conflicts and simplify the goto labels] Signed-off-by: Chris Rankin <rankincj@yahoo.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] em28xx: use atomic bit operations for devices-in-use maskChris Rankin1-17/+16
Use atomic bit operations for the em28xx_devused mask, to prevent an unlikely race condition should two adapters be plugged in simultaneously. The operations also clearer than explicit bit manipulation anyway. Signed-off-by: Chris Rankin <rankincj@yahoo.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] em28xx: pass correct buffer size to snprintfChris Rankin1-1/+1
snprintf()'s size parameter includes space for the terminating '\0' character. Signed-off-by: Chris Rankin <rankincj@yahoo.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] DVB: dvb_frontend: remove static assignments from ↵Andreas Oberritter1-5/+24
dtv_property_cache_sync() dtv_property_cache_init(). dtv_property_process_get(). overwritten with invalid values, leading to partially incorrect results when calling FE_GET_PROPERTY. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] drivers/media: do not use EXTRA_CFLAGSArnaud Lacombe36-94/+92
Usage of these flags has been deprecated for nearly 4 years by: commit f77bf01425b11947eeb3b5b54685212c302741b8 Author: Sam Ravnborg <sam@neptun.(none)> Date: Mon Oct 15 22:25:06 2007 +0200 kbuild: introduce ccflags-y, asflags-y and ldflags-y Moreover, these flags (at least EXTRA_CFLAGS) have been documented for command line use. By default, gmake(1) do not override command line setting, so this is likely to result in build failure or unexpected behavior. Replace their usage by Kbuild's `{as,cc,ld}flags-y'. Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: linux-media@vger.kernel.org Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] Add missing OK key to PCTV IR keymapChris Rankin1-0/+1
Hi, The following patch adds the IR code for the missing "OK" key to the Pinnacle PCTV HD map. This map is now used by the PCTV 290e DVB-T2 device, whose remote control has 26 buttons. Signed-off-by: Chris Rankin <rankincj@yahoo.com> Reviewed-by: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] drivers/media/video/zr364xx.c: add missing cleanup codeJulia Lawall1-0/+3
It seems just as necessary to free cam->vdev and cam in this error case as in the next one. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] ddbridge: fix ddb_ioctl()Dan Carpenter1-17/+17
There were a several problems in this function: 1) Potential integer overflow in the comparison: if (fio.write_len + fio.read_len > 1028) { 2) If the user gave bogus values for write_len and read_len then returning -EINVAL is more appropriate than returning -ENOMEM. 3) wbuf was set to the address of an array and could never be NULL so I removed the pointless NULL check. 4) The call to vfree(wbuf) was improper. That array is part of a larger struct and isn't allocated by itself. 5) flashio() can't actually fail, but we may as well add error handling in case this changes later. 6) In the default case where an ioctl is not implemented then returning -ENOTTY is more appropriate than returning -EFAULT. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] CXD2820R: Replace i2c message translation with repeater gate controlSteve Kerrison7-85/+11
This patch implements an i2c_gate_ctrl op for the cxd2820r. Thanks to Robert Schlabbach for identifying the register address and field to set. The old i2c intercept code that prefixed messages with a passthrough byte has been removed and the PCTV nanoStick T2 290e entry in em28xx-dvb has been updated appropriately. Tested for DVB-T2 use; I would appreciate it if somebody with DVB-C capabilities could test it as well - from inspection I cannot see any problems. This is patch v2. It fixes some schoolboy style errors and removes superfluous i2c entries in cxd2820r.h. Signed-off-by: Steve Kerrison <steve@stevekerrison.com> Acked-by: Antti Palosaari <crope@iki.fi> Tested-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] DVB: gp8psk-fe: use SYS_TURBOAndreas Oberritter1-4/+13
Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] DVB: dvb_frontend: Fix compatibility criteria for satellite receiversAndreas Oberritter1-8/+5
identify a satellite receiver by its 'delivery_system' instead of 'modulation', which may overlap between different delivery systems. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] dib9000: return error code on failureDan Carpenter1-1/+1
The ret = -EIO needs to be before the goto. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] dib7000p: return error code on allocation failureDan Carpenter1-1/+1
The goto needs to be moved after the assignment. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] dvb-core, tda18271c2dd: define get_if_frequency() callbackMauro Carvalho Chehab3-3/+12
Tuners in general convert a high frequency carrier into an Intermediate Frequency (IF). Digital tuners like tda18271, xc3028, etc. generally allow changing the IF frequency, although they generally have recommented settings for the IF. Analog tuners, have a fixed IF frequency, that depends on the physical characteristics of some analog components. For digital tuners, it makes sense to have ways to configure IF, via the tuner's configuration structure, like what's done inside the tda18271-fe maps. The demods need to know what IF is used by the tuner, as it will need to convert internally from IF into baseband. Currently, the bridge driver needs to fill a per-demod configuration struct for it, or pass it via a dvb_attach parameter. The tda18271 datasheet recommends to use different IF's for different delivery system types and for different bandwidths. The DRX-K demod also needs to know the IF frequency in order to work, just like all other demods. However, as it accepts different delivery systems (DVB-C and DVB-T), the IF may change if the standard and/or bandwidth is changed. So, the usual procedure of passing it via a config struct doesn't work. One might try to code it as two separate IF frequencies, or even as a table in function of the delivery system and the bandwidth, but this will be messy. So, it is better and simpler to just add a new callback for it and require the tuners that can be used with MFE frontends like drx-k to implement a new callback to return the used IF. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Acked-by: Antti Palosaari <crope@iki.fi>
2011-09-03[media] em28xx: add em28xx_ prefix to functionsJarod Wilson1-30/+28
Makes it more straight-forward to follow stack traces if the functions don't have generic names. Using this as a crutch while trying to better understand the lockdep warnings I get when loading the em28xx driver. CC: Devin Heitmueller <dheitmueller@kernellabs.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] redrat3: remove unused dev struct membersJarod Wilson1-7/+0
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] videobuf2: Do not unconditionally map S/G buffers into kernel spaceJonathan Corbet1-6/+0
The one in-tree videobuf2-dma-sg driver (mmp-camera) has no need for a kernel-space mapping of the buffers; one suspects that most other drivers would not either. The videobuf2-dma-sg module does the right thing if buf->vaddr == NULL - it maps the buffer on demand if somebody needs it. So let's not map the buffer at allocation time; that will save a little CPU time and a lot of address space in the vmalloc range. Signed-off-by: Jonathan Corbet <corbet@lwn.net> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] DVB: dvb_frontend: update locking in dvb_frontend_{add, get_event}Andreas Oberritter1-17/+7
- fepriv->parameters_out isn't protected by events->mtx, so move the call to fe->ops.get_frontend out of the locked area. - move the assignment of e->status into the locked area. - use direct assignment instead of memcpy. - use mutex_lock instead of mutex_lock_interruptible, because all code paths protected by this mutex won't block. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] DVB: dvb_frontend: clear stale events on FE_SET_FRONTENDAndreas Oberritter1-0/+11
the first event after an attempt to tune. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] DVB: dvb_frontend: avoid possible race condition on first eventAndreas Oberritter1-1/+1
enqueued before the frontend thread wakes up. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] DVB: dvb_frontend: fix stale parameters on initial frontend eventAndreas Oberritter1-0/+7
Modify it to use the data given by the user. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-03[media] drivers/media/video/hexium_gemini.c: delete useless initializationJulia Lawall1-1/+1
Delete nontrivial initialization that is immediately overwritten by the result of an allocation function. The semantic match that makes this change is as follows: // <smpl> @@ type T; identifier i; expression e; @@ ( T i = \(0\|NULL\|ERR_PTR(...)\); | -T i = e; +T i; ) ... when != i i = \(kzalloc\|kcalloc\|kmalloc\)(...); // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-01[media] tm6000: Don't try to use a non-existing interfaceMauro Carvalho Chehab1-0/+6
> [34883.426065] tm6000 #0: registered device video0 > [34883.430591] Trident TVMaster TM5600/TM6000/TM6010 USB2 board (Load status: 0) > [34883.437763] usbcore: registered new interface driver tm6000 > [34884.608372] BUG: unable to handle kernel NULL pointer dereference at 00000002 > [34884.615514] IP: [<f8c4ceea>] tm6000_reset+0xd7/0x11c [tm6000] The dev->int_in USB interfaces is used by some devices for the Remote Controller. Not all devices seem to define this interface, so, tm6000_reset should not try to set the interface to it on such devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Enable radio mode for Cinergy Hybrid XEThierry Reding1-0/+5
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Enable audio clock in radio modeThierry Reding1-0/+1
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Plug memory leak on PCM freeThierry Reding1-0/+1
When releasing hardware resources, the DMA buffer allocated to the PCM device needs to be freed to prevent a memory leak. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Do not use video buffers in radio modeThierry Reding1-8/+10
If the radio device is opened there is no need to initialize the video buffer queue because it is not used. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Execute lightweight reset on closeThierry Reding3-0/+51
When the last user closes the device, perform a lightweight reset of the device to bring it into a well-known state. Note that this is not always enough with the TM6010, which sometimes needs a hard reset to get into a working state again. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Initialize isochronous transfers only onceThierry Reding1-6/+2
This fixes a memory leak where isochronous buffers would be set up for each video buffer, while it is sufficient to set them up only once per device. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Properly count device usageThierry Reding1-2/+3
When the USB device is disconnected, the device usage bit is not cleared properly. This leads to errors when a device is unplugged and replugged several times until all TM6000_MAXBOARDS bits are used and keeps the driver from binding to the device. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Add locking for USB transfersThierry Reding3-1/+5
This commit introduces the usb_lock mutex to ensure that a USB request always gets the proper response. While this is currently not really necessary it will become important as there are more users. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Rework standard register tablesThierry Reding1-316/+294
This commit uses sentinel entries to terminate the TV standard register tables instead of hard-coding their size, allowing further entries to be added more easily. It is also more space-efficient if the tables have a varying number of entries. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Disable video interface in radio modeThierry Reding1-1/+6
Video data is useless in radio mode, so the corresponding interface can be safely disabled. This should reduce the amount of isochronous traffic noticeably. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Rename active interface registerThierry Reding3-9/+11
The register ACTIVE_VIDEO_IF register should be named ACTIVE_IF since it controls more than just the video interface. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Flesh out the IRQ callbackThierry Reding1-1/+13
This brings the IRQ callback implementation more in line with how other drivers do it. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Implement I2C flush callbackThierry Reding2-5/+5
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Use correct input in radio modeThierry Reding1-13/+15
In radio mode, the correct input is rinput. The pseudo index 5 is used but cannot be used to index the vinput array because that only has 3 elements. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tm6000: Miscellaneous cleanupsThierry Reding8-79/+59
This commit fixes a number of coding style issues as well as some issues reported by checkpatch and sparse. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tuner/xc2028: Fix frequency offset for radio modeMauro Carvalho Chehab1-3/+8
In radio mode, no frequency offset should be used. Instead of taking Thierry's patch that creates a separate function to calculate the digital offset, it seemed better to just keep everything at the same place. Reported-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-31[media] tuner/xc2028: Add I2C flush callbackThierry Reding2-0/+8
When loading the firmware, complete each chunk by sending an I2C flush command to the frontend. Some devices like the tm6000 seem to require this to properly flush the I2C buffers. The current code in tm6000 executes the flush command once after each I2C transfer, which slows down the firmware loading especially when loading large BASE type images. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-29[media] omap3isp: ccdc: Use generic frame sync event instead of private ↵Sakari Ailus1-2/+9
HS_VS event The ccdc block in the omap3isp produces events whenever it starts receiving a new frame. A private HS_VS event was used for this previously. Now, the generic V4L2_EVENT_FRAME_SYNC event is being used for the purpose. This patch also provides the frame sequence number to user space. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] ttusb2: add support for the dvb-t part of CT-3650 v3Jose Alberto Reguero3-25/+110
Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] cx88: notch filter control fixesistvan_v@mailbox.hu2-4/+1
This patch reduces the number of available choices for the notch filter type control so that the standard-specific filter types cannot be selected. It is now limited to being either 0 (4xFsc, the default) or 1 (square pixel optimized). The patch also removes the initialization of this control from cx88_reset(), since that is already done by init_controls(), which is called by cx8800_initdev(). Signed-off-by: Istvan Varga <istvan_v@mailbox.hu> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] tda18212: Use standard logging, remove tda18212_priv.hJoe Perches2-52/+23
Use the more current logging styles with pr_fmt. Remove now unnecessary private include. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] tda18271: Use printk extension %pVJoe Perches2-28/+43
Deduplicate printk formats to save ~20KB text. $ size drivers/media/common/tuners/tda18271*o.* text data bss dec hex filename 10747 56 1920 12723 31b3 drivers/media/common/tuners/tda18271-common.o.new 18889 56 3112 22057 5629 drivers/media/common/tuners/tda18271-common.o.old 20561 204 4264 25029 61c5 drivers/media/common/tuners/tda18271-fe.o.new 31093 204 6000 37297 91b1 drivers/media/common/tuners/tda18271-fe.o.old 3681 6760 440 10881 2a81 drivers/media/common/tuners/tda18271-maps.o.new 5631 6760 680 13071 330f drivers/media/common/tuners/tda18271-maps.o.old Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] af9015: use logic or instead of sum numbersAntti Palosaari1-13/+13
Style issue. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] af9015: map remote for Leadtek WinFast DTV2000DSAntti Palosaari1-0/+2
Thanks to Thomas Gutzler for reporting this. Signed-off-by: Antti Palosaari <crope@iki.fi> Cc: Thomas Gutzler <thomas.gutzler@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] em28xx: use MFE lock for PCTV nanoStick T2 290eAntti Palosaari1-1/+6
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] drivers/media/dvb/dvb-usb/usb-urb.c: adjust array indexJulia Lawall1-2/+2
Convert array index from the loop bound to the loop index. A simplified version of the semantic patch that fixes this problem is as // <smpl> @@ expression e1,e2,ar; @@ for(e1 = 0; e1 < e2; e1++) { <... ar[ - e2 + e1 ] ...> } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-08-27[media] Add support for new revision of KNC 1 DVB-C cards. Using tda10024 ↵Julian Scheel3-0/+7
instead of tda10023, which is compatible to tda10023 driver Signed-off-by: Julian Scheel <julian@jusst.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>