⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ec.h

📁 自己根据lkd和情境分析
💻 H
字号:
/***************************************************************************** * * Module Name: ec.h *   $Revision: 1.1.1.1 $ * *****************************************************************************//* *  Copyright (C) 2000, 2001 Andrew Grover * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#ifndef __EC_H__#define __EC_H__#include <linux/spinlock.h>#include <asm/semaphore.h>#include <actypes.h>#include <acexcep.h>#include <bm.h>/***************************************************************************** *                            Types & Other Defines *****************************************************************************/#define EC_DEFAULT_TIMEOUT	1000		/* 1 second */#define EC_GPE_UNKNOWN		0xFFFFFFFF#define EC_PORT_UNKNOWN		0x00000000#define EC_BURST_ENABLE_ACKNOWLEDGE 0x90/* * Commands: * --------- */typedef u8			EC_COMMAND;#define EC_COMMAND_UNKNOWN	((EC_COMMAND) 0x00)#define EC_COMMAND_READ		((EC_COMMAND) 0x80)#define EC_COMMAND_WRITE	((EC_COMMAND) 0x81)#define EC_COMMAND_QUERY	((EC_COMMAND) 0x84)/* * EC_STATUS: * ---------- * The encoding of the EC status register is illustrated below. * Note that a set bit (1) indicates the property is TRUE * (e.g. if bit 0 is set then the output buffer is full). * +-+-+-+-+-+-+-+-+ * |7|6|5|4|3|2|1|0| * +-+-+-+-+-+-+-+-+ *  | | | | | | | | *  | | | | | | | +- Output Buffer Full (OBF)? *  | | | | | | +--- Input Buffer Full (IBF)? *  | | | | | +----- <reserved> *  | | | | +------- data Register is command Byte? *  | | | +--------- Burst Mode Enabled? *  | | +----------- SCI event? *  | +------------- SMI event? *  +--------------- <Reserved> * */typedef u32			EC_STATUS;#define EC_FLAG_OUTPUT_BUFFER	((EC_STATUS) 0x01)#define EC_FLAG_INPUT_BUFFER	((EC_STATUS) 0x02)#define EC_FLAG_BURST_MODE	((EC_STATUS) 0x10)#define EC_FLAG_SCI		((EC_STATUS) 0x20)/* * EC_EVENT: * --------- */typedef u32			EC_EVENT;#define EC_EVENT_UNKNOWN	((EC_EVENT) 0x00)#define EC_EVENT_NONE		((EC_EVENT) 0x00)#define EC_EVENT_OUTPUT_BUFFER_FULL ((EC_EVENT) 0x01)#define EC_EVENT_INPUT_BUFFER_EMPTY ((EC_EVENT) 0x02)#define EC_EVENT_SCI		((EC_EVENT) 0x03)/* * Hardware IDs: * ------------- */#define EC_HID_EC		"PNP0C09"/* * EC_REQUEST: * ----------- */typedef struct{	EC_COMMAND              command;	u8                      address;	u8                      data;} EC_REQUEST;/* * Device Context: * --------------- */typedef struct{	BM_HANDLE               device_handle;	acpi_handle             acpi_handle;	u32                     gpe_bit;	u32			status_port;	u32			command_port;	u32			data_port;	u32			use_global_lock;	u8                      query_data;	acpi_handle             mutex;} EC_CONTEXT;/***************************************************************************** *                             Function Prototypes *****************************************************************************//* ec.c */acpi_statusec_initialize(void);acpi_statusec_terminate(void);acpi_statusec_notify (	u32                     notify_type,	u32                     device,	void                    **context);acpi_statusec_request(	BM_REQUEST              *request_info,	void                    *context);/* ectransx.c */acpi_statusec_transaction (	EC_CONTEXT              *ec,	EC_REQUEST              *ec_request);acpi_statusec_io_read (	EC_CONTEXT              *ec,	u32         		io_port,	u8                      *data,	EC_EVENT                wait_event);acpi_statusec_io_write (	EC_CONTEXT              *ec,	u32         		io_port,	u8                      data,	EC_EVENT                wait_event);/* ecgpe.c */acpi_statusec_install_gpe_handler (	EC_CONTEXT              *ec);acpi_statusec_remove_gpe_handler (	EC_CONTEXT              *ec);/* ecspace.c */acpi_statusec_install_space_handler (	EC_CONTEXT              *ec);acpi_statusec_remove_space_handler (	EC_CONTEXT              *ec);#endif  /* __EC_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -