mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-05 09:36:39 -04:00
ACPI: scan: Reduce code duplication related to fixed event devices
Move duplicate fixed event device registration code from acpi_bus_scan_fixed() into a new function called acpi_bus_add_fixed_device_object() and make acpi_bus_scan_fixed() invoke that function as needed. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/1916860.atdPhlSkOF@rafael.j.wysocki
This commit is contained in:
@@ -2759,37 +2759,29 @@ int acpi_bus_register_early_device(int type)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(acpi_bus_register_early_device);
|
||||
|
||||
static void acpi_bus_add_fixed_device_object(enum acpi_bus_device_type type)
|
||||
{
|
||||
struct acpi_device *adev = NULL;
|
||||
|
||||
acpi_add_single_object(&adev, NULL, type, false);
|
||||
if (adev) {
|
||||
adev->flags.match_driver = true;
|
||||
if (device_attach(&adev->dev) >= 0)
|
||||
device_init_wakeup(&adev->dev, true);
|
||||
else
|
||||
dev_dbg(&adev->dev, "No driver\n");
|
||||
|
||||
acpi_default_enumeration(adev);
|
||||
}
|
||||
}
|
||||
|
||||
static void acpi_bus_scan_fixed(void)
|
||||
{
|
||||
if (!(acpi_gbl_FADT.flags & ACPI_FADT_POWER_BUTTON)) {
|
||||
struct acpi_device *adev = NULL;
|
||||
if (!(acpi_gbl_FADT.flags & ACPI_FADT_POWER_BUTTON))
|
||||
acpi_bus_add_fixed_device_object(ACPI_BUS_TYPE_POWER_BUTTON);
|
||||
|
||||
acpi_add_single_object(&adev, NULL, ACPI_BUS_TYPE_POWER_BUTTON,
|
||||
false);
|
||||
if (adev) {
|
||||
adev->flags.match_driver = true;
|
||||
if (device_attach(&adev->dev) >= 0)
|
||||
device_init_wakeup(&adev->dev, true);
|
||||
else
|
||||
dev_dbg(&adev->dev, "No driver\n");
|
||||
|
||||
acpi_default_enumeration(adev);
|
||||
}
|
||||
}
|
||||
|
||||
if (!(acpi_gbl_FADT.flags & ACPI_FADT_SLEEP_BUTTON)) {
|
||||
struct acpi_device *adev = NULL;
|
||||
|
||||
acpi_add_single_object(&adev, NULL, ACPI_BUS_TYPE_SLEEP_BUTTON,
|
||||
false);
|
||||
if (adev) {
|
||||
adev->flags.match_driver = true;
|
||||
if (device_attach(&adev->dev) < 0)
|
||||
dev_dbg(&adev->dev, "No driver\n");
|
||||
|
||||
acpi_default_enumeration(adev);
|
||||
}
|
||||
}
|
||||
if (!(acpi_gbl_FADT.flags & ACPI_FADT_SLEEP_BUTTON))
|
||||
acpi_bus_add_fixed_device_object(ACPI_BUS_TYPE_SLEEP_BUTTON);
|
||||
}
|
||||
|
||||
static void __init acpi_get_spcr_uart_addr(void)
|
||||
|
||||
Reference in New Issue
Block a user