On Wed, 21 Jun 2006 16:23:47 -0700 keith mannthey <kmannth@xxxxxxxxxx> wrote: > Update. I have moved to 2.6.17-rc6-mm2 to work with the development > acpi_memhotplug driver there. I have added various debug statements and > this is what I know. > Thanks, looks informative. > acpi_memory_get_device calls acpi_bus_add > acpi_bus_add calls acpi_add_single_object (fails) > acpi_add_single_object passes acpi_bus_get_flags > finds the device present > passes acpi_device_set_context > calls acpi_device_register > after calling acpi_bus_find_driver > ends up > if (!result) *child = device; > and returns. > Then, "acpi_device" itself is added, but no driver data. acpi_add_single_object doesn't check return value of acpi_bus_find_driver(), as you know. So... === static int acpi_bus_find_driver(struct acpi_device *device) { <snip> list_for_each_safe(node, next, &acpi_bus_drivers) { <snip> if (!acpi_bus_match(device, driver)) { (*)----------- result = acpi_bus_driver_init(device, driver); if (!result) goto Done; } .... } === Next check point is: - acpi_bus_driver_init() is called or not - what acpi_bus_driver_init() returns in acpi_bus_driver_init() - driver->ops.add() is called or not - what it retruns int acpi_memory_device_add() - it is called or not - why this fails. If we can find why acpi_bus_driver_init() fails or is not called, we can find the problem , I think. -Kame - 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