]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
intel_idle: Initialize sysfs after cpuidle driver initialization
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Tue, 16 Dec 2025 08:04:00 +0000 (10:04 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 7 Jan 2026 20:17:42 +0000 (21:17 +0100)
Reorder initialization calls to initialize the internal driver data before
sysfs:

Was:
intel_idle_sysfs_init();
intel_idle_cpuidle_driver_init();

Now:
intel_idle_cpuidle_driver_init();
intel_idle_sysfs_init();

Follow the general principle that drivers should initialize internal state
before registering external interfaces like sysfs, avoiding potential usage
before full initialization.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Link: https://patch.msgid.link/20251216080402.156988-2-dedekind1@gmail.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/idle/intel_idle.c

index 2d67a091ed3f0ef35caa68ea8c14b5f863229353..f64463e00df7e7a51da89bf3bc227950fbab7ae5 100644 (file)
@@ -2455,12 +2455,12 @@ static int __init intel_idle_init(void)
        if (!intel_idle_cpuidle_devices)
                return -ENOMEM;
 
+       intel_idle_cpuidle_driver_init(&intel_idle_driver);
+
        retval = intel_idle_sysfs_init();
        if (retval)
                pr_warn("failed to initialized sysfs");
 
-       intel_idle_cpuidle_driver_init(&intel_idle_driver);
-
        retval = cpuidle_register_driver(&intel_idle_driver);
        if (retval) {
                struct cpuidle_driver *drv = cpuidle_get_driver();