diff --git a/sys/conf/files b/sys/conf/files index ef5e59bb5d2c..4b61f170ede0 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -274,6 +274,7 @@ dev/aac/aac_disk.c optional aac dev/aac/aac_pci.c optional aac pci dev/aac/aac_cam.c optional aacp aac dev/aac/aac_linux.c optional aac compat_linux +dev/acpica/acpi_if.m standard dev/acpica/acpi.c optional acpi dev/acpica/acpi_acad.c optional acpi dev/acpica/acpi_battery.c optional acpi diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk index 69538753a0ba..39cca2c26268 100644 --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -293,7 +293,7 @@ ${_src}: MFILES?= kern/bus_if.m kern/device_if.m dev/iicbus/iicbb_if.m \ dev/iicbus/iicbus_if.m isa/isa_if.m \ libkern/iconv_converter_if.m \ - dev/eisa/eisa_if.m dev/mii/miibus_if.m \ + dev/acpica/acpi_if.m dev/eisa/eisa_if.m dev/mii/miibus_if.m \ dev/pccard/card_if.m dev/pccard/power_if.m dev/pci/pci_if.m \ dev/pci/pcib_if.m dev/ppbus/ppbus_if.m dev/smbus/smbus_if.m \ dev/usb/usb_if.m dev/sound/pcm/ac97_if.m dev/sound/pcm/channel_if.m \ diff --git a/sys/dev/acpica/acpi_if.m b/sys/dev/acpica/acpi_if.m new file mode 100644 index 000000000000..c2cdc1121e18 --- /dev/null +++ b/sys/dev/acpica/acpi_if.m @@ -0,0 +1,77 @@ +# +# Copyright (c) 2004 Nate Lawson +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +#include +#include +#include "acpi.h" + +INTERFACE acpi; + +# +# Default implementation for the probe method. +# +CODE { + static char * + acpi_generic_id_probe(device_t bus, device_t dev, char **ids) + { + return (NULL); + } +}; + +# +# Probe +# +METHOD char * id_probe { + device_t bus; + device_t dev; + char **ids; +} DEFAULT acpi_generic_id_probe; + +# +# AcpiEvaluateObject +# +METHOD ACPI_STATUS evaluate_object { + device_t bus; + device_t dev; + ACPI_STRING pathname; + ACPI_OBJECT_LIST *parameters; + ACPI_BUFFER *ret; +}; + +# +# AcpiWalkNamespace +# +METHOD ACPI_STATUS walk_namespace { + device_t bus; + device_t dev; + ACPI_OBJECT_TYPE type; + UINT32 max_depth; + ACPI_WALK_CALLBACK user_fn; + void *context; + void **ret; +};