[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251216181401.598273-1-vaibhavgupta40@gmail.com>
Date: Tue, 16 Dec 2025 18:13:59 +0000
From: Vaibhav Gupta <vaibhavgupta40@...il.com>
To: Huang Rui <ray.huang@....com>,
Guenter Roeck <linux@...ck-us.net>,
Bjorn Helgaas <bhelgaas@...gle.com>
Cc: Vaibhav Gupta <vaibhavgupta40@...il.com>,
linux-hwmon@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v1] hwmon: (fam15h_power) Use generic power management
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@...il.com>
---
drivers/hwmon/fam15h_power.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c
index 8ecebea53651..efcbea2d070e 100644
--- a/drivers/hwmon/fam15h_power.c
+++ b/drivers/hwmon/fam15h_power.c
@@ -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);
--
2.51.0
Powered by blists - more mailing lists