summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpi_support/acpi_wmi.c
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2009-06-30 09:51:41 +0000
committerrpaulo <rpaulo@FreeBSD.org>2009-06-30 09:51:41 +0000
commit905d9397a05effde536c6c52c272bcd0bd3ccfd5 (patch)
tree9ffdc3902a8467c3c7ffa06372a7fba985c373d9 /sys/dev/acpi_support/acpi_wmi.c
parentf236086095393d6969306feea41e45333268596b (diff)
downloadFreeBSD-src-905d9397a05effde536c6c52c272bcd0bd3ccfd5.zip
FreeBSD-src-905d9397a05effde536c6c52c272bcd0bd3ccfd5.tar.gz
acpi_wmi_if:
- Document different semantics for ACPI_WMI_PROVIDES_GUID_STRING_METHOD acpi_wmi.c: - Modify acpi_wmi_provides_guid_string_method to return absolut number of instances known for the given GUID. acpi_hp.c: - sysctl dev.acpi_hp.0.verbose to toggle debug output - A modification so this can deal with different array lengths when reading the CMI BIOS - now it works ok on HP Compaq nx7300 as well. - Change behaviour to query only max_instance-1 CMI BIOS instances, because all HPs seen so far are broken in that respect (or there is a fundamental misunderstanding on my side, possible as well). This way a disturbing ACPI Error Field exceeds Buffer message is avoided. - New bit to set on dev.acpi_hp.0.cmi_detail (0x8) to also query the highest guid instance of CMI bios acpi_hp.4: - Document dev.acpi_hp.0.verbose sysctl in man page - Document new bit for dev.acpi_hp.0.cmi_detail - Add a section to manpage about hardware that has been reported to work ok Submitted by: Michael Gmelin, freebsdusb at bindone.de Approved by: re (kib) MFC after: 2 weeks
Diffstat (limited to 'sys/dev/acpi_support/acpi_wmi.c')
-rw-r--r--sys/dev/acpi_support/acpi_wmi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/acpi_support/acpi_wmi.c b/sys/dev/acpi_support/acpi_wmi.c
index 7483293..07c2d71 100644
--- a/sys/dev/acpi_support/acpi_wmi.c
+++ b/sys/dev/acpi_support/acpi_wmi.c
@@ -326,11 +326,13 @@ acpi_wmi_detach(device_t dev)
static int
acpi_wmi_provides_guid_string_method(device_t dev, const char *guid_string)
{
+ struct wmi_info *winfo;
int ret;
ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
ACPI_SERIAL_BEGIN(acpi_wmi);
- ret = (acpi_wmi_lookup_wmi_info_by_guid_string(guid_string) == NULL)?0:1;
+ winfo = acpi_wmi_lookup_wmi_info_by_guid_string(guid_string);
+ ret = (winfo == NULL)?0:winfo->ginfo.max_instance+1;
ACPI_SERIAL_END(acpi_wmi);
return (ret);
OpenPOWER on IntegriCloud