android_kernel_xiaomi_sm8350/drivers/i2c/busses
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
..
i2c-acorn.c
i2c-ali15x3.c
i2c-ali1535.c
i2c-ali1563.c
i2c-amd756-s4882.c
i2c-amd756.c i2c-amd756: Fix off-by-one 2008-03-12 14:15:00 +01:00
i2c-amd8111.c
i2c-at91.c
i2c-au1550.c
i2c-bfin-twi.c
i2c-davinci.c i2c-davinci: Fix lost interrupt 2008-04-11 12:07:05 +02:00
i2c-elektor.c
i2c-gpio.c
i2c-hydra.c
i2c-i801.c i2c-i801: Add support for the ICH10 2008-02-24 20:03:42 +01:00
i2c-i810.c
i2c-ibm_iic.c i2c-ibm_iic: Fast mode parm desc fixup 2008-04-11 12:07:04 +02:00
i2c-ibm_iic.h
i2c-iop3xx.c
i2c-iop3xx.h
i2c-ixp2000.c
i2c-mpc.c
i2c-mv64xxx.c
i2c-nforce2.c
i2c-ocores.c
i2c-omap.c i2c-omap: Fix unhandled fault 2008-03-23 20:28:20 +01:00
i2c-parport-light.c
i2c-parport.c
i2c-parport.h
i2c-pasemi.c
i2c-pca-isa.c i2c-algo-pca: Extend for future drivers 2008-04-22 22:16:46 +02:00
i2c-piix4.c
i2c-pmcmsp.c i2c: Storage class should be before const qualifier 2008-02-24 20:03:42 +01:00
i2c-pnx.c
i2c-powermac.c
i2c-prosavage.c
i2c-pxa.c [ARM] pxa: separate GPIOs and their mode definitions to pxa2xx-gpio.h 2008-04-19 11:29:04 +01:00
i2c-s3c2410.c
i2c-savage4.c
i2c-sibyte.c
i2c-simtec.c
i2c-sis96x.c
i2c-sis630.c
i2c-sis5595.c
i2c-stub.c
i2c-taos-evm.c
i2c-tiny-usb.c i2c-tiny-usb: New VID/PID pair 2008-04-11 12:07:05 +02:00
i2c-versatile.c
i2c-via.c
i2c-viapro.c
i2c-voodoo3.c
Kconfig plat-orion: make i2c-mv64xxx available for all Orion families 2008-03-27 14:51:40 -04:00
Makefile
scx200_acb.c
scx200_i2c.c