diff options
author | Andres Salomon <dilinger@queued.net> | 2012-07-10 22:31:51 -0400 |
---|---|---|
committer | Andres Salomon <dilinger@queued.net> | 2012-07-31 23:27:29 -0400 |
commit | 392a325c4351339cfbf182bb5a1444df1cf65dbb (patch) | |
tree | 90fc86d937d133f965e4f2129dede4ad6558f114 /arch/x86 | |
parent | 08843b79fb35d33859e0f8f11a7318341076e4d1 (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.h | 19 | ||||
-rw-r--r-- | arch/x86/platform/olpc/olpc.c | 4 |
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 | ||
8 | struct olpc_platform_t { | 9 | struct 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 | ||
105 | extern int olpc_ec_cmd(unsigned char cmd, unsigned char *inbuf, size_t inlen, | 106 | extern 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 | */ |
128 | int olpc_ec_cmd(unsigned char cmd, unsigned char *inbuf, size_t inlen, | 128 | int 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 | } |
204 | EXPORT_SYMBOL_GPL(olpc_ec_cmd); | 204 | EXPORT_SYMBOL_GPL(olpc_ec_cmd_x86); |
205 | 205 | ||
206 | void olpc_ec_wakeup_set(u16 value) | 206 | void olpc_ec_wakeup_set(u16 value) |
207 | { | 207 | { |