i2c-algo-pcf.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /* ------------------------------------------------------------------------- */
  3. /* adap-pcf.h i2c driver algorithms for PCF8584 adapters */
  4. /* ------------------------------------------------------------------------- */
  5. /* Copyright (C) 1995-97 Simon G. Vogl
  6. 1998-99 Hans Berglund
  7. */
  8. /* ------------------------------------------------------------------------- */
  9. /* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi> and even
  10. Frodo Looijaard <frodol@dds.nl> */
  11. #ifndef _LINUX_I2C_ALGO_PCF_H
  12. #define _LINUX_I2C_ALGO_PCF_H
  13. struct i2c_algo_pcf_data {
  14. void *data; /* private data for lolevel routines */
  15. void (*setpcf) (void *data, int ctl, int val);
  16. int (*getpcf) (void *data, int ctl);
  17. int (*getown) (void *data);
  18. int (*getclock) (void *data);
  19. void (*waitforpin) (void *data);
  20. void (*xfer_begin) (void *data);
  21. void (*xfer_end) (void *data);
  22. /* Multi-master lost arbitration back-off delay (msecs)
  23. * This should be set by the bus adapter or knowledgable client
  24. * if bus is multi-mastered, else zero
  25. */
  26. unsigned long lab_mdelay;
  27. };
  28. int i2c_pcf_add_bus(struct i2c_adapter *);
  29. #endif /* _LINUX_I2C_ALGO_PCF_H */