aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* [media] ati_remote: Better default keycodesGeorge Spelvin2014-07-25
| | | | | | | | | | | | | | | | | | | 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>
* [media] ati_remote: Add comments to keycode tableGeorge Spelvin2014-07-25
| | | | | | | | | | | 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>
* [media] ati_remote: Sort buttons in top-to-bottom orderGeorge Spelvin2014-07-25
| | | | | | | | 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>
* [media] ati_remote: Use non-alomic __set_bitGeorge Spelvin2014-07-25
| | | | | | | 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>
* [media] ati_remote: Merge some duplicate codeGeorge Spelvin2014-07-25
| | | | | | | | 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>
* [media] ati_remote: Shrink the ati_remote_tbl even moreGeorge Spelvin2014-07-25
| | | | | | | 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>
* [media] ati_remote: Generalize KIND_ACCEL to accept diagonalsGeorge Spelvin2014-07-25
| | | | | | | | | | | | | 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>
* [media] ati_remote: Delete superfluous input_sync()George Spelvin2014-07-25
| | | | | | | | | | | | 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>
* [media] ati_remote: Shrink ati_remote_tbl structureGeorge Spelvin2014-07-25
| | | | | | | | 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>
* [media] ati_remote: Check the checksumGeorge Spelvin2014-07-25
| | | | | | | | | | | | | | 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>
* [media] rc-core: don't use dynamic_pr_debug for IR_dprintk()Mauro Carvalho Chehab2014-07-25
| | | | | | | | | | | | | | | | | | 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>
* [media] rc-core: fix various sparse warningsDavid Härdeman2014-07-25
| | | | | | | | 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>
* [media] rc-core: rename ir-raw.cDavid Härdeman2014-07-25
| | | | | | | | | | | 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>
* [media] radio-miropcm20: fix a compilation warningMauro Carvalho Chehab2014-07-25
| | | | | | | | | | | | 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>
* [media] Kconfig: rtl2832_sdr must depend on USBAntti Palosaari2014-07-25
| | | | | | | | | | | | | | 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>
* [media] Kconfig: fix tuners build warningsAntti Palosaari2014-07-25
| | | | | | | | | | | | | | [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>
* [media] radio-miropcm20: add RDS supportHans Verkuil2014-07-25
| | | | | | | | | | 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>
* [media] DocBook/media: document the new RDS RX controlsHans Verkuil2014-07-25
| | | | | | | | 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>
* [media] v4l2-ctrls: add RX RDS controlsHans Verkuil2014-07-25
| | | | | | | | | | | 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>
* [media] si4713: add the missing RDS functionalityHans Verkuil2014-07-25
| | | | | | | | | 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>
* [media] DocBook/media: document the new RDS TX controlsHans Verkuil2014-07-25
| | | | | | | | 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>
* [media] v4l2-ctrls: add new RDS TX controlsHans Verkuil2014-07-25
| | | | | | | | | | | | | | 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>
* [media] vb2: fix vb2_poll for output streamsHans Verkuil2014-07-25
| | | | | | | | | | | 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>
* [media] vb2: fix videobuf2-core.h commentsHans Verkuil2014-07-25
| | | | | | | | | | 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>
* [media] v4l2-ctrls: add support for setting string controlsHans Verkuil2014-07-25
| | | | | | | | | | | 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>
* [media] Docbook/media: improve data_offset/bytesused documentationHans Verkuil2014-07-25
| | | | | | | 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>
* [media] rc-core: merge rc5 and streamzap decodersDavid Härdeman2014-07-25
| | | | | | | | | | | 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>
* [media] rc-core: rename dev->scanmask to dev->scancode_maskDavid Härdeman2014-07-25
| | | | | | | | 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>
* [media] rc-core: remove protocol arraysDavid Härdeman2014-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* [media] rc-core: simplify sysfs codeDavid Härdeman2014-07-23
| | | | | | | | | 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>
* [media] saa7134: NEC scancode fixDavid Härdeman2014-07-23
| | | | | | | | | | | 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>
* [media] rc-core: document the protocol typeDavid Härdeman2014-07-23
| | | | | | | | | | | | | | | 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>
* [media] dib0700: NEC scancode cleanupDavid Härdeman2014-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* [media] rc-core: improve ir-kbd-i2c get_key functionsDavid Härdeman2014-07-23
| | | | | | | | | | | 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>
* [media] bt8xx: fixup RC5 decodingDavid Härdeman2014-07-23
| | | | | | | | | | | 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>
* [media] staging: lirc: remove redundant NULL check in unregister_from_lirc()Daeseok Youn2014-07-23
| | | | | | | | "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>
* [media] cxusb: increase buffer length to 80 bytesMauro Carvalho Chehab2014-07-22
| | | | | | | | | | | | 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>
* [media] DocBook: Fix ISDB-T Interleaving propertyMauro Carvalho Chehab2014-07-22
| | | | | | | | 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>
* [media] xc4000: Fix get_frequency()Mauro Carvalho Chehab2014-07-22
| | | | | | | | | | | | | | | | | | | 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>
* [media] xc5000: Fix get_frequency()Mauro Carvalho Chehab2014-07-22
| | | | | | | | | 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>
* [media] xc4000: add module meta-tag with the firmware namesMauro Carvalho Chehab2014-07-22
| | | | | | | | | 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>
* [media] xc4000: Update firmware nameMauro Carvalho Chehab2014-07-22
| | | | | | | | | | | 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>
* [media] dib7000m: Remove unnecessary null testHimangi Saraogi2014-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* [media] mb86a20s: Fix the code that estimates the measurement intervalMauro Carvalho Chehab2014-07-22
| | | | | | | 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>
* [media] mb86a20s: Fix InterleavingMauro Carvalho Chehab2014-07-22
| | | | | | | 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>
* [media] mb86a20s: fix ISDB-T mode handlingMauro Carvalho Chehab2014-07-22
| | | | | | | | | | | | 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>
* [media] m88ds3103: implement BERAntti Palosaari2014-07-22
| | | | | | | Implement read_ber for BER estimate. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] m88ds3103: fix SNR reporting on 32-bit archAntti Palosaari2014-07-22
| | | | | | | There was 32-bit calculation overflow. Use div_u64. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] xc4000: remove unnecessary break after gotoFabian Frederick2014-07-22
| | | | | Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] xc5000: remove unnecessary break after gotoFabian Frederick2014-07-22
| | | | | Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>