aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends
AgeCommit message (Collapse)AuthorFilesLines
2015-02-03[media] rtl2832: add platform data callbacks for exported resourcesAntti Palosaari2-8/+89
Add callback for all of those functions which are currently exported using EXPORT_SYMBOL. That allows us convert every user to callbacks and eventually all exported symbols could be removed. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-03[media] rtl2830: convert to regmap APIAntti Palosaari3-238/+182
Use regmap to cover register access routines. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-03[media] rtl2830: implement own I2C lockingAntti Palosaari2-7/+39
Own I2C locking is needed due to two special reasons: 1) Chips uses multiple register pages/banks on single I2C slave. Page is changed via I2C register access. 2) Chip offers muxed/gated I2C adapter for tuner. Gate/mux is controlled by I2C register access. Due to these reasons, I2C locking did not fit very well. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: implement PID filterAntti Palosaari3-0/+70
Implement PID filter. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: wrap DVBv5 CNR to DVBv3 SNRAntti Palosaari2-41/+4
Change legacy DVBv3 read SNR to return values calculated by DVBv5 statistics. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: wrap DVBv5 BER to DVBv3Antti Palosaari2-13/+3
Change legacy DVBv3 read BER to return values calculated by DVBv5 statistics. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: wrap DVBv5 signal strength to DVBv3Antti Palosaari1-23/+4
Change legacy DVBv3 signal strength to return values calculated by DVBv5 statistics. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: implement DVBv5 BER statisticAntti Palosaari2-0/+27
DVBv5 BER. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: implement DVBv5 signal strength statisticsAntti Palosaari1-0/+24
Estimate signal strength from IF AGC. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: implement DVBv5 CNR statisticAntti Palosaari2-0/+77
DVBv5 CNR. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: style related changesAntti Palosaari3-72/+60
Trivial changes proposed by checkpatch.pl and some more. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: get rid of internal config dataAntti Palosaari2-40/+18
Remove internal config and use configuration values directly from the platform data. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: fix loggingAntti Palosaari1-22/+21
Pass correct device for dev_foo() logging in order to print logs correctly. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: carry pointer to I2C client for every functionAntti Palosaari1-43/+54
As a I2C driver struct i2c_client is top level structure representing the driver. Use it as parameter to carry all needed information for each function in order to simplify things. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: rename 'priv' to 'dev'Antti Palosaari2-107/+107
Use name 'dev' for device state instance as it is more common and also one letter shorter. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: get rid of legacy DVB driver bindingAntti Palosaari3-164/+9
Remove legacy DVB binding as all users are using I2C binding. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] rtl2830: convert driver to kernel I2C modelAntti Palosaari4-1/+201
Convert driver to kernel I2C model. Old DVB proprietary model is still left there also. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-02-02[media] dib8000: upd_demod_gain_period should be u32Mauro Carvalho Chehab1-1/+2
X-Patchwork-Delegate: m.chehab@samsung.com As shown at the code, upd_demod_gain_period is used to write to two 16-bit registers: dib8000_write_word(state, 1946, upd_demod_gain_period & 0xFFFF); dib8000_write_word(state, 1947, reg | (1<<14) | ((upd_demod_gain_period >> 16) & 0xFF)); So, it should be declared as u32. This fixes the following smatch warning: drivers/media/dvb-frontends/dib8000.c:1282 dib8000_agc_startup() warn: right shifting more than type allows Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: change firmware variable name and typeAntti Palosaari1-9/+9
Rename firmware variable from fw_file to fw_name and change its type from u8 to const char as request_firmware() input defines. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: print chip versionAntti Palosaari1-8/+4
Print chip version once using log level into when init() is called. Remove cold/warm state printing as those are not very useful. old printing: si2168 6-0064: found a 'Silicon Labs Si2168' in cold state si2168 6-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw' si2168 6-0064: firmware version: 4.0.11 si2168 6-0064: found a 'Silicon Labs Si2168' in warm state new printing: si2168 6-0064: found a 'Silicon Labs Si2168-B40' si2168 6-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw' si2168 6-0064: firmware version: 4.0.11 Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: remove unneeded fw variable initializationAntti Palosaari1-2/+1
commit 034e1ec0ce299b9e90056793dcb3187e7add6b62 si2168: One function call less in si2168_init() after error detection That commit added goto label for error path to release firmware, but forgets to remove variable NULL set. Remove those now. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: enhance firmware download routineAntti Palosaari1-19/+15
All known old firmware firmware formats are downloaded using 8 byte chunks. Reject firmware if it could not be divided to 8 byte chunks and because of that we could simplify some calculations. Now both supported firmware download routines are rather similar. Cc: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: add own goto label for kzalloc failureAntti Palosaari1-1/+2
Use own label for kzalloc failure in which does not call kfree(). kfree() could be called with NULL, but it is still better to have own label which skips unnecessary kfree(). Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: change stream id debug log formatterAntti Palosaari1-4/+4
Change formatter from signed to unsigned as stream_id is 32bit unsigned variable. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: change firmware version print from debug to infoAntti Palosaari1-1/+1
Even firmware version is not needed to know, it is still interesting and useful to know some cases. Due to that increase its printing to info log level. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: rename few thingsAntti Palosaari2-30/+14
Rename some goto labels and more. No functionality changes. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: simplify si2168_cmd_execute() error pathAntti Palosaari1-6/+2
Remove if () from firmware command error path as there should not be any error prone conditional logic there. Use goto labels instead. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: get rid of own struct i2c_client pointerAntti Palosaari2-32/+30
We don't need that anymore as same pointer is passed to each routine via struct dvb_frontend private field. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: carry pointer to client instead of stateAntti Palosaari1-38/+45
Carry struct i2c_client pointer inside struct dvb_frontend private pointer. This driver is I2C driver, which is represented as a struct i2c_client, so better to carry this top level structure for each routine in order to unify things. This allows further simplification. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: rename device state variable from 's' to 'dev'Antti Palosaari2-102/+102
'dev' is most common name in kernel for structure containing device state instance, so rename it. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] si2168: define symbol rate limitsAntti Palosaari1-0/+2
w_scan complains about missing symbol rate limits: This dvb driver is *buggy*: the symbol rate limits are undefined - please report to linuxtv.org Chip supports 1 to 7.2 MSymbol/s on DVB-C. Cc: stable@vger.kernel.org Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] lgdt3305: add support for fixed tp clock modeMichael Ira Krufky2-0/+9
Add support for controlling TP clock mode for VSB and QAM annex-B/C mode. Gated clock mode is the default value, and does not support QAM annex-C. The patch enables setting this control to fixed clock mode. Signed-off-by: Michael Ira Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-29[media] lgdt3305: we only need to pass state into lgdt3305_mpeg_mode_polarity()Michael Ira Krufky1-9/+5
Simplify the code a little bit by removing some uneeded arguments to lgdt3305_mpeg_mode_polarity(). Signed-off-by: Michael Ira Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-27[media] rtl2832: convert driver to I2C bindingAntti Palosaari3-0/+119
Convert that driver to I2C driver model. Legacy DVB binding is left also for later removal... Tested-by: Benjamin Larsson <benjamin@southpole.se> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-27[media] media: stb0899_drv: use time_after()Asaf Vertz1-3/+4
To be future-proof and for better readability the time comparisons are modified to use time_after() instead of plain, error-prone math. Signed-off-by: Asaf Vertz <asaf.vertz@tandemg.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-26[media] mb86a20s: remove unused debug modprobe parameterMauro Carvalho Chehab1-4/+0
The debug parameter is not used anymore, as this module was converted already to use dev_dbg(). Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-01-26[media] Si2168: increase timeout to fix firmware loadingJurgen Kramer1-1/+1
Increase si2168 cmd execute timeout to prevent firmware load failures. Tests shows it takes up to 52ms to load the 'dvb-demod-si2168-a30-01.fw' firmware. Increase timeout to a safe value of 70ms. Signed-off-by: Jurgen Kramer <gtmkramer@xs4all.nl> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-23[media] mn88472: calculate the IF register valuesBenjamin Larsson1-0/+6
Add xtal as a configuration parameter so it can be used in the IF register value calculation. Signed-off-by: Benjamin Larsson <benjamin@southpole.se> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-23[media] hd29l2: fix sparse error and warningsHans Verkuil1-3/+7
drivers/media/dvb-frontends/hd29l2.c:29:18: warning: Variable length array is used. drivers/media/dvb-frontends/hd29l2.c:34:32: error: cannot size expression drivers/media/dvb-frontends/hd29l2.c:125:5: warning: symbol 'hd29l2_rd_reg_mask' was not declared. Should it be static? Variable length arrays are frowned upon, so replace with a fixed length and check that there won't be a buffer overrun. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-22[media] media: remove emacs editor variablesHans Verkuil13-74/+0
1) This is not allowed by the kernel coding style 2) Just configure your editor correctly 3) It's really ugly Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] stv090x: add an extra protetion against buffer overflowMauro Carvalho Chehab1-0/+6
As pointed by smatch: drivers/media/dvb-frontends/stv090x.c:2787 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 drivers/media/dvb-frontends/stv090x.c:2789 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 drivers/media/dvb-frontends/stv090x.c:2791 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 drivers/media/dvb-frontends/stv090x.c:2793 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 drivers/media/dvb-frontends/stv090x.c:2795 stv090x_optimize_carloop() error: buffer overflow 'car_loop_apsk_low' 11 <= 13 The situation of a buffer overflow won't happen, in practice, with the current values of car_loop table. Yet, the entire logic that checks for those registration values is too complex. So, better to add an explicit check, just in case someone changes the car_loop tables causing a buffer overflow by mistake. This also helps to remove several smatch warnings, with is good. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] stv090x: Remove an unreachable codeMauro Carvalho Chehab1-4/+0
if STV090x_RANGEOK is not returned, then STV090x_OUTOFRANGE is returned. However, that part of the code is never reached, as pointed by smatch: drivers/media/dvb-frontends/stv090x.c:2673 stv090x_get_sig_params() info: ignoring unreachable code. So, remove the two uneeded elses, with makes the code a little bit cleaner. No functional changes, and one less smatch warning. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] stv090x: Some whitespace cleanupsMauro Carvalho Chehab1-16/+16
While writing changeset fdf1bc9fa2cf, I noticed some checkpatch complains about the CodingStyle for function parameters. So, clean them. While here, also removes uneeded "extern" from function prototype. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] si2168: add support for firmware files in new formatOlli Salonen1-13/+31
This patch adds support for new type of firmware versions of Si2168 chip. Old type: n x 8 bytes (all data, first byte seems to be 04 or 05) New type: n x 17 bytes (1 byte indicates len and max 16 bytes data) New version of TechnoTrend CT2-4400 drivers (http://www.tt-downloads.de/bda-treiber_4.3.0.0.zip) contains newer firmware for Si2168-B40 that is in the new format. It can be extracted with the following command: dd if=ttTVStick4400_64.sys ibs=1 skip=323872 count=6919 of=dvb-demod-si2168-b40-01.fw Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] si2168: debug printout for firmware versionOlli Salonen1-0/+11
A debug printout for firmware version. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] cx24117: Grammar s/if ... if/if ... is/Geert Uytterhoeven1-1/+1
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] stv090x: remove export symbol for stv090x_set_gpio()Mauro Carvalho Chehab2-15/+10
Drivers that use dvb_attach can have just one exported symbol, or they will cause compilation breakages depending on the selected frontends. As Jim reported: drivers/built-in.o: In function `technisat_usb2_set_voltage': technisat-usb2.c:(.text+0x3b4919): undefined reference to `stv090x_set_gpio' make: *** [vmlinux] Error 1 That happens because, on his configuration, the configuration is: CONFIG_DVB_USB=y CONFIG_DVB_STV090x=m Luis proposed ar way to fix, but that would just force the STV090x to be selected, even if one wants to use a device with a different frontend. Instead, let's do the right thing: move set_gpio to the configuration structure and fill it during dvb_attach(). This way, the driver can still call it, and dvb_attach() will load stv090x module only if the device really needs it. Reported by: Jim Davis <jim.epost@gmail.com> Cc: Luis Rodriguez <mcgrof@suse.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04[media] rtl2832_sdr: control ADCAntti Palosaari1-0/+8
Recent rtl28xxu patch I made moved demod ADC enable from power control to frontend control (due to slave demod support). Because of that we need call USB interface frontend control too in order to enable ADC. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-25[media] si2168: One function call less in si2168_init() after error detectionMarkus Elfring1-4/+5
GIT_AUTHOR_DATE=1416472767 The release_firmware() function was called in some cases by the si2168_init() function during error handling even if the passed variable contained still a null pointer. This implementation detail could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-11-25[media] m88ds3103: One function call less in m88ds3103_init() after error detectionMarkus Elfring1-5/+6
GIT_AUTHOR_DATE=1416472158 The release_firmware() function was called in some cases by the m88ds3103_init() function during error handling even if the passed variable contained still a null pointer. This implementation detail could be improved by the introduction of another jump label. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>