1/*- 2 * Copyright (c) 2001 Michael Smith 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: head/sys/dev/acpica/acpi_powerres.c 128248 2004-04-14 17:47:42Z njl $"); |
29 30#include "opt_acpi.h" 31#include <sys/param.h> 32#include <sys/kernel.h> 33#include <sys/malloc.h> 34#include <sys/bus.h> 35 36#include "acpi.h" --- 55 unchanged lines hidden (view full) --- 92}; 93 94static TAILQ_HEAD(acpi_powerresource_list, acpi_powerresource) 95 acpi_powerresources; 96static TAILQ_HEAD(acpi_powerconsumer_list, acpi_powerconsumer) 97 acpi_powerconsumers; 98 99static ACPI_STATUS acpi_pwr_register_consumer(ACPI_HANDLE consumer); |
100#ifdef notyet |
101static ACPI_STATUS acpi_pwr_deregister_consumer(ACPI_HANDLE consumer); |
102#endif /* notyet */ |
103static ACPI_STATUS acpi_pwr_register_resource(ACPI_HANDLE res); |
104#ifdef notyet |
105static ACPI_STATUS acpi_pwr_deregister_resource(ACPI_HANDLE res); |
106#endif /* notyet */ |
107static void acpi_pwr_reference_resource(ACPI_OBJECT *obj, 108 void *arg); 109static ACPI_STATUS acpi_pwr_switch_power(void); 110static struct acpi_powerresource 111 *acpi_pwr_find_resource(ACPI_HANDLE res); 112static struct acpi_powerconsumer 113 *acpi_pwr_find_consumer(ACPI_HANDLE consumer); 114 --- 75 unchanged lines hidden (view full) --- 190 out: 191 if (buf.Pointer != NULL) 192 AcpiOsFree(buf.Pointer); 193 if (ACPI_FAILURE(status) && rp != NULL) 194 free(rp, M_ACPIPWR); 195 return_ACPI_STATUS (status); 196} 197 |
198#ifdef notyet |
199/* 200 * Deregister a power resource. 201 */ 202static ACPI_STATUS 203acpi_pwr_deregister_resource(ACPI_HANDLE res) 204{ 205 struct acpi_powerresource *rp; 206 --- 13 unchanged lines hidden (view full) --- 220 TAILQ_REMOVE(&acpi_powerresources, rp, ap_link); 221 free(rp, M_ACPIPWR); 222 223 ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "deregistered power resource %s\n", 224 acpi_name(res))); 225 226 return_ACPI_STATUS (AE_OK); 227} |
228#endif /* notyet */ |
229 230/* 231 * Register a power consumer. 232 * 233 * It's OK to call this if we already know about the consumer. 234 */ 235static ACPI_STATUS 236acpi_pwr_register_consumer(ACPI_HANDLE consumer) --- 17 unchanged lines hidden (view full) --- 254 pc->ac_state = ACPI_STATE_UNKNOWN; 255 256 ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "registered power consumer %s\n", 257 acpi_name(consumer))); 258 259 return_ACPI_STATUS (AE_OK); 260} 261 |
262#ifdef notyet |
263/* 264 * Deregister a power consumer. 265 * 266 * This should only be done once the consumer has been powered off. 267 * (XXX is this correct? Check once implemented) 268 */ 269static ACPI_STATUS 270acpi_pwr_deregister_consumer(ACPI_HANDLE consumer) --- 13 unchanged lines hidden (view full) --- 284 /* Pull the consumer off the list and free it */ 285 TAILQ_REMOVE(&acpi_powerconsumers, pc, ac_link); 286 287 ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "deregistered power consumer %s\n", 288 acpi_name(consumer))); 289 290 return_ACPI_STATUS (AE_OK); 291} |
292#endif /* notyet */ |
293 294/* 295 * Set a power consumer to a particular power state. 296 */ 297ACPI_STATUS 298acpi_pwr_switch_consumer(ACPI_HANDLE consumer, int state) 299{ 300 struct acpi_powerconsumer *pc; --- 373 unchanged lines hidden --- |