acpidev_impl.h revision a31148363f598def767ac48c5d82e1572e44b935
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 2009-2010, Intel Corporation.
* All rights reserved.
*/
#ifndef _SYS_ACPIDEV_IMPL_H
#define _SYS_ACPIDEV_IMPL_H
#include <sys/acpidev_dr.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _KERNEL
#define ACPIDEV_ARRAY_PARAM(a) (a), (sizeof (a) / sizeof ((a)[0]))
/* Debug support facilities. */
extern int acpidev_debug;
/* Data attached to an ACPI object to maintain device status information. */
struct acpidev_data_impl {
int aod_status; /* Cached _STA value */
};
#define ACPIDEV_ODF_STATUS_VALID 0x1
#define ACPIDEV_ODF_DEVINFO_CREATED 0x2
#define ACPIDEV_ODF_DEVINFO_TAGGED 0x4
#define ACPIDEV_ODF_HOTPLUG_CAPABLE 0x100
#define ACPIDEV_ODF_HOTPLUG_READY 0x200
#define ACPIDEV_ODF_HOTPLUG_FAILED 0x400
#define ACPIDEV_DR_IS_BOARD(hdl) \
#define ACPIDEV_DR_SET_BOARD(hdl) \
#define ACPIDEV_DR_IS_READY(hdl) \
#define ACPIDEV_DR_SET_READY(hdl) \
#define ACPIDEV_DR_IS_FAILED(hdl) \
#define ACPIDEV_DR_SET_FAILED(hdl) \
#define ACPIDEV_DR_IS_WORKING(hdl) \
#define ACPIDEV_DR_IS_PROCESSED(hdl) \
#define ACPIDEV_DR_BOARD_READY(hdl) \
/*
* List of registered device class drivers.
* Class drivers on the same list will be called from head to tail in turn.
*/
struct acpidev_class_list {
};
typedef struct acpidev_pseudo_uid {
struct acpidev_pseudo_uid *apu_next;
char *apu_uid;
typedef struct acpidev_pseudo_uid_head {
typedef struct acpidev_dr_capacity {
extern int acpidev_dr_enable;
extern krwlock_t acpidev_class_lock;
extern ACPI_TABLE_SRAT *acpidev_srat_tbl_ptr;
extern ACPI_TABLE_SLIT *acpidev_slit_tbl_ptr;
#endif /* _KERNEL */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_ACPIDEV_IMPL_H */