summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/rtl2830.c
Commit message (Collapse)AuthorAgeFilesLines
* [media] dvb-frontends: Drop owner assignment from i2c_driverKrzysztof Kozlowski2015-08-111-1/+0
| | | | | | | | i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] dvb: Get rid of typedev usage for enumsMauro Carvalho Chehab2015-06-091-1/+1
| | | | | | | | | | | | | | | | | The DVB API was originally defined using typedefs. This is against Kernel CodingStyle, and there's no good usage here. While we can't remove its usage on userspace, we can avoid its usage in Kernelspace. So, let's do it. This patch was generated by this shell script: for j in $(grep typedef include/uapi/linux/dvb/frontend.h |cut -d' ' -f 3); do for i in $(find drivers/media -name '*.[ch]' -type f) $(find drivers/staging/media -name '*.[ch]' -type f); do sed "s,${j}_t,enum $j," <$i >a && mv a $i; done; done While here, make CodingStyle fixes on the affected lines. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de> # for drivers/media/firewire/*
* [media] rtl2830: declare functions as staticMauro Carvalho Chehab2015-02-031-6/+6
| | | | | | | | | | | | | | | drivers/media/dvb-frontends/rtl2830.c:21:5: warning: no previous prototype for ‘rtl2830_bulk_write’ [-Wmissing-prototypes] int rtl2830_bulk_write(struct i2c_client *client, unsigned int reg, ^ drivers/media/dvb-frontends/rtl2830.c:33:5: warning: no previous prototype for ‘rtl2830_update_bits’ [-Wmissing-prototypes] int rtl2830_update_bits(struct i2c_client *client, unsigned int reg, ^ drivers/media/dvb-frontends/rtl2830.c:45:5: warning: no previous prototype for ‘rtl2830_bulk_read’ [-Wmissing-prototypes] int rtl2830_bulk_read(struct i2c_client *client, unsigned int reg, void *val, ^ Cc: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] rtl2830: convert to regmap APIAntti Palosaari2015-02-031-236/+179
| | | | | | | 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>
* [media] rtl2830: implement own I2C lockingAntti Palosaari2015-02-031-7/+38
| | | | | | | | | | | | | 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>
* [media] rtl2830: implement PID filterAntti Palosaari2015-02-021-0/+67
| | | | | | | Implement PID filter. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] rtl2830: wrap DVBv5 CNR to DVBv3 SNRAntti Palosaari2015-02-021-41/+3
| | | | | | | | 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>
* [media] rtl2830: wrap DVBv5 BER to DVBv3Antti Palosaari2015-02-021-13/+2
| | | | | | | | 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>
* [media] rtl2830: wrap DVBv5 signal strength to DVBv3Antti Palosaari2015-02-021-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>
* [media] rtl2830: implement DVBv5 BER statisticAntti Palosaari2015-02-021-0/+25
| | | | | | | DVBv5 BER. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] rtl2830: implement DVBv5 signal strength statisticsAntti Palosaari2015-02-021-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>
* [media] rtl2830: implement DVBv5 CNR statisticAntti Palosaari2015-02-021-0/+74
| | | | | | | DVBv5 CNR. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
* [media] rtl2830: style related changesAntti Palosaari2015-02-021-65/+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>
* [media] rtl2830: get rid of internal config dataAntti Palosaari2015-02-021-26/+17
| | | | | | | | 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>
* [media] rtl2830: fix loggingAntti Palosaari2015-02-021-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>
* [media] rtl2830: carry pointer to I2C client for every functionAntti Palosaari2015-02-021-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>
* [media] rtl2830: rename 'priv' to 'dev'Antti Palosaari2015-02-021-106/+106
| | | | | | | | 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>
* [media] rtl2830: get rid of legacy DVB driver bindingAntti Palosaari2015-02-021-101/+0
| | | | | | | 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>
* [media] rtl2830: convert driver to kernel I2C modelAntti Palosaari2015-02-021-0/+167
| | | | | | | | 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>
* [media] rtl2830: add parent for I2C adapterAntti Palosaari2013-12-091-0/+1
| | | | | | | | | i2c i2c-6: adapter [RTL2830 tuner I2C adapter] registered BUG: unable to handle kernel NULL pointer dereference at 0000000000000220 IP: [<ffffffffa0002900>] i2c_register_adapter+0x130/0x390 [i2c_core] Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb-frontends: Don't use dynamic static allocationMauro Carvalho Chehab2013-11-081-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamic static allocation is evil, as Kernel stack is too low, and compilation complains about it on some archs: drivers/media/dvb-frontends/af9013.c:77:1: warning: 'af9013_wr_regs_i2c' uses dynamic stack allocation [enabled by default] drivers/media/dvb-frontends/af9033.c:188:1: warning: 'af9033_wr_reg_val_tab' uses dynamic stack allocation [enabled by default] drivers/media/dvb-frontends/af9033.c:68:1: warning: 'af9033_wr_regs' uses dynamic stack allocation [enabled by default] drivers/media/dvb-frontends/bcm3510.c:230:1: warning: 'bcm3510_do_hab_cmd' uses dynamic stack allocation [enabled by default] drivers/media/dvb-frontends/cxd2820r_core.c:84:1: warning: 'cxd2820r_rd_regs_i2c.isra.1' uses dynamic stack allocation [enabled by default] drivers/media/dvb-frontends/rtl2830.c:56:1: warning: 'rtl2830_wr' uses dynamic stack allocation [enabled by default] drivers/media/dvb-frontends/rtl2832.c:187:1: warning: 'rtl2832_wr' uses dynamic stack allocation [enabled by default] drivers/media/dvb-frontends/tda10071.c:52:1: warning: 'tda10071_wr_regs' uses dynamic stack allocation [enabled by default] drivers/media/dvb-frontends/tda10071.c:84:1: warning: 'tda10071_rd_regs' uses dynamic stack allocation [enabled by default] Instead, let's enforce a limit for the buffer. Considering that I2C transfers are generally limited, and that devices used on USB has a max data length of 64 bytes for the control URBs. So, it seem safe to use 64 bytes as the hard limit for all those devices. On most cases, the limit is a way lower than that, but this limit is small enough to not affect the Kernel stack, and it is a no brain limit, as using smaller ones would require to either carefully each driver or to take a look on each datasheet. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
* [media] rtl2830.c: get rid of warning: no previous prototypeMauro Carvalho Chehab2012-10-271-3/+3
| | | | | | | | | drivers/media/dvb-frontends/rtl2830.c:133:5: warning: no previous prototype for 'rtl2830_wr_reg_mask' [-Wmissing-prototypes] drivers/media/dvb-frontends/rtl2830.c:153:5: warning: no previous prototype for 'rtl2830_rd_reg_mask' [-Wmissing-prototypes] drivers/media/dvb-frontends/rtl2830.c:259:5: warning: no previous prototype for 'rtl2830_get_tune_settings' [-Wmissing-prototypes] Cc: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] rtl2830: declare two tables as constantAntti Palosaari2012-09-231-15/+8
| | | | | | | | This optimizes few hundred bytes from data to text segment. Also remove one unused function that was commented out already. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] rtl2830: use .get_if_frequency()Antti Palosaari2012-09-231-24/+33
| | | | | | | | Use .get_if_frequency() as all used tuner drivers (mt2060/qt1010/mxl5005s) supports it. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] rtl2830: use Kernel dev_foo() loggingAntti Palosaari2012-09-231-22/+24
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] move the dvb/frontends to drivers/media/dvb-frontendsMauro Carvalho Chehab2012-08-131-0/+757
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>
OpenPOWER on IntegriCloud