Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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@gmail.com>
Link: https://lore.kernel.org/r/20251216181401.598273-1-vaibhavgupta40@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

authored by

Vaibhav Gupta and committed by
Guenter Roeck
9ef5c106 bc5da988

+5 -6
+5 -6
drivers/hwmon/fam15h_power.c
··· 372 372 REG_TDP_RUNNING_AVERAGE, val); 373 373 } 374 374 375 - #ifdef CONFIG_PM 376 - static int fam15h_power_resume(struct pci_dev *pdev) 375 + static int fam15h_power_resume(struct device *dev) 377 376 { 377 + struct pci_dev *pdev = to_pci_dev(dev); 378 378 tweak_runavg_range(pdev); 379 379 return 0; 380 380 } 381 - #else 382 - #define fam15h_power_resume NULL 383 - #endif 381 + 382 + static DEFINE_SIMPLE_DEV_PM_OPS(fam15h_power_ops, NULL, fam15h_power_resume); 384 383 385 384 static int fam15h_power_init_data(struct pci_dev *f4, 386 385 struct fam15h_power_data *data) ··· 492 493 .name = "fam15h_power", 493 494 .id_table = fam15h_power_id_table, 494 495 .probe = fam15h_power_probe, 495 - .resume = fam15h_power_resume, 496 + .driver.pm = &fam15h_power_ops, 496 497 }; 497 498 498 499 module_pci_driver(fam15h_power_driver);