Annotation of sys/dev/acpi/acpireg.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: acpireg.h,v 1.12 2006/12/12 18:07:25 mk Exp $ */
! 2: /*
! 3: * Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
! 4: * Copyright (c) 2005 Marco Peereboom <marco@openbsd.org>
! 5: *
! 6: * Permission to use, copy, modify, and distribute this software for any
! 7: * purpose with or without fee is hereby granted, provided that the above
! 8: * copyright notice and this permission notice appear in all copies.
! 9: *
! 10: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
! 11: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 12: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
! 13: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 14: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 15: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
! 16: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 17: */
! 18:
! 19: #ifndef _DEV_ACPI_ACPIREG_H_
! 20: #define _DEV_ACPI_ACPIREG_H_
! 21:
! 22: /* Root System Descriptor Pointer */
! 23: struct acpi_rsdp1 {
! 24: u_int8_t signature[8];
! 25: #define RSDP_SIG "RSD PTR "
! 26: #define rsdp_signaturee rsdp1.signature
! 27: u_int8_t checksum; /* make sum == 0 */
! 28: #define rsdp_checksum rsdp1.checksum
! 29: u_int8_t oemid[6];
! 30: #define rsdp_oemid rsdp1.oemid
! 31: u_int8_t revision; /* 0 for 1, 2 for 2 */
! 32: #define rsdp_revision rsdp1.revision
! 33: u_int32_t rsdt; /* physical */
! 34: #define rsdp_rsdt rsdp1.rsdt
! 35: } __packed;
! 36:
! 37: struct acpi_rsdp {
! 38: struct acpi_rsdp1 rsdp1;
! 39: /*
! 40: * The following values are only valid
! 41: * when rsdp_revision == 2
! 42: */
! 43: u_int32_t rsdp_length; /* length of rsdp */
! 44: u_int64_t rsdp_xsdt; /* physical */
! 45: u_int8_t rsdp_extchecksum; /* entire table */
! 46: u_int8_t rsdp_reserved[3]; /* must be zero */
! 47: } __packed;
! 48:
! 49: struct acpi_table_header {
! 50: u_int8_t signature[4];
! 51: #define hdr_signature hdr.signature
! 52: u_int32_t length;
! 53: #define hdr_length hdr.length
! 54: u_int8_t revision;
! 55: #define hdr_revision hdr.revision
! 56: u_int8_t checksum;
! 57: #define hdr_checksum hdr.checksum
! 58: u_int8_t oemid[6];
! 59: #define hdr_oemid hdr.oemid
! 60: u_int8_t oemtableid[8];
! 61: #define hdr_oemtableid hdr.oemtableid
! 62: u_int32_t oemrevision;
! 63: #define hdr_oemrevision hdr.oemrevision
! 64: u_int8_t aslcompilerid[4];
! 65: #define hdr_aslcompilerid hdr.aslcompilerid
! 66: u_int32_t aslcompilerrevision;
! 67: #define hdr_aslcompilerrevision hdr.aslcompilerrevision
! 68: } __packed;
! 69:
! 70: struct acpi_rsdt {
! 71: struct acpi_table_header hdr;
! 72: #define RSDT_SIG "RSDT"
! 73: u_int32_t table_offsets[1];
! 74: } __packed;
! 75:
! 76: struct acpi_xsdt {
! 77: struct acpi_table_header hdr;
! 78: #define XSDT_SIG "XSDT"
! 79: u_int64_t table_offsets[1];
! 80: } __packed;
! 81:
! 82: struct acpi_gas {
! 83: u_int8_t address_space_id;
! 84: #define GAS_SYSTEM_MEMORY 0
! 85: #define GAS_SYSTEM_IOSPACE 1
! 86: #define GAS_PCI_CFG_SPACE 2
! 87: #define GAS_EMBEDDED 3
! 88: #define GAS_SMBUS 4
! 89: #define GAS_FUNCTIONAL_FIXED 127
! 90: u_int8_t register_bit_width;
! 91: u_int8_t register_bit_offset;
! 92: u_int8_t access_size;
! 93: #define GAS_ACCESS_UNDEFINED 0
! 94: #define GAS_ACCESS_BYTE 1
! 95: #define GAS_ACCESS_WORD 2
! 96: #define GAS_ACCESS_DWORD 3
! 97: #define GAS_ACCESS_QWORD 4
! 98: u_int64_t address;
! 99: } __packed;
! 100:
! 101: struct acpi_fadt {
! 102: struct acpi_table_header hdr;
! 103: #define FADT_SIG "FACP"
! 104: u_int32_t firmware_ctl; /* phys addr FACS */
! 105: u_int32_t dsdt; /* phys addr DSDT */
! 106: u_int8_t int_model; /* interrupt model (hdr_revision < 3) */
! 107: #define FADT_INT_DUAL_PIC 0
! 108: #define FADT_INT_MULTI_APIC 1
! 109: u_int8_t pm_profile; /* power mgmt profile */
! 110: #define FADT_PM_UNSPEC 0
! 111: #define FADT_PM_DESKTOP 1
! 112: #define FADT_PM_MOBILE 2
! 113: #define FADT_PM_WORKSTATION 3
! 114: #define FADT_PM_ENT_SERVER 4
! 115: #define FADT_PM_SOHO_SERVER 5
! 116: #define FADT_PM_APPLIANCE 6
! 117: #define FADT_PM_PERF_SERVER 7
! 118: u_int16_t sci_int; /* SCI interrupt */
! 119: u_int32_t smi_cmd; /* SMI command port */
! 120: u_int8_t acpi_enable; /* value to enable */
! 121: u_int8_t acpi_disable; /* value to disable */
! 122: u_int8_t s4bios_req; /* value for S4 */
! 123: u_int8_t pstate_cnt; /* value for performance (hdr_revision > 2) */
! 124: u_int32_t pm1a_evt_blk; /* power management 1a */
! 125: u_int32_t pm1b_evt_blk; /* power mangement 1b */
! 126: u_int32_t pm1a_cnt_blk; /* pm control 1a */
! 127: u_int32_t pm1b_cnt_blk; /* pm control 1b */
! 128: u_int32_t pm2_cnt_blk; /* pm control 2 */
! 129: u_int32_t pm_tmr_blk;
! 130: u_int32_t gpe0_blk;
! 131: u_int32_t gpe1_blk;
! 132: u_int8_t pm1_evt_len;
! 133: u_int8_t pm1_cnt_len;
! 134: u_int8_t pm2_cnt_len;
! 135: u_int8_t pm_tmr_len;
! 136: u_int8_t gpe0_blk_len;
! 137: u_int8_t gpe1_blk_len;
! 138: u_int8_t gpe1_base;
! 139: u_int8_t cst_cnt; /* (hdr_revision > 2) */
! 140: u_int16_t p_lvl2_lat;
! 141: u_int16_t p_lvl3_lat;
! 142: u_int16_t flush_size;
! 143: u_int16_t flush_stride;
! 144: u_int8_t duty_offset;
! 145: u_int8_t duty_width;
! 146: u_int8_t day_alrm;
! 147: u_int8_t mon_alrm;
! 148: u_int8_t century;
! 149: u_int16_t iapc_boot_arch; /* (hdr_revision > 2) */
! 150: #define FADT_LEGACY_DEVICES 0x0001 /* Legacy devices supported */
! 151: #define FADT_i8042 0x0002 /* Keyboard controller present */
! 152: #define FADT_NO_VGA 0x0004 /* Do not probe VGA */
! 153: u_int8_t reserved1;
! 154: u_int32_t flags;
! 155: #define FADT_WBINVD 0x00000001
! 156: #define FADT_WBINVD_FLUSH 0x00000002
! 157: #define FADT_PROC_C1 0x00000004
! 158: #define FADT_P_LVL2_UP 0x00000008
! 159: #define FADT_PWR_BUTTON 0x00000010
! 160: #define FADT_SLP_BUTTON 0x00000020
! 161: #define FADT_FIX_RTC 0x00000040
! 162: #define FADT_RTC_S4 0x00000080
! 163: #define FADT_TMR_VAL_EXT 0x00000100
! 164: #define FADT_DCK_CAP 0x00000200
! 165: #define FADT_RESET_REG_SUP 0x00000400
! 166: #define FADT_SEALED_CASE 0x00000800
! 167: #define FADT_HEADLESS 0x00001000
! 168: #define FADT_CPU_SW_SLP 0x00002000
! 169: #define FADT_PCI_EXP_WAK 0x00004000
! 170: #define FADT_USE_PLATFORM_CLOCK 0x00008000
! 171: #define FADT_S4_RTC_STS_VALID 0x00010000
! 172: #define FADT_REMOTE_POWER_ON_CAPABLE 0x00020000
! 173: #define FADT_FORCE_APIC_CLUSTER_MODEL 0x00040000
! 174: #define FADT_FORCE_APIC_PHYS_DEST_MODE 0x00080000
! 175: /*
! 176: * Following values only exist when rev > 1
! 177: * If the extended addresses exists, they
! 178: * must be used in preferense to the non-
! 179: * extended values above
! 180: */
! 181: struct acpi_gas reset_reg;
! 182: u_int8_t reset_value;
! 183: u_int8_t reserved2a;
! 184: u_int8_t reserved2b;
! 185: u_int8_t reserved2c;
! 186: u_int64_t x_firmware_ctl;
! 187: u_int64_t x_dsdt;
! 188: struct acpi_gas x_pm1a_evt_blk;
! 189: struct acpi_gas x_pm1b_evt_blk;
! 190: struct acpi_gas x_pm1a_cnt_blk;
! 191: struct acpi_gas x_pm1b_cnt_blk;
! 192: struct acpi_gas x_pm2_cnt_blk;
! 193: struct acpi_gas x_pm_tmr_blk;
! 194: struct acpi_gas x_gpe0_blk;
! 195: struct acpi_gas x_gpe1_blk;
! 196: } __packed;
! 197:
! 198: struct acpi_dsdt {
! 199: struct acpi_table_header hdr;
! 200: #define DSDT_SIG "DSDT"
! 201: u_int8_t aml[1];
! 202: } __packed;
! 203:
! 204: struct acpi_ssdt {
! 205: struct acpi_table_header hdr;
! 206: #define SSDT_SIG "SSDT"
! 207: u_int8_t aml[1];
! 208: } __packed;
! 209:
! 210: /*
! 211: * Table deprecated by ACPI 2.0
! 212: */
! 213: struct acpi_psdt {
! 214: struct acpi_table_header hdr;
! 215: #define PSDT_SIG "PSDT"
! 216: } __packed;
! 217:
! 218: struct acpi_madt {
! 219: struct acpi_table_header hdr;
! 220: #define MADT_SIG "APIC"
! 221: u_int32_t local_apic_address;
! 222: u_int32_t flags;
! 223: #define ACPI_APIC_PCAT_COMPAT 0x00000001
! 224: } __packed;
! 225:
! 226: struct acpi_madt_lapic {
! 227: u_int8_t apic_type;
! 228: #define ACPI_MADT_LAPIC 0
! 229: u_int8_t length;
! 230: u_int8_t acpi_proc_id;
! 231: u_int8_t apic_id;
! 232: u_int32_t flags;
! 233: #define ACPI_PROC_ENABLE 0x00000001
! 234: } __packed;
! 235:
! 236: struct acpi_madt_ioapic {
! 237: u_int8_t apic_type;
! 238: #define ACPI_MADT_IOAPIC 1
! 239: u_int8_t length;
! 240: u_int8_t acpi_ioapic_id;
! 241: u_int8_t reserved;
! 242: u_int32_t address;
! 243: u_int32_t global_int_base;
! 244: } __packed;
! 245:
! 246: struct acpi_madt_override {
! 247: u_int8_t apic_type;
! 248: #define ACPI_MADT_OVERRIDE 2
! 249: u_int8_t length;
! 250: u_int8_t bus;
! 251: #define ACPI_OVERRIDE_BUS_ISA 0
! 252: u_int8_t source;
! 253: u_int32_t global_int;
! 254: u_int16_t flags;
! 255: #define ACPI_OVERRIDE_POLARITY_BITS 0x3
! 256: #define ACPI_OVERRIDE_POLARITY_BUS 0x0
! 257: #define ACPI_OVERRIDE_POLARITY_HIGH 0x1
! 258: #define ACPI_OVERRIDE_POLARITY_LOW 0x3
! 259: #define ACPI_OVERRIDE_TRIGGER_BITS 0xc
! 260: #define ACPI_OVERRIDE_TRIGGER_BUS 0x0
! 261: #define ACPI_OVERRIDE_TRIGGER_EDGE 0x4
! 262: #define ACPI_OVERRIDE_TRIGGER_LEVEL 0xc
! 263: } __packed;
! 264:
! 265: struct acpi_madt_nmi {
! 266: u_int8_t apic_type;
! 267: #define ACPI_MADT_NMI 3
! 268: u_int8_t length;
! 269: u_int16_t flags; /* Same flags as acpi_madt_override */
! 270: u_int32_t global_int;
! 271: } __packed;
! 272:
! 273: struct acpi_madt_lapic_nmi {
! 274: u_int8_t apic_type;
! 275: #define ACPI_MADT_LAPIC_NMI 4
! 276: u_int8_t length;
! 277: u_int8_t acpi_proc_id;
! 278: u_int16_t flags; /* Same flags as acpi_madt_override */
! 279: u_int8_t local_apic_lint;
! 280: } __packed;
! 281:
! 282: struct acpi_madt_lapic_override {
! 283: u_int8_t apic_type;
! 284: #define ACPI_MADT_LAPIC_OVERRIDE 5
! 285: u_int8_t length;
! 286: u_int16_t reserved;
! 287: u_int64_t lapic_address;
! 288: } __packed;
! 289:
! 290: struct acpi_madt_io_sapic {
! 291: u_int8_t apic_type;
! 292: #define ACPI_MADT_IO_SAPIC 6
! 293: u_int8_t length;
! 294: u_int8_t iosapic_id;
! 295: u_int8_t reserved;
! 296: u_int32_t global_int_base;
! 297: u_int64_t iosapic_address;
! 298: } __packed;
! 299:
! 300: struct acpi_madt_local_sapic {
! 301: u_int8_t apic_type;
! 302: #define ACPI_MADT_LOCAL_SAPIC 7
! 303: u_int8_t length;
! 304: u_int8_t acpi_proc_id;
! 305: u_int8_t local_sapic_id;
! 306: u_int8_t local_sapic_eid;
! 307: u_int8_t reserved[3];
! 308: u_int32_t flags; /* Same flags as acpi_madt_lapic */
! 309: u_int32_t acpi_proc_uid;
! 310: u_int8_t acpi_proc_uid_string[1];
! 311: } __packed;
! 312:
! 313: struct acpi_madt_platform_int {
! 314: u_int8_t apic_type;
! 315: #define ACPI_MADT_PLATFORM_INT 8
! 316: u_int8_t length;
! 317: u_int16_t flags; /* Same flags as acpi_madt_override */
! 318: u_int8_t int_type;
! 319: #define ACPI_MADT_PLATFORM_PMI 1
! 320: #define ACPI_MADT_PLATFORM_INIT 2
! 321: #define ACPI_MADT_PLATFORM_CORR_ERROR 3
! 322: u_int8_t proc_id;
! 323: u_int8_t proc_eid;
! 324: u_int8_t io_sapic_vec;
! 325: u_int32_t global_int;
! 326: u_int32_t platform_int_flags;
! 327: #define ACPI_MADT_PLATFORM_CPEI 0x00000001
! 328: } __packed;
! 329:
! 330: union acpi_madt_entry {
! 331: struct acpi_madt_lapic madt_lapic;
! 332: struct acpi_madt_ioapic madt_ioapic;
! 333: struct acpi_madt_override madt_override;
! 334: struct acpi_madt_nmi madt_nmi;
! 335: struct acpi_madt_lapic_nmi madt_lapic_nmi;
! 336: struct acpi_madt_lapic_override madt_lapic_override;
! 337: struct acpi_madt_io_sapic madt_io_sapic;
! 338: struct acpi_madt_local_sapic madt_local_sapic;
! 339: struct acpi_madt_platform_int madt_platform_int;
! 340: } __packed;
! 341:
! 342: struct acpi_sbst {
! 343: struct acpi_table_header hdr;
! 344: #define SBST_SIG "SBST"
! 345: u_int32_t warning_energy_level;
! 346: u_int32_t low_energy_level;
! 347: u_int32_t critical_energy_level;
! 348: } __packed;
! 349:
! 350: struct acpi_ecdt {
! 351: struct acpi_table_header hdr;
! 352: #define ECDT_SIG "ECDT"
! 353: struct acpi_gas ec_control;
! 354: struct acpi_gas ec_data;
! 355: u_int32_t uid;
! 356: u_int8_t gpe_bit;
! 357: u_int8_t ec_id[1];
! 358: } __packed;
! 359:
! 360: struct acpi_srat {
! 361: struct acpi_table_header hdr;
! 362: #define SRAT_SIG "SRAT"
! 363: u_int32_t reserved1;
! 364: u_int64_t reserved2;
! 365: } __packed;
! 366:
! 367: struct acpi_slit {
! 368: struct acpi_table_header hdr;
! 369: #define SLIT_SIG "SLIT"
! 370: u_int64_t number_of_localities;
! 371: } __packed;
! 372:
! 373: struct acpi_hpet {
! 374: struct acpi_table_header hdr;
! 375: #define HPET_SIG "HPET"
! 376: u_int32_t event_timer_block_id;
! 377: struct acpi_gas base_address;
! 378: u_int8_t hpet_number;
! 379: u_int16_t main_counter_min_clock_tick;
! 380: u_int8_t page_protection;
! 381: } __packed;
! 382:
! 383: struct acpi_facs {
! 384: u_int8_t signature[4];
! 385: #define FACS_SIG "FACS"
! 386: u_int32_t length;
! 387: u_int32_t hardware_signature;
! 388: u_int32_t wakeup_vector;
! 389: u_int32_t global_lock;
! 390: #define FACS_LOCK_PENDING 0x00000001
! 391: #define FACS_LOCK_OWNED 0x00000002
! 392: u_int32_t flags;
! 393: #define FACS_S4BIOS_F 0x00000001 /* S4BIOS_REQ supported */
! 394: struct acpi_gas x_wakeup_vector;
! 395: u_int8_t version;
! 396: u_int8_t reserved[31];
! 397: } __packed;
! 398:
! 399: #define ACPI_FREQUENCY 3579545 /* Per ACPI spec */
! 400:
! 401: /*
! 402: * PCI Configuration space
! 403: */
! 404: #define ACPI_PCI_BUS(addr) (u_int16_t)((addr) >> 48)
! 405: #define ACPI_PCI_DEV(addr) (u_int16_t)((addr) >> 32)
! 406: #define ACPI_PCI_FN(addr) (u_int16_t)((addr) >> 16)
! 407: #define ACPI_PCI_REG(addr) (u_int16_t)(addr)
! 408: #define ACPI_PCI_ADDR(b,d,f,r) ((u_int64_t)(b)<<48LL | (u_int64_t)(d)<<32LL | (f)<<16LL | (r))
! 409:
! 410: /*
! 411: * PM1 Status Registers Fixed Hardware Feature Status Bits
! 412: */
! 413: #define ACPI_PM1_STATUS 0x00
! 414: #define ACPI_PM1_TMR_STS 0x0001
! 415: #define ACPI_PM1_BM_STS 0x0010
! 416: #define ACPI_PM1_GBL_STS 0x0020
! 417: #define ACPI_PM1_PWRBTN_STS 0x0100
! 418: #define ACPI_PM1_SLPBTN_STS 0x0200
! 419: #define ACPI_PM1_RTC_STS 0x0400
! 420: #define ACPI_PM1_PCIEXP_WAKE_STS 0x4000
! 421: #define ACPI_PM1_WAK_STS 0x8000
! 422:
! 423: /*
! 424: * PM1 Enable Registers
! 425: */
! 426: #define ACPI_PM1_ENABLE 0x02
! 427: #define ACPI_PM1_TMR_EN 0x0001
! 428: #define ACPI_PM1_GBL_EN 0x0020
! 429: #define ACPI_PM1_PWRBTN_EN 0x0100
! 430: #define ACPI_PM1_SLPBTN_EN 0x0200
! 431: #define ACPI_PM1_RTC_EN 0x0400
! 432: #define ACPI_PM1_PCIEXP_WAKE_DIS 0x4000
! 433:
! 434: /*
! 435: * PM1 Control Registers
! 436: */
! 437: #define ACPI_PM1_CONTROL 0x00
! 438: #define ACPI_PM1_SCI_EN 0x0001
! 439: #define ACPI_PM1_BM_RLD 0x0002
! 440: #define ACPI_PM1_GBL_RLS 0x0004
! 441: #define ACPI_PM1_SLP_TYPX(x) ((x) << 10)
! 442: #define ACPI_PM1_SLP_TYPX_MASK 0x1c00
! 443: #define ACPI_PM1_SLP_EN 0x2000
! 444:
! 445: /*
! 446: * Sleeping States
! 447: */
! 448: #define ACPI_STATE_S0 0
! 449: #define ACPI_STATE_S1 1
! 450: #define ACPI_STATE_S2 2
! 451: #define ACPI_STATE_S3 3
! 452: #define ACPI_STATE_S4 4
! 453: #define ACPI_STATE_S5 5
! 454:
! 455: /*
! 456: * ACPI Device IDs
! 457: */
! 458: #define ACPI_DEV_TIM "PNP0100" /* System timer */
! 459: #define ACPI_DEV_ACPI "PNP0C08" /* ACPI device */
! 460: #define ACPI_DEV_PCIB "PNP0A03" /* PCI bus */
! 461: #define ACPI_DEV_GISAB "PNP0A05" /* Generic ISA Bus */
! 462: #define ACPI_DEV_EIOB "PNP0A06" /* Extended I/O Bus */
! 463: #define ACPI_DEV_MR "PNP0C02" /* Motherboard resources */
! 464: #define ACPI_DEV_NPROC "PNP0C04" /* Numeric data processor */
! 465: #define ACPI_DEV_CS "PNP0C08" /* ACPI-Compliant System */
! 466: #define ACPI_DEV_ECD "PNP0C09" /* Embedded Controller Device */
! 467: #define ACPI_DEV_CMB "PNP0C0A" /* Control Method Battery */
! 468: #define ACPI_DEV_FAN "PNP0C0B" /* Fan Device */
! 469: #define ACPI_DEV_PBD "PNP0C0C" /* Power Button Device */
! 470: #define ACPI_DEV_LD "PNP0C0D" /* Lid Device */
! 471: #define ACPI_DEV_SBD "PNP0C0E" /* Sleep Button Device */
! 472: #define ACPI_DEV_PILD "PNP0C0F" /* PCI Interrupt Link Device */
! 473: #define ACPI_DEV_MEMD "PNP0C80" /* Memory Device */
! 474: #define ACPI_DEV_SHC "ACPI0001" /* SMBus 1.0 Host Controller */
! 475: #define ACPI_DEV_SMS1 "ACPI0002" /* Smart Battery Subsystem */
! 476: #define ACPI_DEV_AC "ACPI0003" /* AC Device */
! 477: #define ACPI_DEV_MD "ACPI0004" /* Module Device */
! 478: #define ACPI_DEV_SMS2 "ACPI0005" /* SMBus 2.0 Host Controller */
! 479: #define ACPI_DEV_GBD "ACPI0006" /* GPE Block Device */
! 480: #define ACPI_DEV_PD "ACPI0007" /* Processor Device */
! 481: #define ACPI_DEV_ALSD "ACPI0008" /* Ambient Light Sensor Device */
! 482: #define ACPI_DEV_IOXA "ACPI0009" /* IO x APIC Device */
! 483: #define ACPI_DEV_IOA "ACPI000A" /* IO APIC Device */
! 484: #define ACPI_DEV_IOSA "ACPI000B" /* IO SAPIC Device */
! 485: #define ACPI_DEV_THZ "THERMALZONE" /* Thermal Zone */
! 486: #define ACPI_DEV_FFB "FIXEDBUTTON" /* Fixed Feature Button */
! 487:
! 488: #endif /* !_DEV_ACPI_ACPIREG_H_ */
CVSweb