Commit Graph

91 Commits

Author SHA1 Message Date
Antti Palosaari
3509cbdfac [media] af9015: remove old FW based IR polling code
Remove old code which is not used anymore since IR code is read
directly from memory nowadays.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27 17:55:58 -03:00
Antti Palosaari
709d92083a [media] af9015: add more I2C msg checks
Return EOPNOTSUPP for too long messages.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27 17:55:57 -03:00
Antti Palosaari
16b2dc2a8b [media] af9015: small optimization
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27 17:55:57 -03:00
Antti Palosaari
ae81aab3fa [media] af9015: map remote for MSI DIGIVOX Duo
Reported-by: Jacek M. Holeczek <jacek.m.holeczek@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27 17:55:56 -03:00
Juergen Lock
879b0d7957 [media] af9015: setup rc keytable for LC-Power LC-USB-DVBT
That's this tuner:

The credit card sized remote more or less works if I set remote=4,
so I added the hash to get it autodetected.  (`more or less' there
meaning sometimes buttons are `stuck on repeat', i.e. ir-keytable -t
keeps repeating the same scancode until i press another button.)

Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-07-27 17:55:56 -03:00
Antti Palosaari
582e565cae [media] af9015: reimplement firmware download
Split FW download packages smarter way and bug free. Implementation is
based of Andrea Merello's example he provided for tda18218 driver.
Count remaining FW bytes down in loop instead of division and modulo
combination used earlier.

Thanks-to: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-22 04:54:58 -03:00
Antti Palosaari
04599c2b1f [media] af9015: map remote for TerraTec Cinergy T Stick RC
Map rc-terratec-slim-2 for TerraTec Cinergy T Stick RC device.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: Martin Groszhauser <mgroszhauser@gmail.com>
Cc: TerraTux <TerraTux@terratec.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-22 04:54:57 -03:00
Antti Palosaari
1e8750c2ac [media] af9015: small RC change
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-22 04:54:53 -03:00
Ian Armstrong
c1e13971b1 [media] af9015: enhance RC
Patch from Ian Armstrong.

I've encountered a couple of problems with the current af9015 driver as
supplied with the 2.6.37 kernel, that the attached patch appears to fix. (I've
generated this patch against the current v4l-dvb git).

Some key-presses are lost. A key-press is only generated upon 'valid' data
(buf[14] == (u8) ~buf[15]), but the buffer is wiped before this check.
Sometimes the 15th byte has not been set at the time of read, so the data
isn't valid & ignored. On the next poll the 15th byte has been set, but the
rest of the data was wiped previously, so the data is still invalid & the key
is lost.

Weird repeat error, where an old key press is sometimes repeated in error. ie.
button sequence '1 (pause) 2 (pause) 3 (pause) 4' generates output like '1
(pause) 2 (pause) 23 (pause) 4'. The current driver zeroes the data for the
key pushed, but sometimes this data is already zero but with other bytes set
suggesting a repeat code. This results in the last key being incorrectly
repeated.

This patch attempts to reduce the risk of a missed key-press & also stop the
random repeat of an old key-press when a new key is pressed.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-03-22 04:54:52 -03:00
Mauro Carvalho Chehab
52b661449a [media] rc: Rename remote controller type to rc_type instead of ir_type
for i in `find drivers/staging -type f -name *.[ch]` `find include/media -type f -name *.[ch]` `find drivers/media -type f -name *.[ch]`; do sed s,IR_TYPE,RC_TYPE,g <$i >a && mv a $i; done
for i in `find drivers/staging -type f -name *.[ch]` `find include/media -type f -name *.[ch]` `find drivers/media -type f -name *.[ch]`; do sed s,ir_type,rc_type,g <$i >a && mv a $i; done

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-12-29 08:16:50 -02:00
Mauro Carvalho Chehab
ca86674b8a [media] Rename all public generic RC functions from ir_ to rc_
Those functions are not InfraRed specific. So, rename them to properly
reflect it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-12-29 08:16:50 -02:00
David Härdeman
d8b4b5822f [media] ir-core: make struct rc_dev the primary interface
This patch merges the ir_input_dev and ir_dev_props structs into a single
struct called rc_dev. The drivers and various functions in rc-core used
by the drivers are also changed to use rc_dev as the primary interface
when dealing with rc-core.

This means that the input_dev is abstracted away from the drivers which
is necessary if we ever want to support multiple input devs per rc device.

The new API is similar to what the input subsystem uses, i.e:
rc_device_alloc()
rc_device_free()
rc_device_register()
rc_device_unregister()

[mchehab@redhat.com: Fix compilation on mceusb and cx231xx, due to merge conflicts]
Signed-off-by: David Härdeman <david@hardeman.nu>
Acked-by: Jarod Wilson <jarod@redhat.com>
Tested-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-12-29 08:16:37 -02:00
Mauro Carvalho Chehab
7655e59494 [media] af9015: Fix max I2C message size when used with tda18271
Changeset 1724c8fa7e added an option to change
the maximum I2C size to 8 bytes. However, it forgot to replace the previous
usage at af9015 to use the newly defined macro value
(TDA18271_16_BYTE_CHUNK_INIT).

A latter changeset (e350d44fed) extended the
possible values for .small_i2c field and, instead of using a random sequence
of numbers, it used a number that makes more sense (e. g. the actual limit,
in terms of bytes).

However, as af9015 were using .small_i2c = 1, this become undefined, and the
restriction of a max size of 16 was gone.

While here, fix the reported msg size at tda18271-common.c.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
Tested-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-27 15:02:35 -02:00
Antti Palosaari
f8c6127443 [media] af9015: support for DigitalNow TinyTwin v3 [1f4d:9016]
It is AF9015+AF9013+2xMXL5007T.

Tanks to Bernard Giannetti and DigitalNow for the help!

Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: Renura Enterprises Pty Ltd <renura@digitalnow.com.au>
Cc: Bernard Giannetti <thebernmeister@hotmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23 11:13:38 -02:00
Antti Palosaari
bd864ce353 [media] af9015: map DigitalNow TinyTwin v2 remote
Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: Renura Enterprises Pty Ltd <renura@digitalnow.com.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23 11:12:17 -02:00
Antti Palosaari
74c8e3ad0e [media] af9015: RC fixes and improvements
Read all remote	controller registers at	once to	reduce USB remote polling traffic.
Use .rc_codes() to disable / enable remote polling instead of .rc_query().

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23 11:11:28 -02:00
Jean Delvare
a90f933507 [media] i2c: Stop using I2C_CLASS_TV_DIGITAL
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>
2010-10-21 07:54:26 -02:00
Antti Palosaari
1cd72781db [media] af9015: move remote controllers to new RC core
Use new RC core instead of old legacy RC implementation.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:18:14 -02:00
Antti Palosaari
675375d7ae [media] af9015: remove needless variable set
Variable is don't care in that case. No need to set value.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:18:00 -02:00
Antti Palosaari
9a3ecc7382 [media] af9015: make checkpatch.pl happy
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:17:59 -02:00
Yann E. MORIN
8ccdf1ae9d [media] v4l/dvb: add support for AVerMedia AVerTV Red HD+ (A850T)
The AVerTV Red HD+ (A850T) is basically the same as the existing
AVerTV Volar Black HD (A850), but is specific to the french market.
The A850T identifies itself as a A850, but has its own PID. It even
suffers from the same EEPROM deficiencies.

This is based off a collection of information gathered from the
french support forums for Ubuntu, which I tried to properly format
into this patch:
  http://forum.ubuntu-fr.org/viewtopic.php?pid=3322825

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:17:58 -02:00
Antti Palosaari
ed19a5db78 V4L/DVB: af9015: use value from config instead hardcoded one
Replace 2nd demod default address 0x3a with value got from eeprom config.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:05:52 -02:00
Antti Palosaari
d3bb73de97 V4L/DVB: af9015: reimplement remote controller
Remove HID and polling via firmware API. Implement direct access to remote codes via memory read and write.

HID and polling via firmware api never worked 100% well and there was also some limitations which tied used remote and device together.

After that it is possible to use upcoming kernel remote controller core.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:05:52 -02:00
Antti Palosaari
2ec01b41e3 V4L/DVB: af9015: map TerraTec Cinergy T Stick Dual RC remote to device ID
Detect TerraTec Cinergy T Stick Dual RC	remote config using device
USB ID instead of device EEPROM hash. It was found that there is
devices	with slightly different EEPROM content...

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:05:52 -02:00
Antti Palosaari
86dcab6445 V4L/DVB: af9015: add remote support for TerraTec Cinergy T Stick Dual RC
Thanks to the TerraTec!

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:05:52 -02:00
Antti Palosaari
ab07fdd691 V4L/DVB: af9015: add support for TerraTec Cinergy T Stick Dual RC
Add USB ID [0ccd:0099] for TerraTec Cinergy T Stick Dual RC.
Device is based for AF9015 + AF9013 + 2 x MxL5007T chips.

Thanks to the TerraTec!

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:05:51 -02:00
Antti Palosaari
76391a7154 V4L/DVB: af9015: fix bug introduced by commit 490ade7e3f4474f626a8f5d778ead4e599b94fbc
Commit 490ade7e3f4474f626a8f5d778ead4e599b94fbc	merge conflict fix
leads situation	where last nine device definitions were overridden mistakenly.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:05:51 -02:00
Antti Palosaari
a44b91d9fe V4L/DVB: af9015: simple comment update
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:05:50 -02:00
Stefan Lippers-Hollmann
d7ef485daa V4L/DVB: af9015: add USB ID for Terratec Cinergy T Stick RC MKII
Adding the USB ID for my TerraTec Electronic GmbH Cinergy T RC MKII
[0ccd:0097] and hooking it up into af9015, on top of your new NXP TDA18218
patches, makes it work for me.

Just the shipped IR remote control doesn't seem to create keycode events
yet (tested with different remote=%d parameters), are there any hints to
add support for that?

[    2.250022] usb 1-10: new high speed USB device using ehci_hcd and address 5
[    2.369287] usb 1-10: New USB device found, idVendor=0ccd, idProduct=0097
[    2.369290] usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.369293] usb 1-10: Product: USB2.0 DVB-T TV Stick
[    2.369294] usb 1-10: Manufacturer: NEWMI
[    2.369296] usb 1-10: SerialNumber: 010101010600001
[    2.534023] usbcore: registered new interface driver hiddev
[    2.537235] input: NEWMI USB2.0 DVB-T TV Stick as /devices/pci0000:00/0000:00:02.1/usb1/1-10/1-10:1.1/input/input0
[    2.537323] generic-usb 0003:0CCD:0097.0001: input,hidraw0: USB HID v1.01 Keyboard [NEWMI USB2.0 DVB-T TV Stick] on usb-0000:00:02.1-10/input1
[    2.537349] usbcore: registered new interface driver usbhid
[    2.537351] usbhid: USB HID core driver
[    3.263177] generic-usb 0003:04D9:1603.0002: input,hidraw1: USB HID v1.10 Keyboard [  USB Keyboard] on usb-0000:00:02.0-8.1/input0
[    3.286946] generic-usb 0003:04D9:1603.0003: input,hidraw2: USB HID v1.10 Device [  USB Keyboard] on usb-0000:00:02.0-8.1/input1
[    3.467136] generic-usb 0003:046D:C050.0004: input,hidraw3: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:02.0-8.2/input0
[    3.660890] generic-usb 0003:10D5:000D.0005: input,hidraw4: USB HID v1.10 Keyboard [No brand SP02-A1] on usb-0000:00:02.0-8.3/input0
[    5.567632] dvb-usb: found a 'TerraTec Cinergy T Stick RC' in cold state, will try to load a firmware
[    5.693497] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[    5.773109] dvb-usb: found a 'TerraTec Cinergy T Stick RC' in warm state.
[    5.773168] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[    5.774290] DVB: registering new adapter (TerraTec Cinergy T Stick RC)
[    6.007696] af9013: firmware version:5.1.0
[    6.010843] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[    6.032697] tda18218: NXP TDA18218HN successfully identified.
[    6.034442] dvb-usb: TerraTec Cinergy T Stick RC successfully initialized and connected.
[    6.040612] usbcore: registered new interface driver dvb_usb_af9015

[mchehab@redhat.com: Fix merge conflict with another board addition]
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:04:52 -02:00
Antti Palosaari
ee3d440c0c V4L/DVB: af9015: add support for tda18218 silicon tuner
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-21 01:04:42 -02:00
Mauro Carvalho Chehab
f72a27b8ed V4L/DVB: dvb-usb: prepare drivers for using rc-core
This is a big patch, yet trivial. It just move the RC properties
to a separate struct, in order to prepare the dvb-usb drivers to
use rc-core. There's no change on the behavior of the drivers.

With this change, it is possible to have both legacy and rc-core
based code inside the dvb-usb-remote, allowing a gradual migration
to rc-core, driver per driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-02 16:43:45 -03:00
Mauro Carvalho Chehab
34abf21944 V4L/DVB: dvb-usb: get rid of struct dvb_usb_rc_key
dvb-usb has its own IR handle code. Now that we have a Remote
Controller subsystem, we should start using it. So, remove this
struct, in favor of the similar struct defined at the RC subsystem.

This is a big, but trivial patch. It is a 3 line delect, plus
lots of rename on several dvb-usb files.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-02 16:43:43 -03:00
Antti Palosaari
2606cfa3f6 V4L/DVB: af9015: support for AverMedia AVerTV Volar M (A815Mac)
Add USB ID 07ca:815a for AverMedia AVerTV Volar M (A815Mac).

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-02 16:43:10 -03:00
Mauro Carvalho Chehab
e27e971c69 V4L/DVB: rename all *_rc_keys to ir_codes_*_nec_table
Several DVB drivers use a different name convention. As we're moving
the keytables, we need to use the same convention on all places.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-19 12:56:46 -03:00
Antti Palosaari
7fc8709e4d V4L/DVB: af9015: support for KWorld TV Stick II (395UR)
Add USB ID 1b80:e39a for KWorld TV Stick II (395UR).

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18 00:46:40 -03:00
Antti Palosaari
ab9b4f2c11 V4L/DVB: af9015: support for KWorld USB DVB-T Stick Mobile (UB383-T)
Add USB ID 1b80:e383 for KWorld USB DVB-T Stick Mobile (UB383-T).

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-05-18 00:46:39 -03:00
Tejun Heo
5a0e3ad6af include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files.  percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.

percpu.h -> slab.h dependency is about to be removed.  Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability.  As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.

  http://userweb.kernel.org/~tj/misc/slabh-sweep.py

The script does the followings.

* Scan files for gfp and slab usages and update includes such that
  only the necessary includes are there.  ie. if only gfp is used,
  gfp.h, if slab is used, slab.h.

* When the script inserts a new include, it looks at the include
  blocks and try to put the new include such that its order conforms
  to its surrounding.  It's put in the include block which contains
  core kernel includes, in the same order that the rest are ordered -
  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
  doesn't seem to be any matching order.

* If the script can't find a place to put a new include (mostly
  because the file doesn't have fitting include block), it prints out
  an error message indicating which .h file needs to be added to the
  file.

The conversion was done in the following steps.

1. The initial automatic conversion of all .c files updated slightly
   over 4000 files, deleting around 700 includes and adding ~480 gfp.h
   and ~3000 slab.h inclusions.  The script emitted errors for ~400
   files.

2. Each error was manually checked.  Some didn't need the inclusion,
   some needed manual addition while adding it to implementation .h or
   embedding .c file was more appropriate for others.  This step added
   inclusions to around 150 files.

3. The script was run again and the output was compared to the edits
   from #2 to make sure no file was left behind.

4. Several build tests were done and a couple of problems were fixed.
   e.g. lib/decompress_*.c used malloc/free() wrappers around slab
   APIs requiring slab.h to be added manually.

5. The script was run on all .h files but without automatically
   editing them as sprinkling gfp.h and slab.h inclusions around .h
   files could easily lead to inclusion dependency hell.  Most gfp.h
   inclusion directives were ignored as stuff from gfp.h was usually
   wildly available and often used in preprocessor macros.  Each
   slab.h inclusion directive was examined and added manually as
   necessary.

6. percpu.h was updated not to include slab.h.

7. Build test were done on the following configurations and failures
   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
   distributed build env didn't work with gcov compiles) and a few
   more options had to be turned off depending on archs to make things
   build (like ipr on powerpc/64 which failed due to missing writeq).

   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
   * powerpc and powerpc64 SMP allmodconfig
   * sparc and sparc64 SMP allmodconfig
   * ia64 SMP allmodconfig
   * s390 SMP allmodconfig
   * alpha SMP allmodconfig
   * um on x86_64 SMP allmodconfig

8. percpu.h modifications were reverted so that it could be applied as
   a separate patch and serve as bisection point.

Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.

Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
2010-03-30 22:02:32 +09:00
Antti Palosaari
8ef4c21130 V4L/DVB: af901x: inform NXP TDA18218 tuner as know but not supported
There is no driver for new NXP TDA18218	tuner which is used by few recent
af9015 designs. af9015 uses number 179 as ID for that tuner. Inform this
tuner is not supported when device using that tuner is meet.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:58 -03:00
Antti Palosaari
58c811df63 V4L/DVB: af9015: MYGICTV U718 remote autodetection
Autodetect MYGICTV U718 from eeprom hash and select remote automatically.
Remove old iManufacturer string compare based remote selection logic.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:58 -03:00
Antti Palosaari
db02d9dc54 V4L/DVB: af9015: A-Link DTU(m) remote autodetection
Autodetect A-Link DTU(m) based eeprom hash and select correct remote.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:58 -03:00
Antti Palosaari
809c1e8ae8 V4L/DVB: af9015: support for Leadtek WinFast DTV2000DS
Add USB ID 0413:6a04 for Leadtek WinFast DTV2000DS.

Thanks to Gavin Ramm <gavin_ramm@hotmail.com> for reporting this.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:57 -03:00
Antti Palosaari
fa1df55c3f V4L/DVB: af9015: support for DigitalNow TinyTwin v2
Add USB ID 1b80:e402 for DigitalNow TinyTwin version 2.

Thanks to Trevor Phillips <trevor.phillips@gmail.com> for reporting this.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:57 -03:00
Jiri Slaby
e3a0cc62c8 V4L/DVB: media: dvb/af9015, add hashes support
So as a final patch, add support for hash and one hash entry
for MSI digi vox mini II:
iManufacturer 1 Afatech
iProduct      2 DVB-T 2
iSerial       3 010101010600001

It is now handled with proper IR and key map tables.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:52 -03:00
Jiri Slaby
26c3b8b060 V4L/DVB: media: dvb/af9015, refactor remote setting
Add af9015_setup structure to hold (right now only remote) setup
of distinct receivers.

Add af9015_setup_match for matching ids against tables.

This is for easier matching different kind of ids against tables
to obtain setups. Currently module parameters and usb vendor ids
are switched into and matched against tables. Hashes will follow.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:52 -03:00
Jiri Slaby
634d2d757a V4L/DVB: media: dvb/af9015, factor out remote setting
This is just a code shuffle without functional changes. For easier
review of later changes, i.e. preparation.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:52 -03:00
Jiri Slaby
6c614044ff V4L/DVB: media: dvb/af9015, implement eeprom hashing
This will be useful for matching of IR tables later.

We read the eeprom anyway for dumping. Switch the dumping to
print_hex_dump_bytes and compute hash above that by
hash = 0;
for (u32 VAL) in (eeprom):
  hash *= GOLDEN_RATIO_PRIME_32
  hash += VAL; // while preserving endinaness

The computation is moved earlier to the flow, namely from
af9015_af9013_frontend_attach to af9015_read_config, so that
we can access the sum in af9015_read_config already.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-02-26 15:10:52 -03:00
Ignacio de Miguel Diaz
5232263a7d V4L/DVB (13368): af9015: support for Sveon STV20 Tuner USB DVB-T HDTV
Add USB ID 1b80:e39d for Sveon STV20 Tuner USB DVB-T HDTV.

Signed-off-by: Ignacio de Miguel Diaz <imigueldiaz@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:33 -02:00
Antti Palosaari
0f01721256 V4L/DVB (13058): af9015: enable remote polling when eeprom contains 0x04
Looks like eeprom IR mode byte value 0x04 means there is remote
which should be polled. Patch enables polling also in case of 0x04.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:40:06 -02:00
Antti Palosaari
e1a7ff84a4 V4L/DVB (13057): af9015: add MSI DIGIVOX mini III remote
Support for MSI DIGIVOX mini III remote.
Thanks to Aleksandr V. Piskunov <aleksandr.v.piskunov@gmail.com>
Thanks to Roman <lists@hasnoname.de>

Cc: Aleksandr V. Piskunov <aleksandr.v.piskunov@gmail.com>
Cc: Roman <lists@hasnoname.de>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:40:06 -02:00
Antti Palosaari
0254294f37 V4L/DVB (13055): af9015: fix few typos
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:40:05 -02:00