summaryrefslogtreecommitdiffstats
path: root/include/linux/olpc-ec.h
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@queued.net>2012-07-10 19:31:51 -0700
committerAndres Salomon <dilinger@queued.net>2012-07-31 23:27:29 -0400
commit392a325c4351339cfbf182bb5a1444df1cf65dbb (patch)
tree90fc86d937d133f965e4f2129dede4ad6558f114 /include/linux/olpc-ec.h
parent08843b79fb35d33859e0f8f11a7318341076e4d1 (diff)
downloadop-kernel-dev-392a325c4351339cfbf182bb5a1444df1cf65dbb.zip
op-kernel-dev-392a325c4351339cfbf182bb5a1444df1cf65dbb.tar.gz
Platform: OLPC: add a stub to drivers/platform/ for the OLPC EC driver
The OLPC EC driver has outgrown arch/x86/platform/. It's time to both share common code amongst different architectures, as well as move it out of arch/x86/. The XO-1.75 is ARM-based, and the EC driver shares a lot of code with the x86 code. Signed-off-by: Andres Salomon <dilinger@queued.net> Acked-by: Paul Fox <pgf@laptop.org> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/olpc-ec.h')
-rw-r--r--include/linux/olpc-ec.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/linux/olpc-ec.h b/include/linux/olpc-ec.h
new file mode 100644
index 0000000..6d4e426
--- /dev/null
+++ b/include/linux/olpc-ec.h
@@ -0,0 +1,29 @@
+#ifndef _LINUX_OLPC_EC_H
+#define _LINUX_OLPC_EC_H
+
+/* XO-1 EC commands */
+#define EC_FIRMWARE_REV 0x08
+#define EC_WRITE_SCI_MASK 0x1b
+#define EC_WAKE_UP_WLAN 0x24
+#define EC_WLAN_LEAVE_RESET 0x25
+#define EC_READ_EB_MODE 0x2a
+#define EC_SET_SCI_INHIBIT 0x32
+#define EC_SET_SCI_INHIBIT_RELEASE 0x34
+#define EC_WLAN_ENTER_RESET 0x35
+#define EC_WRITE_EXT_SCI_MASK 0x38
+#define EC_SCI_QUERY 0x84
+#define EC_EXT_SCI_QUERY 0x85
+
+#ifdef CONFIG_OLPC
+
+extern int olpc_ec_cmd(u8 cmd, u8 *inbuf, size_t inlen, u8 *outbuf,
+ size_t outlen);
+
+#else
+
+static inline int olpc_ec_cmd(u8 cmd, u8 *inbuf, size_t inlen, u8 *outbuf,
+ size_t outlen) { return -ENODEV; }
+
+#endif /* CONFIG_OLPC */
+
+#endif /* _LINUX_OLPC_EC_H */
OpenPOWER on IntegriCloud