summaryrefslogtreecommitdiff
path: root/drivers/thermal/da9062-thermal.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2023-03-27 14:46:13 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2023-03-27 14:46:13 +0300
commitce07727aff5bec20f29abe9263a51ed6a355b228 (patch)
tree6426666f65b35ced021c82458d9463f19bec2f4a /drivers/thermal/da9062-thermal.c
parent6babf38d894bec696761c10fbfccafceae76f4eb (diff)
parent2b6db9efa50799fa75ce609f24b355f29504bd9a (diff)
downloadlinux-ce07727aff5bec20f29abe9263a51ed6a355b228.tar.xz
Merge back thermal control material for 6.4-rc1.
Diffstat (limited to 'drivers/thermal/da9062-thermal.c')
-rw-r--r--drivers/thermal/da9062-thermal.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/thermal/da9062-thermal.c b/drivers/thermal/da9062-thermal.c
index a805a6666c44..2d31b1f73423 100644
--- a/drivers/thermal/da9062-thermal.c
+++ b/drivers/thermal/da9062-thermal.c
@@ -41,6 +41,8 @@
#define DA9062_MILLI_CELSIUS(t) ((t) * 1000)
+static unsigned int pp_tmp = DA9062_DEFAULT_POLLING_MS_PERIOD;
+
struct da9062_thermal_config {
const char *name;
};
@@ -95,7 +97,10 @@ static void da9062_thermal_poll_on(struct work_struct *work)
thermal_zone_device_update(thermal->zone,
THERMAL_EVENT_UNSPECIFIED);
- delay = thermal->zone->passive_delay_jiffies;
+ /*
+ * pp_tmp is between 1s and 10s, so we can round the jiffies
+ */
+ delay = round_jiffies(msecs_to_jiffies(pp_tmp));
queue_delayed_work(system_freezable_wq, &thermal->work, delay);
return;
}
@@ -123,7 +128,7 @@ static irqreturn_t da9062_thermal_irq_handler(int irq, void *data)
static int da9062_thermal_get_temp(struct thermal_zone_device *z,
int *temp)
{
- struct da9062_thermal *thermal = z->devdata;
+ struct da9062_thermal *thermal = thermal_zone_device_priv(z);
mutex_lock(&thermal->lock);
*temp = thermal->temperature;
@@ -155,7 +160,6 @@ static int da9062_thermal_probe(struct platform_device *pdev)
{
struct da9062 *chip = dev_get_drvdata(pdev->dev.parent);
struct da9062_thermal *thermal;
- unsigned int pp_tmp = DA9062_DEFAULT_POLLING_MS_PERIOD;
const struct of_device_id *match;
int ret = 0;
@@ -208,8 +212,7 @@ static int da9062_thermal_probe(struct platform_device *pdev)
}
dev_dbg(&pdev->dev,
- "TJUNC temperature polling period set at %d ms\n",
- jiffies_to_msecs(thermal->zone->passive_delay_jiffies));
+ "TJUNC temperature polling period set at %d ms\n", pp_tmp);
ret = platform_get_irq_byname(pdev, "THERMAL");
if (ret < 0)