diff options
Diffstat (limited to 'drivers/hwmon/fam15h_power.c')
| -rw-r--r-- | drivers/hwmon/fam15h_power.c | 15 | 
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/hwmon/fam15h_power.c b/drivers/hwmon/fam15h_power.c index 2764b78a784..af69073b3fe 100644 --- a/drivers/hwmon/fam15h_power.c +++ b/drivers/hwmon/fam15h_power.c @@ -129,12 +129,12 @@ static bool __devinit fam15h_power_is_internal_node0(struct pci_dev *f4)   * counter saturations resulting in bogus power readings.   * We correct this value ourselves to cope with older BIOSes.   */ -static DEFINE_PCI_DEVICE_TABLE(affected_device) = { +static const struct pci_device_id affected_device[] = {  	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_NB_F4) },  	{ 0 }  }; -static void __devinit tweak_runavg_range(struct pci_dev *pdev) +static void tweak_runavg_range(struct pci_dev *pdev)  {  	u32 val; @@ -158,6 +158,16 @@ static void __devinit tweak_runavg_range(struct pci_dev *pdev)  		REG_TDP_RUNNING_AVERAGE, val);  } +#ifdef CONFIG_PM +static int fam15h_power_resume(struct pci_dev *pdev) +{ +	tweak_runavg_range(pdev); +	return 0; +} +#else +#define fam15h_power_resume NULL +#endif +  static void __devinit fam15h_power_init_data(struct pci_dev *f4,  					     struct fam15h_power_data *data)  { @@ -256,6 +266,7 @@ static struct pci_driver fam15h_power_driver = {  	.id_table = fam15h_power_id_table,  	.probe = fam15h_power_probe,  	.remove = __devexit_p(fam15h_power_remove), +	.resume = fam15h_power_resume,  };  module_pci_driver(fam15h_power_driver);  |