Mike, We took your suggestion and re-wrote the driver to model sdhc_acpi. I have attached the new code. However, the match function never returns a 1. We put temporary print statements in the match routine. It is being called several times during the kernel boot process, but it never finds a device with HID SEL0002. Do you have any suggestions for why it would show up in the DSDT tables when we do an acpidump, but that the match routine never finds it?
This is a snippet from the dmesg boot log Attempting to match SEL: result (0) acpitimer0 at acpi0: 3579545 Hz, 24 bits Attempting to match SEL: result (0) Attempting to match SEL: result (0) Attempting to match SEL: result (0) Attempting to match SEL: result (0) acpihpet0 at acpi0: 14318179 Hz Attempting to match SEL: result (0) acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat int sel_acpi_match(struct device *parent, void *match, void *aux) { struct acpi_attach_args *aaa = aux; struct cfdata *cf = match; printf("Attempting to match SEL: "); int res = acpi_matchhids(aaa, sel_hids, cf->cf_driver->cd_name); printf("result (%d)\n", res); return res; } Thanks, Chase [demime 1.01d removed an attachment of type text/x-csrc which had a name of sel_acpi.c] [demime 1.01d removed an attachment of type text/x-chdr which had a name of selreg.h]