static int acpi_thermal_remove(struct acpi_device *device, int type) { struct acpi_thermal *tz = NULL; if (!device || !acpi_driver_data(device)) return -EINVAL; tz = acpi_driver_data(device); acpi_thermal_unregister_thermal_zone(tz); mutex_destroy(&tz->lock); kfree(tz); return 0; }
static int acpi_thermal_remove(struct acpi_device *device) { struct acpi_thermal *tz = NULL; if (!device || !acpi_driver_data(device)) return -EINVAL; flush_workqueue(acpi_thermal_pm_queue); tz = acpi_driver_data(device); acpi_thermal_unregister_thermal_zone(tz); kfree(tz); return 0; }