summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/cx24123.c
Commit message (Collapse)AuthorAgeFilesLines
* [media] move the dvb/frontends to drivers/media/dvb-frontendsMauro Carvalho Chehab2012-08-131-1165/+0
| | | | | | | Raise the DVB frontends one level up, as the intention is to remove the drivers/media/dvb directory. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb: Remove ops->info.type from frontendsMauro Carvalho Chehab2012-01-041-1/+0
| | | | | | | | | Now that this field is deprecated, and core generates it for DVBv3 calls, remove it from the drivers. It also adds .delsys on the few drivers where this were missed. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb: don't require a parameter for get_frontendMauro Carvalho Chehab2011-12-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Just like set_frontend, use the dvb cache properties for get_frontend. This is more consistent, as both functions are now symetric. Also, at the places get_frontend is called, it makes sense to update the cache. Most of this patch were generated by this small perl script: while (<>) { $file .= $_; } if ($file =~ m/\.get_frontend\s*=\s*([\d\w_]+)/) { my $get = $1; $file =~ s/($get)(\s*\([^\,\)]+)\,\s*struct\s+dtv_frontend_properties\s*\*\s*([_\d\w]+)\)\s*\{/\1\2)\n{\n\tstruct dtv_frontend_properties *\3 = &fe->dtv_property_cache;/g; } print $file; Of course, the changes at dvb_frontend.[ch] were made by hand, as well as the changes on a few other places, where get_frontend() is called internally inside the driver. On some places, get_frontend() were just a void function. Those occurrences were removed, as the DVB core handles such cases. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb-core: Don't pass DVBv3 parameters on tune() fopsMauro Carvalho Chehab2011-12-311-2/+2
| | | | | | | | | As all parameters are passed via DVBv5 to the frontends, there's no need to pass them again via fops. Also, most drivers weren't using it anyway. So, instead, just pass a parameter to indicate if the hardware algorithm wants the driver to re-tune or not. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx23123: convert set_fontend to use DVBv5 parametersMauro Carvalho Chehab2011-12-311-20/+20
| | | | | | | | | | | Instead of using dvb_frontend_parameters struct, that were designed for a subset of the supported standards, use the DVBv5 cache information. Also, fill the supported delivery systems at dvb_frontend_ops struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx23123: remove an unused argument from cx24123_pll_writereg()Mauro Carvalho Chehab2011-12-311-6/+5
| | | | | | | cx24123_pll_writereg doesn't use dvb_frontend_parameters. Just remove it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb-core: add support for a DVBv5 get_frontend() callbackMauro Carvalho Chehab2011-12-311-1/+1
| | | | | | | | | | Creates a DVBv5 get_frontend call, renaming the DVBv3 one to get_frontend_legacy(), while not all frontends are converted. After the conversion for all drivers, get_frontend_legacy() will be removed. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] Rename set_frontend fops to set_frontend_legacyMauro Carvalho Chehab2011-12-311-1/+1
| | | | | | | | | | | | | Passing DVBv3 parameters to set_frontend is not fun, as the core doesn't have any way to know if the driver is using the v3 or v5 parameters. So, rename the callback and add a new one to allow distinguish between a mixed v3/v5 paramenter call from a pure v5 call. After having all frontends to use the new way, the legacy call can be removed. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] tuners: remove dvb_frontend_parameters from set_params()Mauro Carvalho Chehab2011-12-311-1/+1
| | | | | | | | | | | This is a big patch, yet trivial: now that all tuners use the DVBv5 way to pass parameters (e. g. via fe->dtv_property_cache), the extra parameter can be removed from set_params() call. After this change, very few DVBv3 specific stuff are left at the tuners. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* Fix common misspellingsLucas De Marchi2011-03-311-1/+1
| | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
* [media] i2c: Stop using I2C_CLASS_TV_DIGITALJean Delvare2010-10-211-1/+0
| | | | | | | | | | Detection class I2C_CLASS_TV_DIGITAL is set by many adapters but no I2C device driver is setting it anymore, which means it can be dropped. I2C devices on digital TV adapters are instantiated explicitly these days, which is much better. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (12197): Remove unnecessary semicolonsJoe Perches2009-09-121-1/+1
| | | | | | | | | | Cc: Patrick Boettcher <patrick.boettcher@desy.de> Cc: Steven Toth <stoth@linuxtv.org> Cc: Igor M. Liplianin <liplianin@netup.ru> Cc: Srinivasa Deevi <srinivasa.deevi@conexant.com> Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (10662): remove redundant memset after kzallocMatthias Schwarzott2009-03-301-2/+2
| | | | | | | | | | | | | | | Hi there! While having a look at the allocation of struct dvb_frontend in *_attach functions, I found some cases calling memset after kzalloc. This is redundant, and the attached patch removes these calls. I also changed one case calling kmalloc and memset to kzalloc. Regards Matthias Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (9260): cx24123: Checkpatch complianceSteven Toth2008-10-171-100/+128
| | | | | | | cx24123: Checkpatch compliance Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (8837): dvb: fix I2C adapters name sizeJean Delvare2008-09-031-2/+2
| | | | | | | | | | | | | | | Some DVB drivers are incorrectly assuming that the size of i2c_adapter.name is I2C_NAME_SIZE. Here's a fix. Also change strncpy to strlcpy, as the former is error-prone (and was indeed incorrectly used.) Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Uwe Bugla <uwe.bugla@gmx.de> Reviewed-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (8805): Steven Toth email address changeSteven Toth2008-09-031-1/+1
| | | | | | | | I need this so I can better isolate my linux email from my corporate email. Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* V4L/DVB (7470): CX24123: preparing support for CX24113 tunerPatrick Boettcher2008-04-241-100/+204
| | | | | | | | | | | To support a new device based on CX24123 (using the CX24113-tuner) the following was done: - added two parameters to de-select the internal PLL-driver (for CX24108) and a AGC-function callback. - added a virtual i2c-adapter which allow simple access behind the i2c-gate - cleanup up some code Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media filesMauro Carvalho Chehab2007-10-091-1/+0
| | | | | | | Since at least kernel 2.6.12-rc2, module.h includes moduleparm.h. This patch removes all occurences of moduleparm.h from drivers/media files. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (5840): fix dst and cx24123: tune() callback changed signess for delayMauro Carvalho Chehab2007-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | tune() dvb_frontend callback changed delay signess: int (*tune)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params, unsigned int mode_flags, - int *delay, + unsigned int *delay, This change caused warnings on cx24123 and dst modules: /home/v4l/master/v4l/cx24123.c:1034: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1782: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1808: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1837: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1860: warning: initialization from incompatible pointer type This patch corrects the function prototype on both modules to follow the core change. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (5202): DVB: Use ARRAY_SIZE macro when appropriateAhmed S. Darwish2007-02-211-3/+3
| | | | | | | | | Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com> Acked-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4699): CX24109 patch to eliminate the weird mis-tuningsSteven Toth2006-10-031-2/+2
| | | | | | | | | | A number of people have been reporting wierd tuning problems with various cards. Yeasah tracked down the problem to a miss-read datasheet. This resolves the problems. Signed-off-by: Yeasah Pell <yeasah@schwide.net> Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4479): LNB voltage control was inverted for the benefit of ↵Yeasah Pell2006-09-261-0/+7
| | | | | | | | | | | | | | | geniatech cards on Kworld 1) It sets LNBDCPol differently based on the card type. Now it should work properly for both the kworld and geniatech cards. 2) It stops returning an error for the SEC_VOLTAGE_OFF voltage command (the cx88-dvb level handles the actual voltage on/off, but it still passes the ioctl down to the cx24123 level, which previously rejected the OFF as invalid so the ioctl would report failure) Acked-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Yeasah Pell <yeasah@schwide.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4477): Improve hardware algorithm by setting the appropriate registersMauro Carvalho Chehab2006-09-261-3/+7
| | | | | | | | | Hardware algorithm needs to be configured to: 1) Increase timeout constants, to detect weaker signals; 2) do a wider zigzag search. Acked-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4435): HW algoYeasah Pell2006-09-261-0/+25
| | | | | | | | Change this card to use HW ALGO tuning Signed-off-by: Yeasah Pell <yeasah@schwide.com> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4434): Change BER configYeasah Pell2006-09-261-39/+11
| | | | | | | | | Change the bit error counter configuration to be the actual BER. Originally it was reporting UCB. Signed-off-by: Yeasah Pell <yeasah@schwide.com> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4433): Soft decision thresholdYeasah Pell2006-09-261-0/+6
| | | | | | | | Set the Soft decision threshold properly for the specified FEC Signed-off-by: Yeasah Pell <yeasah@schwide.com> Signed-off-by: Manu Abraham <manu@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4284): Cx24123: fix set_voltage function according to the specsSaqeb Akhter2006-06-301-2/+2
| | | | | | | | | | | The set_voltage function in cx24123.c was corrected to match how it is described in the CX24123 specs, producing the correct behaviour for cards that require it. Acked-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Saqeb Akhter <johoja@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4028): Change dvb_frontend_ops to be a real field instead of a ↵Patrick Boettcher2006-06-251-5/+3
| | | | | | | | | | | | | | | | | | pointer field inside dvb_frontend The dvb_frontend_ops is a pointer inside dvb_frontend. That's why every demod-driver is having a field of dvb_frontend_ops in its private-state-struct and using the reference for filling the pointer-field in dvb_frontend. - It saves at least two lines of code per demod-driver, - reduces object size (one less dereference per frontend_ops-access), - be coherent with dvb_tuner_ops, - makes it a little bit easier for newbies to understand how it works and - avoids stupid mistakes because you would have to copy the dvb_frontend_ops always, before you could assign the static pointer directly, which was dangerous. Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (4012): Fix cx24123 diseqcAndrew de Quincey2006-06-251-136/+48
| | | | | | | | | Rework diseqc support to be more in line with the other demod drivers. Fix Nova-S-Plus/Nova-SE2 diseqc. Cleanup API. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (3869): Convert cx24123 to refactored tuner codeAndrew de Quincey2006-06-251-3/+0
| | | | | | | | Convert to tuner_ops calls. Remove pll function pointers from structure. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (3804): Tweak bandselect setup fox cx24123Yeasah Pell2006-05-121-37/+60
| | | | | | | | | | | *) Allow forcing the bandselect value with a module parameter to facilitate determining the correct bandselect frequencies. *) Changes the bandselect frequency thresholds based on experiments with the above parameter in conjunction with the values in the spec. Signed-off-by: Yeasah Pell <yeasah at schwide.net> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (3803): Various correctness fixes to tuning.Yeasah Pell2006-05-121-64/+108
| | | | | | | | | | | | | | | | | *) Sets an additional tuner parameter (demodulator sample gain) that wasn't being set before. *) Removes the low symbol rate tuner parameter tweaks in the previous patch -- it appears those tweaks are not necessary with the demodulator sample gain set correctly. *) Cleanup and document the demodulator register initialization sequence. *) Change set_fec routine to disable FEC auto scan when a specific code rate is selected. *) Remove error message when reported FEC is invalid (which happens sometimes when the card has no signal) Signed-off-by: Yeasah Pell <yeasah at schwide.net> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (3797): Always wait for diseqc queue to become ready before ↵Yeasah Pell2006-05-121-10/+22
| | | | | | | | | | transmitting a diseqc message The previous DISEQC code didn't wait, so it was unreliable Signed-off-by: Yeasah Pell <yeasah at schwide.net> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (3796): Add several debug messages to cx24123 codeMauro Carvalho Chehab2006-05-121-3/+51
| | | | | | | | | | Current debug messages at cx24123 are next to useless, since they don't print the values sent/read to registers. With this patch, debug=1 will show comprehensive messages. debug=2 will show also read/write operations at I2C bus. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
* V4L/DVB (3795): Fix for CX24123 & low symbol ratesVadim Catana2006-05-121-81/+181
| | | | | | | | | | | | | | | | | | | - fixed the reception of channels with low symbol rates. ( The VGA1 and VGA2 offsets recommended by cx24109 docs for symbol rates from 1 to 5 MSps do not work. I changed them to values found experimentally. The charge pump current and FILTUNE voltage are now set to values recommended in the docs. This improves reception for symbol rates < 15 MSps. The values written in the SYSSymbolRate registers are calculated with better precision. ) - fixed the cx24123_get_fec() function. It was returning the values for DCII mode. - removed some unused variables Signed-off-by: Vadim Catana <skystar at moldova.cc> Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* V4L/DVB (3130): cx24123: cleanup timout handlingSteven Toth2006-01-091-23/+16
| | | | | | | | | - Cleanup timeout handling in cx24123_pll_writereg(), and use a reasonable value for the timeout. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
* DVB (2451): Add support for KWorld DVB-S 100, based on the same chips as ↵Vadim Catana2006-01-091-21/+77
| | | | | | | | | | | | | | | | Hauppauge - Add support for KWorld DVB-S 100, based on the same chips as Hauppauge Nova-S Plus (CX23883/CX24123/CX24109), without the Intersil ISL6421, which is used for LNB control. - LNB voltage and tone are controled by LNBDC and LNBTone bits from register 0x29 of the CX24123 demodulator. - The MO_GP0_IO register from CX23883 is used to turn LNB power on and off. Signed-off-by: Vadim Catana <skystar@moldova.cc> Acked-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
* DVB (2446): Minor cleanups.Johannes Stezenbach2006-01-091-46/+192
| | | | | | | - Minor cleanups. Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
* DVB (2445): Added demodulator driver for Nova-S-Plus and Nova-SE2 DVB-S support.Steve Toth2006-01-091-0/+694
- Added demodulator driver for Nova-S-Plus and Nova-SE2 DVB-S support. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>