mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
thermal: int340x: processor_thermal: Set feature mask before proc_thermal_add
[ Upstream commit 6ebc25d8b053a208786295bab58abbb66b39c318 ] The function proc_thermal_add() adds sysfs entries for power limits. The feature mask of available features is not present at that time, so it cannot be used by proc_thermal_add() to selectively create sysfs attributes. The feature mask is set by proc_thermal_mmio_add(), so modify the code to call it before proc_thermal_add() so as to allow the latter to use the feature mask. There is no functional impact with this change. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> [ rjw: Changelog edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Stable-dep-of: 99ca0b57e49f ("thermal: intel: int340x: processor: Fix warning during module unload") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
30c3d3d9b7
commit
49c0fbd5e7
@@ -237,26 +237,26 @@ static int proc_thermal_pci_probe(struct pci_dev *pdev, const struct pci_device_
|
|||||||
|
|
||||||
INIT_DELAYED_WORK(&pci_info->work, proc_thermal_threshold_work_fn);
|
INIT_DELAYED_WORK(&pci_info->work, proc_thermal_threshold_work_fn);
|
||||||
|
|
||||||
ret = proc_thermal_add(&pdev->dev, proc_priv);
|
|
||||||
if (ret) {
|
|
||||||
dev_err(&pdev->dev, "error: proc_thermal_add, will continue\n");
|
|
||||||
pci_info->no_legacy = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
proc_priv->priv_data = pci_info;
|
proc_priv->priv_data = pci_info;
|
||||||
pci_info->proc_priv = proc_priv;
|
pci_info->proc_priv = proc_priv;
|
||||||
pci_set_drvdata(pdev, proc_priv);
|
pci_set_drvdata(pdev, proc_priv);
|
||||||
|
|
||||||
ret = proc_thermal_mmio_add(pdev, proc_priv, id->driver_data);
|
ret = proc_thermal_mmio_add(pdev, proc_priv, id->driver_data);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_ret_thermal;
|
return ret;
|
||||||
|
|
||||||
|
ret = proc_thermal_add(&pdev->dev, proc_priv);
|
||||||
|
if (ret) {
|
||||||
|
dev_err(&pdev->dev, "error: proc_thermal_add, will continue\n");
|
||||||
|
pci_info->no_legacy = 1;
|
||||||
|
}
|
||||||
|
|
||||||
pci_info->tzone = thermal_zone_device_register("TCPU_PCI", 1, 1, pci_info,
|
pci_info->tzone = thermal_zone_device_register("TCPU_PCI", 1, 1, pci_info,
|
||||||
&tzone_ops,
|
&tzone_ops,
|
||||||
&tzone_params, 0, 0);
|
&tzone_params, 0, 0);
|
||||||
if (IS_ERR(pci_info->tzone)) {
|
if (IS_ERR(pci_info->tzone)) {
|
||||||
ret = PTR_ERR(pci_info->tzone);
|
ret = PTR_ERR(pci_info->tzone);
|
||||||
goto err_ret_mmio;
|
goto err_del_legacy;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* request and enable interrupt */
|
/* request and enable interrupt */
|
||||||
@@ -283,11 +283,10 @@ err_free_vectors:
|
|||||||
pci_free_irq_vectors(pdev);
|
pci_free_irq_vectors(pdev);
|
||||||
err_ret_tzone:
|
err_ret_tzone:
|
||||||
thermal_zone_device_unregister(pci_info->tzone);
|
thermal_zone_device_unregister(pci_info->tzone);
|
||||||
err_ret_mmio:
|
err_del_legacy:
|
||||||
proc_thermal_mmio_remove(pdev, proc_priv);
|
|
||||||
err_ret_thermal:
|
|
||||||
if (!pci_info->no_legacy)
|
if (!pci_info->no_legacy)
|
||||||
proc_thermal_remove(proc_priv);
|
proc_thermal_remove(proc_priv);
|
||||||
|
proc_thermal_mmio_remove(pdev, proc_priv);
|
||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Reference in New Issue
Block a user