summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-07-26[media] Fix regression in some dib0700 based devicesJames Harper1-1/+1
Fix regression in some dib0700 based devices. Set size_of_priv, and don't call dvb_detach unnecessarily. This resolves the oops(s) for my "Leadtek Winfast DTV Dongle (STK7700P based)" Signed-off-by: James Harper <james.harper@ejbdigital.com.au> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] staging: lirc: remove sa1100 supportArnd Bergmann1-299/+2
The LIRC support for sa1100 appears to have never worked because it relies on header files that have never been present in git history. Actually trying to build the driver on an ARM sa1100 kernel fails, so let's just remove the broken support. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Jarod Wilson <jarod@wilsonet.com> Cc: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] coda: Propagate the correct error on devm_request_threaded_irq()Fabio Estevam1-4/+5
If devm_request_threaded_irq() fails, we should better propagate the real error. Also, print out the error code in the dev_err message. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] coda: Return the real error on platform_get_irq()Fabio Estevam1-1/+1
No need to return a 'fake' return value on platform_get_irq() failure. Propagate the real error instead. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Better default keycodesGeorge Spelvin1-10/+20
This tries to make them more like other remotes, and/or the button labels. Notably, the (>>) button is made KEY_FASTFORWARD, which is the correct opposite of (<<)'s KEY_REVERSE. (It was KEY_FORWARD, something else entirely.) Likewise, KEY_STOP is the Sun keyboard "interrupt program" key; the media key is KEY_STOPCD. A restriction is that I try to avoid keycodes above 255, as the X11 client/server protocol is limited to 8-bit key codes. If not for this, I would have used the KEY_NUMERIC_x codes for the numbers. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Add comments to keycode tableGeorge Spelvin1-10/+23
A more detailed description of what the buttons look like and their intended function makes it easier for people to maintain this code without access to the hardware. [m.chehab@samsung.com: Fixed a typo "Mdeia" instead of "Media"] Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Sort buttons in top-to-bottom orderGeorge Spelvin1-23/+34
Since numerical order corresponds to top-left-to-bottom-right order on the remote, this makes the table easier to read. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Use non-alomic __set_bitGeorge Spelvin1-1/+1
There's no reason to use a LOCK prefix here. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Merge some duplicate codeGeorge Spelvin1-11/+10
The KIND_FILTERED assignment of old_jiffies can't be merged, because it must precede repeat handling. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Shrink the ati_remote_tbl even moreGeorge Spelvin1-34/+35
Get rid of the unnecessary "type" and "value" fields. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Generalize KIND_ACCEL to accept diagonalsGeorge Spelvin1-48/+23
Rather than having special code cases for diagonal mouse movements, extend the general purpose code used for the cardinal directions to handle arbitrary (x,y) deltas. The deltas themselves are stored in translation table's "code" field; this is also progress toward the goal of eliminating the "value" element entirely. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Delete superfluous input_sync()George Spelvin1-1/+0
It's not necessary, and since both events happen "at the same time" in response to a single input event, the input device framework prefers not to have it there. (It's not a big deal one way or the other, but deleting cruft is generally a good thing.) Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Shrink ati_remote_tbl structureGeorge Spelvin1-4/+4
The variable types are simply larger than they need to be. Shrink to signed and unsigned chars. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] ati_remote: Check the checksumGeorge Spelvin1-4/+5
An input report is 4 bytes long, but there are only 12 bits of actual payload. The 4 bytes are: data[0] = 0x14 data[1] = data[2] + data[3] + 0xd5 (a checksum byte) data[2] = the raw scancode (plus toggle bit in msbit) data[3] = channel << 4 (the low 4 bits must be zero) Ignore reports with a bad checksum. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rc-core: don't use dynamic_pr_debug for IR_dprintk()Mauro Carvalho Chehab1-1/+1
The hole point of IR_dprintk() is that, once a level is given at debug parameter, all enabled IR parsers will show their debug messages. While converting it to dynamic_printk might be a good idea, right now it just makes very hard to debug the drivers, as one needs to both pass debug=1 or debug=2 to rc-core and to use the dynamic printk to enable all the desired lines. That doesn't make sense! So, revert to the old way, as a single line is changed, and the debug parameter will now work as expected. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rc-core: fix various sparse warningsDavid Härdeman4-10/+10
Fix various sparse warnings under drivers/media/rc/*.c, mostly by making functions static. Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rc-core: rename ir-raw.cDavid Härdeman2-2/+2
Better to be coherent and prefix this file with rc-, in order to help to identify to what subsystem it belongs. This is in preparaton for a latter patch that will transform the raw handling into a separate module. Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] radio-miropcm20: fix a compilation warningMauro Carvalho Chehab1-1/+1
drivers/media/radio/radio-miropcm20.c: In function 'sanitize': drivers/media/radio/radio-miropcm20.c:216:3: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (p[i] < 32 || p[i] >= 128) { ^ As p is declared as a char array, it is signed. So, it can never be bigger than 127. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] Kconfig: rtl2832_sdr must depend on USBAntti Palosaari1-1/+1
Fixes error: [next:master 7435/8702] ERROR: "usb_alloc_urb [drivers/media/dvb-frontends/rtl2832_sdr.ko] undefined! rtl2832_sdr driver implements own USB streaming for SDR data. Logically that functionality belongs to USB interface driver, but currently it is implemented here. Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] Kconfig: fix tuners build warningsAntti Palosaari1-1/+2
[next:master 7472/8702] warning: (USB_MSI2500) selects MEDIA_TUNER_MSI001 which has unmet direct dependencies ((MEDIA_ANALOG_TV_SUPPORT || ..) && ..) [next:master 7698/8702] warning: (MEDIA_TUNER && ..) selects MEDIA_TUNER_XC5000 which has unmet direct dependencies ((MEDIA_ANALOG_TV_SUPPORT || ..) && ..) Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] radio-miropcm20: add RDS supportHans Verkuil1-17/+286
Once upon a time the radio-miropcm20 driver had RDS support. However, after some internal kernel changes that support was removed. Now that we have a nice RDS API I have been working on adding back this support. It has been tested with the si4713 RDS transmitter and it is working quite nicely. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] DocBook/media: document the new RDS RX controlsHans Verkuil1-0/+51
Document the new RDS receiver controls. This will be used by the radio-miropcm20 driver. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] v4l2-ctrls: add RX RDS controlsHans Verkuil2-2/+23
The radio-miropcm20 driver has firmware that decodes the RDS signals. So in that case the RDS data becomes available in the form of controls. Add support for these controls to the control framework, allowing the miro driver to use them. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] si4713: add the missing RDS functionalityHans Verkuil2-1/+84
Not all the RDS features of the si4713 were supported. Add the missing bits to fully support the hardware capabilities. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Eduardo Valentin <edubezval@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] DocBook/media: document the new RDS TX controlsHans Verkuil1-0/+62
Document the new RDS features that will be supported by the si4713 driver. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Eduardo Valentin <edubezval@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] v4l2-ctrls: add new RDS TX controlsHans Verkuil4-0/+48
The si4713 supports several RDS features not yet implemented in the driver. This patch adds the missing RDS functionality to the list of RDS controls. The ALT_FREQS control is a compound control containing an array of up to 25 (the maximum according to the RDS standard) frequencies. To support that the V4L2_CTRL_TYPE_U32 was added. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Cc: Eduardo Valentin <edubezval@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] vb2: fix vb2_poll for output streamsHans Verkuil1-0/+7
vb2_poll should always return POLLOUT | POLLWRNORM as long as there are fewer buffers queued than there are buffers available. Poll for an output stream should only wait if all buffers are queued and nobody is dequeuing them. Signed-off-by: Hans Verkuil <hansverk@cisco.com> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] vb2: fix videobuf2-core.h commentsHans Verkuil1-6/+10
A lot of work was done in vb2 to regulate how drivers and the vb2 core handle buffer ownership, but inexplicably the videobuf2-core.h comments were never updated. Do so now. The same was true for the replacement of the -ENOBUFS mechanism by the min_buffers_needed field. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] v4l2-ctrls: add support for setting string controlsHans Verkuil2-27/+44
Rather than always having to use a v4l2_ext_control struct to set a control value from within a driver, switch to just setting the new value. This is faster and it makes it possible to set more complex types such as a string control as is added by this patch. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] Docbook/media: improve data_offset/bytesused documentationHans Verkuil1-1/+6
This patch explicitly documents the relationship between bytesused and data_offset. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rc-core: merge rc5 and streamzap decodersDavid Härdeman7-218/+43
Now that the protocol is part of the scancode, it is pretty easy to merge the rc5 and streamzap decoders. An additional advantage is that the decoder is now stricter as it waits for the trailing silence before determining that a command is a valid rc5/streamzap command (which avoids collisions that I've seen with e.g. Sony protocols). Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rc-core: rename dev->scanmask to dev->scancode_maskDavid Härdeman6-8/+9
We already have dev->scancode_filter and dev->scancode_wakeup_filter so rename dev->scanmask to dev->scancode_mask for consistency. Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-26[media] rc-core: remove protocol arraysDavid Härdeman39-119/+86
The basic API of rc-core used to be: dev = rc_allocate_device(); dev->x = a; dev->y = b; dev->z = c; rc_register_device(); which is a pretty common pattern in the kernel, after the introduction of protocol arrays the API looks something like: dev = rc_allocate_device(); dev->x = a; rc_set_allowed_protocols(dev, RC_BIT_X); dev->z = c; rc_register_device(); There's no real need for the protocols to be an array, so change it back to be consistent (and in preparation for the following patches). [m.chehab@samsung.com: added missing changes at some files] Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-24[media] rc-core: simplify sysfs codeDavid Härdeman2-121/+151
Simplify and cleanup the sysfs code a bit. [m.chehab@samsung.com: rebased and fixed a CodingStyle issue] Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-24[media] saa7134: NEC scancode fixDavid Härdeman2-35/+35
This driver codes the two address bytes in reverse order when compared to the other drivers, so make it consistent (and update the keymap, note that the result is a prefix change from 0x6b86 -> 0x866b, and the latter is pretty common among the NECX keymaps. While not conclusive, it's still a strong hint that the change is correct). Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-24[media] rc-core: document the protocol typeDavid Härdeman40-184/+305
Right now the protocol information is not preserved, rc-core gets handed a scancode but has no idea which protocol it corresponds to. This patch (which required reading through the source/keymap for all drivers, not fun) makes the protocol information explicit which is important documentation and makes it easier to e.g. support multiple protocols with one decoder (think rc5 and rc-streamzap). The information isn't used yet so there should be no functional changes. [m.chehab@samsung.com: rebased, added cxusb and removed bad whitespacing] Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-24[media] dib0700: NEC scancode cleanupDavid Härdeman1-16/+20
the RC RX packet is defined as: struct dib0700_rc_response { ... u8 not_system; u8 system; ... u8 data; u8 not_data; The NEC protocol transmits in the order: system not_system data not_data Note that the code defines the NEC extended scancode as: scancode = be16_to_cpu(poll_reply->system16) << 8 | poll_reply->data; i.e. scancode = poll_reply->not_system << 16 | poll_reply->system << 8 | poll_reply->data; Which, if the order *is* reversed, would mean that the scancode that gets defined is in reality: scancode = poll_reply->system << 16 | poll_reply->not_system << 8 | poll_reply->data; Which is the same as the order used in drivers/media/rc/ir-nec-decoder.c. This patch changes the code to match my assumption (the generated scancode should, however, not change). [m.chehab@samsung.com: rebased and fixed the decoding error message] Signed-off-by: David Härdeman <david@hardeman.nu> CC: Patrick Boettcher <pboettcher@kernellabs.com> Tested-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-24[media] rc-core: improve ir-kbd-i2c get_key functionsDavid Härdeman8-100/+127
The arguments used for ir-kbd-i2c's get_key() functions are not really suited for rc-core and the ir_raw/ir_key distinction is just confusing. Convert all of them to return a protocol/scancode/toggle triple instead. Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-24[media] bt8xx: fixup RC5 decodingDavid Härdeman3-88/+88
The bt8xx driver does RC5 decoding for Nebula digi hardware, but includes some pointless limitations (both start bits must be one, the device/address/system must be 0x00). Remove those limitations and update the keymap to use the full RC5 scancode (fortunately the 0x00 address means that this is perfectly backwards compatible). Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-24[media] staging: lirc: remove redundant NULL check in unregister_from_lirc()Daeseok Youn1-6/+0
"ir" is already checked before calling unregister_from_lirc(). Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] cxusb: increase buffer length to 80 bytesMauro Carvalho Chehab1-1/+1
As reported by Vincent: [ 16.332247] xc2028 0-0061: Loading firmware for type=BASE F8MHZ (3), id 0000000000000000. [ 16.344378] cxusb: i2c wr: len=64 is too big! 64 bytes is too short for firmware load on this device. So, increase it to 80 bytes. Reported-by: Vincent McIntyre <vincent.mcintyre@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] DocBook: Fix ISDB-T Interleaving propertyMauro Carvalho Chehab1-4/+40
The DocBook documentation is incorrect: on ISDB-T, interleaving time is always a power of 2. Fix it and provides a table showing the actual interleaving length for each mode. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] xc4000: Fix get_frequency()Mauro Carvalho Chehab1-9/+11
The programmed frequency on xc4000 is not the middle frequency, but the initial frequency on the bandwidth range. However, the DVB API works with the middle frequency. This works fine on set_frontend, as the device calculates the needed offset. However, at get_frequency(), the returned value is the initial frequency. That's generally not a big problem on most drivers, however, starting with changeset 6fe1099c7aec, the frequency drift is taken into account at dib7000p driver. This broke support for PCTV 340e, with uses dib7000p demod and xc4000 tuner. Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] xc5000: Fix get_frequency()Mauro Carvalho Chehab1-10/+12
The programmed frequency on xc5000 is not the middle frequency, but the initial frequency on the bandwidth range. However, the DVB API works with the middle frequency. Cc: stable@vger.kernel.org Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] xc4000: add module meta-tag with the firmware namesMauro Carvalho Chehab1-0/+2
This meta-tag is used by some distros to help them package the firmware and generate proper initrd images. So, add the firmware names there. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] xc4000: Update firmware nameMauro Carvalho Chehab1-5/+20
The firmware name at: http://www.kernellabs.com/firmware/xc4000/ Is different from the one at the Kernel. Update it try first the new name, falling back to the previous one if the new name can't be found. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] dib7000m: Remove unnecessary null testHimangi Saraogi1-4/+1
This patch removes the null test on ch. ch is initialized at the beginning of the function to &demod->dtv_property_cache. Since demod is dereferenced prior to the null test, demod must be a valid pointer, and &demod->dtv_property_cache cannot be null. The following Coccinelle script is used for detecting the change: @r@ expression e,f; identifier g,y; statement S1,S2; @@ *e = &f->g <+... f->y ...+> *if (e != NULL || ...) S1 else S2 Signed-off-by: Himangi Saraogi <himangi774@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] mb86a20s: Fix the code that estimates the measurement intervalMauro Carvalho Chehab1-4/+4
Instead of looking at the guard interval field, it was using the interval length, with is wrong. Fix it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] mb86a20s: Fix InterleavingMauro Carvalho Chehab1-14/+4
Interleaving code was wrong at mb86a20s: instead, it was looking at the Guard Interval. Fix it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-23[media] mb86a20s: fix ISDB-T mode handlingMauro Carvalho Chehab1-4/+5
The driver was reporting an incorrect mode, when mode 2 is selected. While testing it, noticed that neither mode 1 or guard interval 1/32 is supported by this device. Document it, and ensure that it will report _AUTO when it doesn't lock, in order to not report a wrong detection to userspace. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>