summaryrefslogtreecommitdiffstats
path: root/sys/dev/iicbus/iiconf.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2006-07-14 23:15:06 +0000
committerimp <imp@FreeBSD.org>2006-07-14 23:15:06 +0000
commitfd85c7f61c4637d47796575f4873c0a2f57a9932 (patch)
treee0047914863c0b23f720e30549504437b56ebebb /sys/dev/iicbus/iiconf.h
parent005f4f7d53a16bf4273219f9cba543e558d546b9 (diff)
downloadFreeBSD-src-fd85c7f61c4637d47796575f4873c0a2f57a9932.zip
FreeBSD-src-fd85c7f61c4637d47796575f4873c0a2f57a9932.tar.gz
Allow iic bridges to support a generalized transfer, rather than
forcing all transfers to do the start read/write stop by hand. Some smart bridges prefer this sort of operation, and this allows us to support their features more easily. When bridges don't support it, we fall back to using the old-style opertaions. Expand the ioctl interface to expose this function. Unlike the old-style interface, this interface is thread safe, even on old bridges.
Diffstat (limited to 'sys/dev/iicbus/iiconf.h')
-rw-r--r--sys/dev/iicbus/iiconf.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/iicbus/iiconf.h b/sys/dev/iicbus/iiconf.h
index 3a9e7e3..bbf4907 100644
--- a/sys/dev/iicbus/iiconf.h
+++ b/sys/dev/iicbus/iiconf.h
@@ -29,6 +29,8 @@
#define __IICONF_H
#include <sys/queue.h>
+#include <dev/iicbus/iic.h>
+
#define IICPRI (PZERO+8) /* XXX sleep/wakeup queue priority */
@@ -127,6 +129,10 @@ extern int iicbus_block_read(device_t, u_char, char *, int, int *);
extern u_char iicbus_get_addr(device_t);
+/* vectors of iic operations to pass to bridge */
+int iicbus_transfer(device_t bus, struct iic_msg *msgs, uint32_t nmsgs);
+int iicbus_transfer_gen(device_t bus, struct iic_msg *msgs, uint32_t nmsgs);
+
#define IICBUS_MODVER 1
#define IICBUS_MINVER 1
#define IICBUS_MAXVER 1
OpenPOWER on IntegriCloud