> +static struct acpi_driver acpi_fujitsu_driver = { > + .name = ACPI_FUJITSU_DRIVER_NAME, > + .class = ACPI_FUJITSU_CLASS, > + .ids = ACPI_FUJITSU_HID, string isn't the right kind of pointer (anymore) see the other examples of setting acpi_driver.ids eg. from fan.c: static const struct acpi_device_id fan_device_ids[] = { {"PNP0C0B", 0}, {"", 0}, }; .ids = fan_device_ids, > + .ops = { > + .add = acpi_fujitsu_add, > + .remove = acpi_fujitsu_remove, > + }, > +}; > + > +/* Initialization */ > + > +static struct dmi_system_id __initdata fujitsu_dmi_table[] = { > + { > + .ident = "Fujitsu S7020", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), > + DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S7020"), > + } > + }, > + { > + .ident = "Fujitsu generic laptop", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), > + } > + }, > + {} > +}; I don't understand why you need the DMI match stuff if you're binding on the PNPid FUJ02B1. Further, I don't understand if you need the DMI match stuff, the value of the 1st entry when the 2nd entry is present. Plus, wouldn't that match on a FUJITSU server as well? thanks, -Len - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html