Subject: Re: NOTE: ACPI update
To: None <abuse@spamalicious.com>
From: Takayoshi Kochi <kochi@netbsd.org>
List: current-users
Date: 11/03/2003 15:16:18
Hello Charles,

> I've imported the latest version of the ACPI-CA from Intel.  This, plus some 
> bug fixes from me and Christos, should make ACPI work much more reliably on 
> many systems.

I've just commited the fixes for the ACPI_DEVICE_INFO change.

The last member of ACPI_DEVICE_INFO, CompatibilityId, has the
following definition:

/* Common string version of device CIDs */

typedef struct acpi_compatible_id
{
    char                    Value[ACPI_MAX_CID_LENGTH];

} ACPI_COMPATIBLE_ID;

typedef struct acpi_compatible_id_list
{
    UINT32                  Count;
    UINT32                  Size;
    ACPI_COMPATIBLE_ID      Id[1];

} ACPI_COMPATIBLE_ID_LIST;

In the old code (related to struct acpi_devnode), if there are
more than one _CIDs in the DSDT namespace, it may corrupt some memory.
Also, sizeof(ACPI_DEVICE_INFO) doesn't make sense anyway.

I added acpi_match_hid() function, which simpifies every device
matching code and cares for _CID matching.

---
Takayoshi Kochi