aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@queued.net>2012-07-10 22:31:51 -0400
committerAndres Salomon <dilinger@queued.net>2012-07-31 23:27:29 -0400
commit392a325c4351339cfbf182bb5a1444df1cf65dbb (patch)
tree90fc86d937d133f965e4f2129dede4ad6558f114 /arch/x86
parent08843b79fb35d33859e0f8f11a7318341076e4d1 (diff)
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 'arch/x86')
-rw-r--r--arch/x86/include/asm/olpc.h19
-rw-r--r--arch/x86/platform/olpc/olpc.c4
2 files changed, 5 insertions, 18 deletions
diff --git a/arch/x86/include/asm/olpc.h b/arch/x86/include/asm/olpc.h
index 87bdbca72f94..513e9992771d 100644
--- a/arch/x86/include/asm/olpc.h
+++ b/arch/x86/include/asm/olpc.h
@@ -4,6 +4,7 @@
4#define _ASM_X86_OLPC_H 4#define _ASM_X86_OLPC_H
5 5
6#include <asm/geode.h> 6#include <asm/geode.h>
7#include <linux/olpc-ec.h>
7 8
8struct olpc_platform_t { 9struct olpc_platform_t {
9 int flags; 10 int flags;
@@ -102,22 +103,8 @@ extern int pci_olpc_init(void);
102 103
103/* EC related functions */ 104/* EC related functions */
104 105
105extern int olpc_ec_cmd(unsigned char cmd, unsigned char *inbuf, size_t inlen, 106extern int olpc_ec_cmd_x86(unsigned char cmd, unsigned char *inbuf,
106 unsigned char *outbuf, size_t outlen); 107 size_t inlen, unsigned char *outbuf, size_t outlen);
107
108/* EC commands */
109
110#define EC_FIRMWARE_REV 0x08
111#define EC_WRITE_SCI_MASK 0x1b
112#define EC_WAKE_UP_WLAN 0x24
113#define EC_WLAN_LEAVE_RESET 0x25
114#define EC_READ_EB_MODE 0x2a
115#define EC_SET_SCI_INHIBIT 0x32
116#define EC_SET_SCI_INHIBIT_RELEASE 0x34
117#define EC_WLAN_ENTER_RESET 0x35
118#define EC_WRITE_EXT_SCI_MASK 0x38
119#define EC_SCI_QUERY 0x84
120#define EC_EXT_SCI_QUERY 0x85
121 108
122/* SCI source values */ 109/* SCI source values */
123 110
diff --git a/arch/x86/platform/olpc/olpc.c b/arch/x86/platform/olpc/olpc.c
index a4bee53c2e54..796e199ac77a 100644
--- a/arch/x86/platform/olpc/olpc.c
+++ b/arch/x86/platform/olpc/olpc.c
@@ -125,7 +125,7 @@ static int __wait_on_obf(unsigned int line, unsigned int port, int desired)
125 * <http://wiki.laptop.org/go/Ec_specification>. Unfortunately, while 125 * <http://wiki.laptop.org/go/Ec_specification>. Unfortunately, while
126 * OpenFirmware's source is available, the EC's is not. 126 * OpenFirmware's source is available, the EC's is not.
127 */ 127 */
128int olpc_ec_cmd(unsigned char cmd, unsigned char *inbuf, size_t inlen, 128int olpc_ec_cmd_x86(unsigned char cmd, unsigned char *inbuf, size_t inlen,
129 unsigned char *outbuf, size_t outlen) 129 unsigned char *outbuf, size_t outlen)
130{ 130{
131 unsigned long flags; 131 unsigned long flags;
@@ -201,7 +201,7 @@ err:
201 spin_unlock_irqrestore(&ec_lock, flags); 201 spin_unlock_irqrestore(&ec_lock, flags);
202 return ret; 202 return ret;
203} 203}
204EXPORT_SYMBOL_GPL(olpc_ec_cmd); 204EXPORT_SYMBOL_GPL(olpc_ec_cmd_x86);
205 205
206void olpc_ec_wakeup_set(u16 value) 206void olpc_ec_wakeup_set(u16 value)
207{ 207{