summaryrefslogtreecommitdiffstats
path: root/sys/dev/spibus/spibusvar.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2006-07-14 22:47:07 +0000
committerimp <imp@FreeBSD.org>2006-07-14 22:47:07 +0000
commit514e7fc291e22139df0e31ff59dc547d2b16e5d5 (patch)
treee12e1547bbd9d90830bf10ea3984258d3ae53ddc /sys/dev/spibus/spibusvar.h
parent29ab994ef0c5f04e4d6ffe65f87a279d44b39488 (diff)
downloadFreeBSD-src-514e7fc291e22139df0e31ff59dc547d2b16e5d5.zip
FreeBSD-src-514e7fc291e22139df0e31ff59dc547d2b16e5d5.tar.gz
MFp4:
Initial spibus support. Seems to be OK, but needs some polish. # someone should write a bit-bang spi parallel port interface :-)
Diffstat (limited to 'sys/dev/spibus/spibusvar.h')
-rw-r--r--sys/dev/spibus/spibusvar.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/sys/dev/spibus/spibusvar.h b/sys/dev/spibus/spibusvar.h
new file mode 100644
index 0000000..78baaac
--- /dev/null
+++ b/sys/dev/spibus/spibusvar.h
@@ -0,0 +1,28 @@
+/ * $FreeBSD$ */
+
+#define SPIBUS_IVAR(d) (struct spibus_ivar *) device_get_ivars(d)
+#define SPIBUS_SOFTC(d) (struct spibus_softc *) device_get_softc(d)
+
+struct spibus_softc
+{
+ device_t dev;
+};
+
+struct spibus_ivar
+{
+ uint32_t cs;
+};
+
+enum {
+ SPIBUS_IVAR_CS /* chip select that we're on */
+};
+
+#define SPIBUS_ACCESSOR(A, B, T) \
+__inline static int \
+spibus_get_ ## A(device_t dev, T *t) \
+{ \
+ return BUS_READ_IVAR(device_get_parent(dev), dev, \
+ SPIBUS_IVAR_ ## B, (uintptr_t *) t); \
+}
+
+SPIBUS_ACCESSOR(cs, CS, uint32_t)
OpenPOWER on IntegriCloud