linux/drivers
Devin Heitmueller bdc203e156 V4L/DVB (9039): Add support for new i2c API provided in firmware version 1.20
The Pinnacle PCTV HD Pro has an xc5000, which exposed a bug in the dib0700's
i2c implementation where it did not properly support a single i2c read request
(sending it as an i2c write request instead).  Version 1.20 of the firmware
added support for a new i2c API which supported such requests.

This change defaults to fw 1.20 for all devices, but does not default to using
the new i2c API (since initial testing suggests problems interacting with the
mt2060).  Maintainers can enable the use of the new i2c API by putting
the following into their frontend initialization:

struct dib0700_state *st = adap->dev->priv;
st->fw_use_new_i2c_api = 1;

Also note that the code expects i2c repeated start to be supported.  If the
i2c slave does not support repeated start, i2c messsages should have the
I2C_M_NOSTART flag set.

Thanks to Patrick Boettcher <patrick.boettcher@desy.de> for providing new
firmware fixing the issue as well as example i2c code utilizing the interface.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12 09:37:08 -02:00
..
accessibility braille_console: only register notifiers when the braille console is used 2008-10-02 15:53:13 -07:00
acpi Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-08 14:56:41 -07:00
amba
ata libata: WIN_* -> ATA_CMD_* 2008-10-10 22:39:20 +02:00
atm drivers/atm: Use DIV_ROUND_UP 2008-09-22 19:22:58 -07:00
auxdisplay
base driver-core: use klist for class device list and implement iterator 2008-10-09 08:56:04 +02:00
block Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2008-10-11 13:22:33 -07:00
bluetooth Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-08 14:56:41 -07:00
cdrom gdrom: change to use __blk_end_request() 2008-10-09 08:56:21 +02:00
char Merge phase #2 (PAT updates) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-11 11:02:56 -07:00
clocksource clocksource, acpi_pm.c: fix check for monotonicity 2008-09-11 11:14:29 +02:00
connector
cpufreq [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code 2008-10-09 13:52:44 -04:00
cpuidle
crypto crypto: talitos - Avoid consecutive packets going out with same IV 2008-09-14 13:41:19 -07:00
dca
dio
dma dw_dmac: fix copy/paste bug in tasklet 2008-10-03 18:22:18 -07:00
edac
eisa
firewire
firmware
gpio
gpu
hid
hwmon Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
i2c Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
ide ide: Remove ide_spin_wait_hwgroup() and use special requests instead 2008-10-10 22:39:40 +02:00
ieee1394
infiniband Merge branches 'cma', 'cxgb3', 'ehca', 'ipath', 'ipoib', 'mad', 'misc', 'mlx4', 'mthca' and 'nes' into for-next 2008-10-09 17:41:15 -07:00
input Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
isdn mISDN: misc timerdev fixes 2008-09-22 19:18:15 -07:00
leds Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
lguest
macintosh
mca
md Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm 2008-10-10 11:11:47 -07:00
media V4L/DVB (9039): Add support for new i2c API provided in firmware version 1.20 2008-10-12 09:37:08 -02:00
memstick memstick: change to use __blk_end_request() 2008-10-09 08:56:20 +02:00
message
mfd Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
misc eeepc-laptop: Fix hwmon interface 2008-10-09 15:33:57 +02:00
mmc Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
mtd Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
net Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
nubus
of
oprofile
parisc
parport
pci Merge branch 'x86/apic' into x86-v28-for-linus-phase4-B 2008-10-11 20:17:36 +02:00
pcmcia Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
pnp PnP: move pnpacpi/pnpbios_init to after PCI init 2008-10-10 08:00:17 -07:00
power [ARM] 5248/1: wm97xx generic battery driver 2008-10-02 22:48:34 +01:00
ps3
rapidio
regulator
rtc rtc: fix kernel panic on second use of SIGIO nofitication 2008-10-03 18:22:17 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2008-10-11 09:33:18 -07:00
sbus
scsi ide: Remove ide_spin_wait_hwgroup() and use special requests instead 2008-10-10 22:39:40 +02:00
serial Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
sh
sn
spi orion_spi: fix handling of default transfer speed 2008-10-03 18:22:18 -07:00
ssb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-01 06:12:56 -07:00
tc
telephony
thermal
uio
usb Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
video Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
virtio
w1
watchdog Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-11 10:09:45 -07:00
xen xen: fix 2.6.27-rc5 xen balloon driver warnings 2008-09-08 20:21:15 +02:00
zorro
Kconfig
Makefile