Commit de34b81b authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'hwmon-for-linus-v3.18-rc5' of...

Merge tag 'hwmon-for-linus-v3.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon fixes from Guenter Roeck:
 - fix PCI device ID in fam15h_power driver
 - fix suspend/resume behavior in pwm-fan driver
 - reduce logging noise created by ibmpowernv driver

* tag 'hwmon-for-linus-v3.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  hwmon: (fam15h_power) Fix NB device ID for F16h M30h
  hwmon: (pwm-fan) Fix suspend/resume behavior
  hwmon: (ibmpowernv) Quieten when probing finds no device
parents 999f81dd 0bd52941
...@@ -234,7 +234,7 @@ static const struct pci_device_id fam15h_power_id_table[] = { ...@@ -234,7 +234,7 @@ static const struct pci_device_id fam15h_power_id_table[] = {
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_NB_F4) }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_NB_F4) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_M30H_NB_F4) }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_M30H_NB_F4) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_NB_F4) }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_NB_F4) },
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_M30H_NB_F3) }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_16H_M30H_NB_F4) },
{} {}
}; };
MODULE_DEVICE_TABLE(pci, fam15h_power_id_table); MODULE_DEVICE_TABLE(pci, fam15h_power_id_table);
......
...@@ -181,7 +181,7 @@ static int __init populate_attr_groups(struct platform_device *pdev) ...@@ -181,7 +181,7 @@ static int __init populate_attr_groups(struct platform_device *pdev)
opal = of_find_node_by_path("/ibm,opal/sensors"); opal = of_find_node_by_path("/ibm,opal/sensors");
if (!opal) { if (!opal) {
dev_err(&pdev->dev, "Opal node 'sensors' not found\n"); dev_dbg(&pdev->dev, "Opal node 'sensors' not found\n");
return -ENODEV; return -ENODEV;
} }
...@@ -335,7 +335,9 @@ static int __init ibmpowernv_init(void) ...@@ -335,7 +335,9 @@ static int __init ibmpowernv_init(void)
err = platform_driver_probe(&ibmpowernv_driver, ibmpowernv_probe); err = platform_driver_probe(&ibmpowernv_driver, ibmpowernv_probe);
if (err) { if (err) {
pr_err("Platfrom driver probe failed\n"); if (err != -ENODEV)
pr_err("Platform driver probe failed (%d)\n", err);
goto exit_device_del; goto exit_device_del;
} }
......
...@@ -161,10 +161,17 @@ static int pwm_fan_suspend(struct device *dev) ...@@ -161,10 +161,17 @@ static int pwm_fan_suspend(struct device *dev)
static int pwm_fan_resume(struct device *dev) static int pwm_fan_resume(struct device *dev)
{ {
struct pwm_fan_ctx *ctx = dev_get_drvdata(dev); struct pwm_fan_ctx *ctx = dev_get_drvdata(dev);
unsigned long duty;
int ret;
if (ctx->pwm_value) if (ctx->pwm_value == 0)
return pwm_enable(ctx->pwm); return 0;
return 0;
duty = DIV_ROUND_UP(ctx->pwm_value * (ctx->pwm->period - 1), MAX_PWM);
ret = pwm_config(ctx->pwm, duty, ctx->pwm->period);
if (ret)
return ret;
return pwm_enable(ctx->pwm);
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment