blob: 772dedbc3a22e039328d2e148dee867b866d007b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* toshiba.h -- Linux driver for accessing the SMM on Toshiba laptops
2 *
3 * Copyright (c) 1996-2000 Jonathan A. Buzzard (jonathan@buzzard.org.uk)
4 *
5 * Thanks to Juergen Heinzl <juergen@monocerus.demon.co.uk> for the pointers
6 * on making sure the structure is aligned and packed.
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the
10 * Free Software Foundation; either version 2, or (at your option) any
11 * later version.
12 *
13 * This program is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 */
19
20#ifndef _LINUX_TOSHIBA_H
21#define _LINUX_TOSHIBA_H
22
23#define TOSH_PROC "/proc/toshiba"
24#define TOSH_DEVICE "/dev/toshiba"
25#define TOSH_SMM _IOWR('t', 0x90, int) /* broken: meant 24 bytes */
26
27typedef struct {
28 unsigned int eax;
29 unsigned int ebx __attribute__ ((packed));
30 unsigned int ecx __attribute__ ((packed));
31 unsigned int edx __attribute__ ((packed));
32 unsigned int esi __attribute__ ((packed));
33 unsigned int edi __attribute__ ((packed));
34} SMMRegisters;
35
Alexander Shishkin049763d2011-01-12 16:59:35 -080036#ifdef __KERNEL__
Adrian Bunkf9506a52007-02-12 00:55:01 -080037int tosh_smm(SMMRegisters *regs);
Alexander Shishkin049763d2011-01-12 16:59:35 -080038#endif /* __KERNEL__ */
Adrian Bunkf9506a52007-02-12 00:55:01 -080039
Linus Torvalds1da177e2005-04-16 15:20:36 -070040#endif