]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (fam15h_power) Use generic power management
authorVaibhav Gupta <vaibhavgupta40@gmail.com>
Tue, 16 Dec 2025 18:13:59 +0000 (18:13 +0000)
committerGuenter Roeck <linux@roeck-us.net>
Sat, 31 Jan 2026 15:38:31 +0000 (07:38 -0800)
Switch to the generic PCI power management framework and remove legacy
.resume() callback. With the generic framework, the
standard PCI related work like:
        - pci_save/restore_state()
        - pci_enable/disable_device()
        - pci_set_power_state()
is handled by the PCI core and this driver should implement only
device specific operations in its respective callback function.

Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Link: https://lore.kernel.org/r/20251216181401.598273-1-vaibhavgupta40@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/fam15h_power.c

index 8ecebea53651132573595a712fb04411332a731f..efcbea2d070e47d9f4265222ce06a3f3a0fab639 100644 (file)
@@ -372,15 +372,14 @@ static void tweak_runavg_range(struct pci_dev *pdev)
                REG_TDP_RUNNING_AVERAGE, val);
 }
 
-#ifdef CONFIG_PM
-static int fam15h_power_resume(struct pci_dev *pdev)
+static int fam15h_power_resume(struct device *dev)
 {
+       struct pci_dev *pdev = to_pci_dev(dev);
        tweak_runavg_range(pdev);
        return 0;
 }
-#else
-#define fam15h_power_resume NULL
-#endif
+
+static DEFINE_SIMPLE_DEV_PM_OPS(fam15h_power_ops, NULL, fam15h_power_resume);
 
 static int fam15h_power_init_data(struct pci_dev *f4,
                                  struct fam15h_power_data *data)
@@ -493,7 +492,7 @@ static struct pci_driver fam15h_power_driver = {
        .name = "fam15h_power",
        .id_table = fam15h_power_id_table,
        .probe = fam15h_power_probe,
-       .resume = fam15h_power_resume,
+       .driver.pm = &fam15h_power_ops,
 };
 
 module_pci_driver(fam15h_power_driver);