Merge tag 'acpi-5.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI fixes from Rafael Wysocki:
"These revert an unnecessary revert of an ACPI power management commit,
add a missing device ID to one of the lists and fix a possible memory
leak in an error path.
Specifics:
- Revert a revert of a recent ACPI power management change that does
not need to be reverted after all (Rafael Wysocki).
- Add missing fan device ID to the list of device IDs for which the
devices should not be put into the ACPI PM domain (Sumeet
Pawnikar).
- Fix possible memory leak in an error path in the ACPI device
enumeration code (Christophe JAILLET)"
* tag 'acpi-5.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI: PM: Add ACPI ID of Alder Lake Fan
ACPI: scan: Fix a memory leak in an error handling path
Revert "Revert "ACPI: scan: Turn off unused power resources during initialization""
This commit is contained in:
@@ -1313,6 +1313,7 @@ int acpi_dev_pm_attach(struct device *dev, bool power_on)
|
||||
{"PNP0C0B", }, /* Generic ACPI fan */
|
||||
{"INT3404", }, /* Fan */
|
||||
{"INTC1044", }, /* Fan for Tiger Lake generation */
|
||||
{"INTC1048", }, /* Fan for Alder Lake generation */
|
||||
{}
|
||||
};
|
||||
struct acpi_device *adev = ACPI_COMPANION(dev);
|
||||
|
||||
@@ -142,6 +142,7 @@ int acpi_device_sleep_wake(struct acpi_device *dev,
|
||||
int acpi_power_get_inferred_state(struct acpi_device *device, int *state);
|
||||
int acpi_power_on_resources(struct acpi_device *device, int state);
|
||||
int acpi_power_transition(struct acpi_device *device, int state);
|
||||
void acpi_turn_off_unused_power_resources(void);
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
Device Power Management
|
||||
|
||||
@@ -995,6 +995,7 @@ void acpi_resume_power_resources(void)
|
||||
|
||||
mutex_unlock(&power_resource_list_lock);
|
||||
}
|
||||
#endif
|
||||
|
||||
void acpi_turn_off_unused_power_resources(void)
|
||||
{
|
||||
@@ -1015,4 +1016,3 @@ void acpi_turn_off_unused_power_resources(void)
|
||||
|
||||
mutex_unlock(&power_resource_list_lock);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -700,6 +700,7 @@ int acpi_device_add(struct acpi_device *device,
|
||||
|
||||
result = acpi_device_set_name(device, acpi_device_bus_id);
|
||||
if (result) {
|
||||
kfree_const(acpi_device_bus_id->bus_id);
|
||||
kfree(acpi_device_bus_id);
|
||||
goto err_unlock;
|
||||
}
|
||||
@@ -2359,6 +2360,8 @@ int __init acpi_scan_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
acpi_turn_off_unused_power_resources();
|
||||
|
||||
acpi_scan_initialized = true;
|
||||
|
||||
out:
|
||||
|
||||
@@ -8,7 +8,6 @@ extern struct list_head acpi_wakeup_device_list;
|
||||
extern struct mutex acpi_device_lock;
|
||||
|
||||
extern void acpi_resume_power_resources(void);
|
||||
extern void acpi_turn_off_unused_power_resources(void);
|
||||
|
||||
static inline acpi_status acpi_set_waking_vector(u32 wakeup_address)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user