android_kernel_xiaomi_sdm845/drivers
Wolfram Sang c01b083105 i2c-algo-pca: Extend for future drivers
The separation between algorithm and adapter was unsharp at places. This was
partly hidden by the fact, that the ISA-driver allowed just one instance and
had all private data in static variables. This patch makes neccessary
preparations to add a platform driver on top of the algorithm, while still
supporting ISA. Note: Due to lack of hardware, the ISA-driver could not be
tested except that it builds.

Concerning the core struct i2c_algo_pca_data:

- A private data field was added, all hardware dependant data may go here.
  Similar to other algorithms, now a pointer to this data is passed to the
  adapter's functions. In order to make as less changes as possible to the
  ISA-driver, it leaves the private data empty and still only uses its static
  variables.

- A "reset_chip" function pointer was added; such a functionality must come
  from the adapter, not the algorithm.

- use a variable "i2c_clock" instead of a function pointer "get_clock",
  allowing for write access to a default in case a wrong value was supplied.

In the algorithm-file:

- move "i2c-pca-algo.h" into "linux/i2c-algo-pca.h"
- now using per_instance timeout values (i2c_adap->timeout)
- error messages specify the device, not only the driver name
- restructure initialization to easily support "i2c_add_numbered_adapter"
- drop "retries" and "own" (i2c address) as they were unused

(The state-machine for I2C-communication was not touched.)

In the ISA-driver:

- adapt to new algorithm

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
2008-04-22 22:16:46 +02:00
..
acorn/char
acpi Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial 2008-04-21 16:36:46 -07:00
amba
ata Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-04-21 15:49:58 -07:00
atm drivers/atm: use time_before, time_before_eq, etc 2008-04-19 18:14:50 -07:00
auxdisplay
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-04-21 15:49:58 -07:00
block Merge branch 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block 2008-04-21 16:03:40 -07:00
bluetooth hci_usb: remove code obfuscation 2008-04-19 18:17:26 -07:00
cdrom cdrom: use kmalloced buffers instead of buffers on stack 2008-04-21 09:50:08 +02:00
char Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial 2008-04-21 16:36:46 -07:00
clocksource
connector
cpufreq
cpuidle
crypto [CRYPTO] padlock-aes: Use generic setkey function 2008-04-21 10:19:34 +08:00
dca
dio
dma DMA engine: typo fixes 2008-04-21 22:38:45 +00:00
edac
eisa
firewire Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
firmware Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-04-21 15:49:58 -07:00
gpio
hid
hwmon
i2c i2c-algo-pca: Extend for future drivers 2008-04-22 22:16:46 +02:00
ide cdrom: make unregister_cdrom() return void 2008-04-21 09:50:08 +02:00
ieee1394 Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
infiniband IB/ipath: Correct capitalization "IntX" -> "INTx" 2008-04-21 18:19:15 -07:00
input Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-04-21 15:41:27 -07:00
isdn Merge branch 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2008-04-21 15:56:19 -07:00
leds Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-04-21 15:49:58 -07:00
lguest drivers: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:16:32 -04:00
macintosh Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
mca
md RAID: remove trailing space from printk line 2008-04-21 22:42:58 +00:00
media Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial 2008-04-21 16:36:46 -07:00
memstick memstick: convert struct class_device to struct device 2008-04-19 19:10:29 -07:00
message SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
mfd Merge branch 'semaphore' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-04-21 15:41:27 -07:00
misc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial 2008-04-21 16:36:46 -07:00
mmc mmc: sdio_ops.c should #include "sdio_ops.h" 2008-04-18 20:05:33 +02:00
mtd Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-04-21 15:50:49 -07:00
net Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-04-21 15:50:49 -07:00
nubus
of [POWERPC] i2c: Fix build breakage introduced by OF helpers 2008-04-20 13:03:35 +10:00
oprofile
parisc PCI: remove parisc consumer of the pci global_list 2008-04-20 21:47:01 -07:00
parport avr32: don't offer PARPORT_PC 2008-04-19 20:40:10 -04:00
pci Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 2008-04-21 15:58:35 -07:00
pcmcia Merge branch 'merge-fixes' into devel 2008-04-19 17:17:34 +01:00
pnp
power
ps3
rapidio
rtc rtc: rtc-sh: Add support for periodic IRQs. 2008-04-18 09:50:01 -07:00
s390 Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
sbus
scsi Merge branch 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block 2008-04-21 16:03:40 -07:00
serial Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-04-21 15:50:49 -07:00
sh
sn
spi spi: spi_s3c24xx must initialize num_chipselect 2008-04-15 19:35:41 -07:00
ssb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-04-17 23:56:30 -07:00
tc
telephony
thermal acpi thermal trip points increased to 12 2008-04-15 19:35:41 -07:00
uio UIO: hold a reference to the device's owner while the device is open 2008-04-19 19:10:18 -07:00
usb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 2008-04-21 15:44:57 -07:00
video Merge branch 'merge-fixes' into devel 2008-04-19 17:17:34 +01:00
virtio virtio: remove overzealous BUG_ON. 2008-04-07 13:14:22 -07:00
w1
watchdog Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
xen
zorro
Kconfig
Makefile