All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
To: linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	platform-driver-x86@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org
Cc: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
	"Len Brown" <lenb@kernel.org>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"David S . Miller" <davem@davemloft.net>,
	"Jiri Pirko" <jiri@mellanox.com>,
	"Ido Schimmel" <idosch@mellanox.com>,
	"Johannes Berg" <johannes.berg@intel.com>,
	"Emmanuel Grumbach" <emmanuel.grumbach@intel.com>,
	"Luca Coelho" <luciano.coelho@intel.com>,
	"Intel Linux Wireless" <linuxwifi@intel.com>,
	"Kalle Valo" <kvalo@codeaurora.org>,
	"Peter Kaestle" <peter@piie.net>,
	"Darren Hart" <dvhart@infradead.org>,
	"Andy Shevchenko" <andy@infradead.org>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Amit Kucheria" <amit.kucheria@verdurent.com>,
	"Support Opensource" <support.opensource@diasemi.com>,
	"Shawn Guo" <shawnguo@kernel.org>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Fabio Estevam" <festevam@gmail.com>,
	"NXP Linux Team" <linux-imx@nxp.com>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	"Heiko Stuebner" <heiko@sntech.de>,
	"Orson Zhai" <orsonzhai@gmail.com>,
	"Baolin Wang" <baolin.wang7@gmail.com>,
	"Chunyan Zhang" <zhang.lyra@gmail.com>,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Allison Randal" <allison@lohutok.net>,
	"Enrico Weigelt" <info@metux.net>,
	"Gayatri Kammela" <gayatri.kammela@intel.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Bartlomiej Zolnierkiewicz" <b.zolnierkie@samsung.com>,
	"Andrzej Pietrasiewicz" <andrzej.p@collabora.com>,
	kernel@collabora.com
Subject: [PATCH v6 08/11] thermal: Explicitly enable non-changing thermal zone devices
Date: Mon, 29 Jun 2020 13:16:12 +0200	[thread overview]
Message-ID: <20200629111615.18131-9-andrzej.p@collabora.com> (raw)
In-Reply-To: <20200629111615.18131-1-andrzej.p@collabora.com>

Some thermal zone devices never change their state, so they should be
always enabled.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c       | 8 ++++++++
 drivers/net/wireless/intel/iwlwifi/mvm/tt.c              | 9 ++++++++-
 drivers/platform/x86/intel_mid_thermal.c                 | 6 ++++++
 drivers/power/supply/power_supply_core.c                 | 9 +++++++--
 drivers/thermal/armada_thermal.c                         | 6 ++++++
 drivers/thermal/dove_thermal.c                           | 6 ++++++
 .../thermal/intel/int340x_thermal/int340x_thermal_zone.c | 5 +++++
 drivers/thermal/intel/intel_pch_thermal.c                | 5 +++++
 drivers/thermal/intel/intel_soc_dts_iosf.c               | 3 +++
 drivers/thermal/intel/x86_pkg_temp_thermal.c             | 6 ++++++
 drivers/thermal/kirkwood_thermal.c                       | 7 +++++++
 drivers/thermal/rcar_thermal.c                           | 9 ++++++++-
 drivers/thermal/spear_thermal.c                          | 7 +++++++
 drivers/thermal/st/st_thermal.c                          | 5 +++++
 14 files changed, 87 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
index 3de8a5e83b6c..e3510e9b21f3 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
@@ -92,6 +92,14 @@ int cxgb4_thermal_init(struct adapter *adap)
 		ch_thermal->tzdev = NULL;
 		return ret;
 	}
+
+	ret = thermal_zone_device_enable(ch_thermal->tzdev);
+	if (ret) {
+		dev_err(adap->pdev_dev, "Failed to enable thermal zone\n");
+		thermal_zone_device_unregister(adap->ch_thermal.tzdev);
+		return ret;
+	}
+
 	return 0;
 }
 
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
index 418e59b7c671..0c95663bf9ed 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
@@ -733,7 +733,7 @@ static  struct thermal_zone_device_ops tzone_ops = {
 
 static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
 {
-	int i;
+	int i, ret;
 	char name[16];
 	static atomic_t counter = ATOMIC_INIT(0);
 
@@ -759,6 +759,13 @@ static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
 		return;
 	}
 
+	ret = thermal_zone_device_enable(mvm->tz_device.tzone);
+	if (ret) {
+		IWL_DEBUG_TEMP(mvm, "Failed to enable thermal zone\n");
+		thermal_zone_device_unregister(mvm->tz_device.tzone);
+		return;
+	}
+
 	/* 0 is a valid temperature,
 	 * so initialize the array with S16_MIN which invalid temperature
 	 */
diff --git a/drivers/platform/x86/intel_mid_thermal.c b/drivers/platform/x86/intel_mid_thermal.c
index f402e2e74a38..f12f4e7bd971 100644
--- a/drivers/platform/x86/intel_mid_thermal.c
+++ b/drivers/platform/x86/intel_mid_thermal.c
@@ -493,6 +493,12 @@ static int mid_thermal_probe(struct platform_device *pdev)
 			ret = PTR_ERR(pinfo->tzd[i]);
 			goto err;
 		}
+		ret = thermal_zone_device_enable(pinfo->tzd[i]);
+		if (ret) {
+			kfree(td_info);
+			thermal_zone_device_unregister(pinfo->tzd[i]);
+			goto err;
+		}
 	}
 
 	pinfo->pdev = pdev;
diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index 02b37fe6061c..90e56736d479 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -939,7 +939,7 @@ static struct thermal_zone_device_ops psy_tzd_ops = {
 
 static int psy_register_thermal(struct power_supply *psy)
 {
-	int i;
+	int i, ret;
 
 	if (psy->desc->no_thermal)
 		return 0;
@@ -949,7 +949,12 @@ static int psy_register_thermal(struct power_supply *psy)
 		if (psy->desc->properties[i] == POWER_SUPPLY_PROP_TEMP) {
 			psy->tzd = thermal_zone_device_register(psy->desc->name,
 					0, 0, psy, &psy_tzd_ops, NULL, 0, 0);
-			return PTR_ERR_OR_ZERO(psy->tzd);
+			if (IS_ERR(psy->tzd))
+				return PTR_ERR(psy->tzd);
+			ret = thermal_zone_device_enable(psy->tzd);
+			if (ret)
+				thermal_zone_device_unregister(psy->tzd);
+			return ret;
 		}
 	}
 	return 0;
diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c
index 7c447cd149e7..c2ebfb5be4b3 100644
--- a/drivers/thermal/armada_thermal.c
+++ b/drivers/thermal/armada_thermal.c
@@ -874,6 +874,12 @@ static int armada_thermal_probe(struct platform_device *pdev)
 			return PTR_ERR(tz);
 		}
 
+		ret = thermal_zone_device_enable(tz);
+		if (ret) {
+			thermal_zone_device_unregister(tz);
+			return ret;
+		}
+
 		drvdata->type = LEGACY;
 		drvdata->data.tz = tz;
 		platform_set_drvdata(pdev, drvdata);
diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
index 75901ced4a62..73182eb94bc0 100644
--- a/drivers/thermal/dove_thermal.c
+++ b/drivers/thermal/dove_thermal.c
@@ -153,6 +153,12 @@ static int dove_thermal_probe(struct platform_device *pdev)
 		return PTR_ERR(thermal);
 	}
 
+	ret = thermal_zone_device_enable(thermal);
+	if (ret) {
+		thermal_zone_device_unregister(thermal);
+		return ret;
+	}
+
 	platform_set_drvdata(pdev, thermal);
 
 	return 0;
diff --git a/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c b/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
index 432213272f1e..6e479deff76b 100644
--- a/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
+++ b/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
@@ -259,9 +259,14 @@ struct int34x_thermal_zone *int340x_thermal_zone_add(struct acpi_device *adev,
 		ret = PTR_ERR(int34x_thermal_zone->zone);
 		goto err_thermal_zone;
 	}
+	ret = thermal_zone_device_enable(int34x_thermal_zone->zone);
+	if (ret)
+		goto err_enable;
 
 	return int34x_thermal_zone;
 
+err_enable:
+	thermal_zone_device_unregister(int34x_thermal_zone->zone);
 err_thermal_zone:
 	acpi_lpat_free_conversion_table(int34x_thermal_zone->lpat_table);
 	kfree(int34x_thermal_zone->aux_trips);
diff --git a/drivers/thermal/intel/intel_pch_thermal.c b/drivers/thermal/intel/intel_pch_thermal.c
index 56401fd4708d..65702094f3d3 100644
--- a/drivers/thermal/intel/intel_pch_thermal.c
+++ b/drivers/thermal/intel/intel_pch_thermal.c
@@ -352,9 +352,14 @@ static int intel_pch_thermal_probe(struct pci_dev *pdev,
 		err = PTR_ERR(ptd->tzd);
 		goto error_cleanup;
 	}
+	err = thermal_zone_device_enable(ptd->tzd);
+	if (err)
+		goto err_unregister;
 
 	return 0;
 
+err_unregister:
+	thermal_zone_device_unregister(ptd->tzd);
 error_cleanup:
 	iounmap(ptd->hw_base);
 error_release:
diff --git a/drivers/thermal/intel/intel_soc_dts_iosf.c b/drivers/thermal/intel/intel_soc_dts_iosf.c
index f75271b669c6..4f1a2f7c016c 100644
--- a/drivers/thermal/intel/intel_soc_dts_iosf.c
+++ b/drivers/thermal/intel/intel_soc_dts_iosf.c
@@ -329,6 +329,9 @@ static int add_dts_thermal_zone(int id, struct intel_soc_dts_sensor_entry *dts,
 		ret = PTR_ERR(dts->tzone);
 		goto err_ret;
 	}
+	ret = thermal_zone_device_enable(dts->tzone);
+	if (ret)
+		goto err_enable;
 
 	ret = soc_dts_enable(id);
 	if (ret)
diff --git a/drivers/thermal/intel/x86_pkg_temp_thermal.c b/drivers/thermal/intel/x86_pkg_temp_thermal.c
index a006b9fd1d72..b81c33202f41 100644
--- a/drivers/thermal/intel/x86_pkg_temp_thermal.c
+++ b/drivers/thermal/intel/x86_pkg_temp_thermal.c
@@ -363,6 +363,12 @@ static int pkg_temp_thermal_device_add(unsigned int cpu)
 		kfree(zonedev);
 		return err;
 	}
+	err = thermal_zone_device_enable(zonedev->tzone);
+	if (err) {
+		thermal_zone_device_unregister(zonedev->tzone);
+		kfree(zonedev);
+		return err;
+	}
 	/* Store MSR value for package thermal interrupt, to restore at exit */
 	rdmsr(MSR_IA32_PACKAGE_THERM_INTERRUPT, zonedev->msr_pkg_therm_low,
 	      zonedev->msr_pkg_therm_high);
diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
index 189b675cf14d..7fb6e476c82a 100644
--- a/drivers/thermal/kirkwood_thermal.c
+++ b/drivers/thermal/kirkwood_thermal.c
@@ -65,6 +65,7 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
 	struct thermal_zone_device *thermal = NULL;
 	struct kirkwood_thermal_priv *priv;
 	struct resource *res;
+	int ret;
 
 	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
 	if (!priv)
@@ -82,6 +83,12 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
 			"Failed to register thermal zone device\n");
 		return PTR_ERR(thermal);
 	}
+	ret = thermal_zone_device_enable(thermal);
+	if (ret) {
+		thermal_zone_device_unregister(thermal);
+		dev_err(&pdev->dev, "Failed to enable thermal zone device\n");
+		return ret;
+	}
 
 	platform_set_drvdata(pdev, thermal);
 
diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
index 46aeb28b4e90..787710bb88fe 100644
--- a/drivers/thermal/rcar_thermal.c
+++ b/drivers/thermal/rcar_thermal.c
@@ -550,12 +550,19 @@ static int rcar_thermal_probe(struct platform_device *pdev)
 			priv->zone = devm_thermal_zone_of_sensor_register(
 						dev, i, priv,
 						&rcar_thermal_zone_of_ops);
-		else
+		else {
 			priv->zone = thermal_zone_device_register(
 						"rcar_thermal",
 						1, 0, priv,
 						&rcar_thermal_zone_ops, NULL, 0,
 						idle);
+
+			ret = thermal_zone_device_enable(priv->zone);
+			if (ret) {
+				thermal_zone_device_unregister(priv->zone);
+				priv->zone = ERR_PTR(ret);
+			}
+		}
 		if (IS_ERR(priv->zone)) {
 			dev_err(dev, "can't register thermal zone\n");
 			ret = PTR_ERR(priv->zone);
diff --git a/drivers/thermal/spear_thermal.c b/drivers/thermal/spear_thermal.c
index f68f581fd669..ee33ed692e4f 100644
--- a/drivers/thermal/spear_thermal.c
+++ b/drivers/thermal/spear_thermal.c
@@ -131,6 +131,11 @@ static int spear_thermal_probe(struct platform_device *pdev)
 		ret = PTR_ERR(spear_thermal);
 		goto disable_clk;
 	}
+	ret = thermal_zone_device_enable(spear_thermal);
+	if (ret) {
+		dev_err(&pdev->dev, "Cannot enable thermal zone\n");
+		goto unregister_tzd;
+	}
 
 	platform_set_drvdata(pdev, spear_thermal);
 
@@ -139,6 +144,8 @@ static int spear_thermal_probe(struct platform_device *pdev)
 
 	return 0;
 
+unregister_tzd:
+	thermal_zone_device_unregister(spear_thermal);
 disable_clk:
 	clk_disable(stdev->clk);
 
diff --git a/drivers/thermal/st/st_thermal.c b/drivers/thermal/st/st_thermal.c
index b928ca6a289b..1276b95604fe 100644
--- a/drivers/thermal/st/st_thermal.c
+++ b/drivers/thermal/st/st_thermal.c
@@ -246,11 +246,16 @@ int st_thermal_register(struct platform_device *pdev,
 		ret = PTR_ERR(sensor->thermal_dev);
 		goto sensor_off;
 	}
+	ret = thermal_zone_device_enable(sensor->thermal_dev);
+	if (ret)
+		goto tzd_unregister;
 
 	platform_set_drvdata(pdev, sensor);
 
 	return 0;
 
+tzd_unregister:
+	thermal_zone_device_unregister(sensor->thermal_dev);
 sensor_off:
 	st_thermal_sensor_off(sensor);
 
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
To: linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	platform-driver-x86@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org
Cc: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>, Vishal Kulkarni <vishal@chelsio.com>,
	"David S . Miller" <davem@davemloft.net>,
	Jiri Pirko <jiri@mellanox.com>,
	Ido Schimmel <idosch@mellanox.com>,
	Johannes Berg <johannes.berg@intel.com>,
	Emmanuel Grumbach <emmanuel.grumbach@intel.com>,
	Luca Coelho <luciano.coelho@intel.com>,
	Intel Linux Wireless <linuxwifi@intel.com>,
	Kalle Valo <kvalo@codeaurora.org>, Peter Kaestle <peter@piie.net>,
	Darren Hart <dvhart@infradead.org>,
	Andy Shevchenko <andy@infradead.org>,
	Sebastian Reichel <sre@kernel.org>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Amit Kucheria <amit.kucheria@verdurent.com>,
	Support Opensource <support.opensource@diasemi.com>
Subject: [PATCH v6 08/11] thermal: Explicitly enable non-changing thermal zone devices
Date: Mon, 29 Jun 2020 13:16:12 +0200	[thread overview]
Message-ID: <20200629111615.18131-9-andrzej.p@collabora.com> (raw)
In-Reply-To: <20200629111615.18131-1-andrzej.p@collabora.com>

Some thermal zone devices never change their state, so they should be
always enabled.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c       | 8 ++++++++
 drivers/net/wireless/intel/iwlwifi/mvm/tt.c              | 9 ++++++++-
 drivers/platform/x86/intel_mid_thermal.c                 | 6 ++++++
 drivers/power/supply/power_supply_core.c                 | 9 +++++++--
 drivers/thermal/armada_thermal.c                         | 6 ++++++
 drivers/thermal/dove_thermal.c                           | 6 ++++++
 .../thermal/intel/int340x_thermal/int340x_thermal_zone.c | 5 +++++
 drivers/thermal/intel/intel_pch_thermal.c                | 5 +++++
 drivers/thermal/intel/intel_soc_dts_iosf.c               | 3 +++
 drivers/thermal/intel/x86_pkg_temp_thermal.c             | 6 ++++++
 drivers/thermal/kirkwood_thermal.c                       | 7 +++++++
 drivers/thermal/rcar_thermal.c                           | 9 ++++++++-
 drivers/thermal/spear_thermal.c                          | 7 +++++++
 drivers/thermal/st/st_thermal.c                          | 5 +++++
 14 files changed, 87 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
index 3de8a5e83b6c..e3510e9b21f3 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
@@ -92,6 +92,14 @@ int cxgb4_thermal_init(struct adapter *adap)
 		ch_thermal->tzdev = NULL;
 		return ret;
 	}
+
+	ret = thermal_zone_device_enable(ch_thermal->tzdev);
+	if (ret) {
+		dev_err(adap->pdev_dev, "Failed to enable thermal zone\n");
+		thermal_zone_device_unregister(adap->ch_thermal.tzdev);
+		return ret;
+	}
+
 	return 0;
 }
 
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
index 418e59b7c671..0c95663bf9ed 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
@@ -733,7 +733,7 @@ static  struct thermal_zone_device_ops tzone_ops = {
 
 static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
 {
-	int i;
+	int i, ret;
 	char name[16];
 	static atomic_t counter = ATOMIC_INIT(0);
 
@@ -759,6 +759,13 @@ static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
 		return;
 	}
 
+	ret = thermal_zone_device_enable(mvm->tz_device.tzone);
+	if (ret) {
+		IWL_DEBUG_TEMP(mvm, "Failed to enable thermal zone\n");
+		thermal_zone_device_unregister(mvm->tz_device.tzone);
+		return;
+	}
+
 	/* 0 is a valid temperature,
 	 * so initialize the array with S16_MIN which invalid temperature
 	 */
diff --git a/drivers/platform/x86/intel_mid_thermal.c b/drivers/platform/x86/intel_mid_thermal.c
index f402e2e74a38..f12f4e7bd971 100644
--- a/drivers/platform/x86/intel_mid_thermal.c
+++ b/drivers/platform/x86/intel_mid_thermal.c
@@ -493,6 +493,12 @@ static int mid_thermal_probe(struct platform_device *pdev)
 			ret = PTR_ERR(pinfo->tzd[i]);
 			goto err;
 		}
+		ret = thermal_zone_device_enable(pinfo->tzd[i]);
+		if (ret) {
+			kfree(td_info);
+			thermal_zone_device_unregister(pinfo->tzd[i]);
+			goto err;
+		}
 	}
 
 	pinfo->pdev = pdev;
diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index 02b37fe6061c..90e56736d479 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -939,7 +939,7 @@ static struct thermal_zone_device_ops psy_tzd_ops = {
 
 static int psy_register_thermal(struct power_supply *psy)
 {
-	int i;
+	int i, ret;
 
 	if (psy->desc->no_thermal)
 		return 0;
@@ -949,7 +949,12 @@ static int psy_register_thermal(struct power_supply *psy)
 		if (psy->desc->properties[i] == POWER_SUPPLY_PROP_TEMP) {
 			psy->tzd = thermal_zone_device_register(psy->desc->name,
 					0, 0, psy, &psy_tzd_ops, NULL, 0, 0);
-			return PTR_ERR_OR_ZERO(psy->tzd);
+			if (IS_ERR(psy->tzd))
+				return PTR_ERR(psy->tzd);
+			ret = thermal_zone_device_enable(psy->tzd);
+			if (ret)
+				thermal_zone_device_unregister(psy->tzd);
+			return ret;
 		}
 	}
 	return 0;
diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c
index 7c447cd149e7..c2ebfb5be4b3 100644
--- a/drivers/thermal/armada_thermal.c
+++ b/drivers/thermal/armada_thermal.c
@@ -874,6 +874,12 @@ static int armada_thermal_probe(struct platform_device *pdev)
 			return PTR_ERR(tz);
 		}
 
+		ret = thermal_zone_device_enable(tz);
+		if (ret) {
+			thermal_zone_device_unregister(tz);
+			return ret;
+		}
+
 		drvdata->type = LEGACY;
 		drvdata->data.tz = tz;
 		platform_set_drvdata(pdev, drvdata);
diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
index 75901ced4a62..73182eb94bc0 100644
--- a/drivers/thermal/dove_thermal.c
+++ b/drivers/thermal/dove_thermal.c
@@ -153,6 +153,12 @@ static int dove_thermal_probe(struct platform_device *pdev)
 		return PTR_ERR(thermal);
 	}
 
+	ret = thermal_zone_device_enable(thermal);
+	if (ret) {
+		thermal_zone_device_unregister(thermal);
+		return ret;
+	}
+
 	platform_set_drvdata(pdev, thermal);
 
 	return 0;
diff --git a/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c b/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
index 432213272f1e..6e479deff76b 100644
--- a/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
+++ b/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
@@ -259,9 +259,14 @@ struct int34x_thermal_zone *int340x_thermal_zone_add(struct acpi_device *adev,
 		ret = PTR_ERR(int34x_thermal_zone->zone);
 		goto err_thermal_zone;
 	}
+	ret = thermal_zone_device_enable(int34x_thermal_zone->zone);
+	if (ret)
+		goto err_enable;
 
 	return int34x_thermal_zone;
 
+err_enable:
+	thermal_zone_device_unregister(int34x_thermal_zone->zone);
 err_thermal_zone:
 	acpi_lpat_free_conversion_table(int34x_thermal_zone->lpat_table);
 	kfree(int34x_thermal_zone->aux_trips);
diff --git a/drivers/thermal/intel/intel_pch_thermal.c b/drivers/thermal/intel/intel_pch_thermal.c
index 56401fd4708d..65702094f3d3 100644
--- a/drivers/thermal/intel/intel_pch_thermal.c
+++ b/drivers/thermal/intel/intel_pch_thermal.c
@@ -352,9 +352,14 @@ static int intel_pch_thermal_probe(struct pci_dev *pdev,
 		err = PTR_ERR(ptd->tzd);
 		goto error_cleanup;
 	}
+	err = thermal_zone_device_enable(ptd->tzd);
+	if (err)
+		goto err_unregister;
 
 	return 0;
 
+err_unregister:
+	thermal_zone_device_unregister(ptd->tzd);
 error_cleanup:
 	iounmap(ptd->hw_base);
 error_release:
diff --git a/drivers/thermal/intel/intel_soc_dts_iosf.c b/drivers/thermal/intel/intel_soc_dts_iosf.c
index f75271b669c6..4f1a2f7c016c 100644
--- a/drivers/thermal/intel/intel_soc_dts_iosf.c
+++ b/drivers/thermal/intel/intel_soc_dts_iosf.c
@@ -329,6 +329,9 @@ static int add_dts_thermal_zone(int id, struct intel_soc_dts_sensor_entry *dts,
 		ret = PTR_ERR(dts->tzone);
 		goto err_ret;
 	}
+	ret = thermal_zone_device_enable(dts->tzone);
+	if (ret)
+		goto err_enable;
 
 	ret = soc_dts_enable(id);
 	if (ret)
diff --git a/drivers/thermal/intel/x86_pkg_temp_thermal.c b/drivers/thermal/intel/x86_pkg_temp_thermal.c
index a006b9fd1d72..b81c33202f41 100644
--- a/drivers/thermal/intel/x86_pkg_temp_thermal.c
+++ b/drivers/thermal/intel/x86_pkg_temp_thermal.c
@@ -363,6 +363,12 @@ static int pkg_temp_thermal_device_add(unsigned int cpu)
 		kfree(zonedev);
 		return err;
 	}
+	err = thermal_zone_device_enable(zonedev->tzone);
+	if (err) {
+		thermal_zone_device_unregister(zonedev->tzone);
+		kfree(zonedev);
+		return err;
+	}
 	/* Store MSR value for package thermal interrupt, to restore at exit */
 	rdmsr(MSR_IA32_PACKAGE_THERM_INTERRUPT, zonedev->msr_pkg_therm_low,
 	      zonedev->msr_pkg_therm_high);
diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
index 189b675cf14d..7fb6e476c82a 100644
--- a/drivers/thermal/kirkwood_thermal.c
+++ b/drivers/thermal/kirkwood_thermal.c
@@ -65,6 +65,7 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
 	struct thermal_zone_device *thermal = NULL;
 	struct kirkwood_thermal_priv *priv;
 	struct resource *res;
+	int ret;
 
 	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
 	if (!priv)
@@ -82,6 +83,12 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
 			"Failed to register thermal zone device\n");
 		return PTR_ERR(thermal);
 	}
+	ret = thermal_zone_device_enable(thermal);
+	if (ret) {
+		thermal_zone_device_unregister(thermal);
+		dev_err(&pdev->dev, "Failed to enable thermal zone device\n");
+		return ret;
+	}
 
 	platform_set_drvdata(pdev, thermal);
 
diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
index 46aeb28b4e90..787710bb88fe 100644
--- a/drivers/thermal/rcar_thermal.c
+++ b/drivers/thermal/rcar_thermal.c
@@ -550,12 +550,19 @@ static int rcar_thermal_probe(struct platform_device *pdev)
 			priv->zone = devm_thermal_zone_of_sensor_register(
 						dev, i, priv,
 						&rcar_thermal_zone_of_ops);
-		else
+		else {
 			priv->zone = thermal_zone_device_register(
 						"rcar_thermal",
 						1, 0, priv,
 						&rcar_thermal_zone_ops, NULL, 0,
 						idle);
+
+			ret = thermal_zone_device_enable(priv->zone);
+			if (ret) {
+				thermal_zone_device_unregister(priv->zone);
+				priv->zone = ERR_PTR(ret);
+			}
+		}
 		if (IS_ERR(priv->zone)) {
 			dev_err(dev, "can't register thermal zone\n");
 			ret = PTR_ERR(priv->zone);
diff --git a/drivers/thermal/spear_thermal.c b/drivers/thermal/spear_thermal.c
index f68f581fd669..ee33ed692e4f 100644
--- a/drivers/thermal/spear_thermal.c
+++ b/drivers/thermal/spear_thermal.c
@@ -131,6 +131,11 @@ static int spear_thermal_probe(struct platform_device *pdev)
 		ret = PTR_ERR(spear_thermal);
 		goto disable_clk;
 	}
+	ret = thermal_zone_device_enable(spear_thermal);
+	if (ret) {
+		dev_err(&pdev->dev, "Cannot enable thermal zone\n");
+		goto unregister_tzd;
+	}
 
 	platform_set_drvdata(pdev, spear_thermal);
 
@@ -139,6 +144,8 @@ static int spear_thermal_probe(struct platform_device *pdev)
 
 	return 0;
 
+unregister_tzd:
+	thermal_zone_device_unregister(spear_thermal);
 disable_clk:
 	clk_disable(stdev->clk);
 
diff --git a/drivers/thermal/st/st_thermal.c b/drivers/thermal/st/st_thermal.c
index b928ca6a289b..1276b95604fe 100644
--- a/drivers/thermal/st/st_thermal.c
+++ b/drivers/thermal/st/st_thermal.c
@@ -246,11 +246,16 @@ int st_thermal_register(struct platform_device *pdev,
 		ret = PTR_ERR(sensor->thermal_dev);
 		goto sensor_off;
 	}
+	ret = thermal_zone_device_enable(sensor->thermal_dev);
+	if (ret)
+		goto tzd_unregister;
 
 	platform_set_drvdata(pdev, sensor);
 
 	return 0;
 
+tzd_unregister:
+	thermal_zone_device_unregister(sensor->thermal_dev);
 sensor_off:
 	st_thermal_sensor_off(sensor);
 
-- 
2.17.1

WARNING: multiple messages have this Message-ID (diff)
From: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
To: linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	platform-driver-x86@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-renesas-soc@vger.kernel.org,
	linux-rockchip@lists.infradead.org
Cc: "Emmanuel Grumbach" <emmanuel.grumbach@intel.com>,
	"Heiko Stuebner" <heiko@sntech.de>,
	"Rafael J . Wysocki" <rjw@rjwysocki.net>,
	"Vishal Kulkarni" <vishal@chelsio.com>,
	"Luca Coelho" <luciano.coelho@intel.com>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	kernel@collabora.com, "Fabio Estevam" <festevam@gmail.com>,
	"Amit Kucheria" <amit.kucheria@verdurent.com>,
	"Chunyan Zhang" <zhang.lyra@gmail.com>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Allison Randal" <allison@lohutok.net>,
	"NXP Linux Team" <linux-imx@nxp.com>,
	"Darren Hart" <dvhart@infradead.org>,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Gayatri Kammela" <gayatri.kammela@intel.com>,
	"Len Brown" <lenb@kernel.org>,
	"Johannes Berg" <johannes.berg@intel.com>,
	"Intel Linux Wireless" <linuxwifi@intel.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Ido Schimmel" <idosch@mellanox.com>,
	"Baolin Wang" <baolin.wang7@gmail.com>,
	"Jiri Pirko" <jiri@mellanox.com>,
	"Orson Zhai" <orsonzhai@gmail.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Kalle Valo" <kvalo@codeaurora.org>,
	"Support Opensource" <support.opensource@diasemi.com>,
	"Enrico Weigelt" <info@metux.net>,
	"Peter Kaestle" <peter@piie.net>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Andrzej Pietrasiewicz" <andrzej.p@collabora.com>,
	"Bartlomiej Zolnierkiewicz" <b.zolnierkie@samsung.com>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	"Shawn Guo" <shawnguo@kernel.org>,
	"David S . Miller" <davem@davemloft.net>,
	"Andy Shevchenko" <andy@infradead.org>
Subject: [PATCH v6 08/11] thermal: Explicitly enable non-changing thermal zone devices
Date: Mon, 29 Jun 2020 13:16:12 +0200	[thread overview]
Message-ID: <20200629111615.18131-9-andrzej.p@collabora.com> (raw)
In-Reply-To: <20200629111615.18131-1-andrzej.p@collabora.com>

Some thermal zone devices never change their state, so they should be
always enabled.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
---
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c       | 8 ++++++++
 drivers/net/wireless/intel/iwlwifi/mvm/tt.c              | 9 ++++++++-
 drivers/platform/x86/intel_mid_thermal.c                 | 6 ++++++
 drivers/power/supply/power_supply_core.c                 | 9 +++++++--
 drivers/thermal/armada_thermal.c                         | 6 ++++++
 drivers/thermal/dove_thermal.c                           | 6 ++++++
 .../thermal/intel/int340x_thermal/int340x_thermal_zone.c | 5 +++++
 drivers/thermal/intel/intel_pch_thermal.c                | 5 +++++
 drivers/thermal/intel/intel_soc_dts_iosf.c               | 3 +++
 drivers/thermal/intel/x86_pkg_temp_thermal.c             | 6 ++++++
 drivers/thermal/kirkwood_thermal.c                       | 7 +++++++
 drivers/thermal/rcar_thermal.c                           | 9 ++++++++-
 drivers/thermal/spear_thermal.c                          | 7 +++++++
 drivers/thermal/st/st_thermal.c                          | 5 +++++
 14 files changed, 87 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
index 3de8a5e83b6c..e3510e9b21f3 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c
@@ -92,6 +92,14 @@ int cxgb4_thermal_init(struct adapter *adap)
 		ch_thermal->tzdev = NULL;
 		return ret;
 	}
+
+	ret = thermal_zone_device_enable(ch_thermal->tzdev);
+	if (ret) {
+		dev_err(adap->pdev_dev, "Failed to enable thermal zone\n");
+		thermal_zone_device_unregister(adap->ch_thermal.tzdev);
+		return ret;
+	}
+
 	return 0;
 }
 
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
index 418e59b7c671..0c95663bf9ed 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
@@ -733,7 +733,7 @@ static  struct thermal_zone_device_ops tzone_ops = {
 
 static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
 {
-	int i;
+	int i, ret;
 	char name[16];
 	static atomic_t counter = ATOMIC_INIT(0);
 
@@ -759,6 +759,13 @@ static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
 		return;
 	}
 
+	ret = thermal_zone_device_enable(mvm->tz_device.tzone);
+	if (ret) {
+		IWL_DEBUG_TEMP(mvm, "Failed to enable thermal zone\n");
+		thermal_zone_device_unregister(mvm->tz_device.tzone);
+		return;
+	}
+
 	/* 0 is a valid temperature,
 	 * so initialize the array with S16_MIN which invalid temperature
 	 */
diff --git a/drivers/platform/x86/intel_mid_thermal.c b/drivers/platform/x86/intel_mid_thermal.c
index f402e2e74a38..f12f4e7bd971 100644
--- a/drivers/platform/x86/intel_mid_thermal.c
+++ b/drivers/platform/x86/intel_mid_thermal.c
@@ -493,6 +493,12 @@ static int mid_thermal_probe(struct platform_device *pdev)
 			ret = PTR_ERR(pinfo->tzd[i]);
 			goto err;
 		}
+		ret = thermal_zone_device_enable(pinfo->tzd[i]);
+		if (ret) {
+			kfree(td_info);
+			thermal_zone_device_unregister(pinfo->tzd[i]);
+			goto err;
+		}
 	}
 
 	pinfo->pdev = pdev;
diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index 02b37fe6061c..90e56736d479 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -939,7 +939,7 @@ static struct thermal_zone_device_ops psy_tzd_ops = {
 
 static int psy_register_thermal(struct power_supply *psy)
 {
-	int i;
+	int i, ret;
 
 	if (psy->desc->no_thermal)
 		return 0;
@@ -949,7 +949,12 @@ static int psy_register_thermal(struct power_supply *psy)
 		if (psy->desc->properties[i] == POWER_SUPPLY_PROP_TEMP) {
 			psy->tzd = thermal_zone_device_register(psy->desc->name,
 					0, 0, psy, &psy_tzd_ops, NULL, 0, 0);
-			return PTR_ERR_OR_ZERO(psy->tzd);
+			if (IS_ERR(psy->tzd))
+				return PTR_ERR(psy->tzd);
+			ret = thermal_zone_device_enable(psy->tzd);
+			if (ret)
+				thermal_zone_device_unregister(psy->tzd);
+			return ret;
 		}
 	}
 	return 0;
diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c
index 7c447cd149e7..c2ebfb5be4b3 100644
--- a/drivers/thermal/armada_thermal.c
+++ b/drivers/thermal/armada_thermal.c
@@ -874,6 +874,12 @@ static int armada_thermal_probe(struct platform_device *pdev)
 			return PTR_ERR(tz);
 		}
 
+		ret = thermal_zone_device_enable(tz);
+		if (ret) {
+			thermal_zone_device_unregister(tz);
+			return ret;
+		}
+
 		drvdata->type = LEGACY;
 		drvdata->data.tz = tz;
 		platform_set_drvdata(pdev, drvdata);
diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
index 75901ced4a62..73182eb94bc0 100644
--- a/drivers/thermal/dove_thermal.c
+++ b/drivers/thermal/dove_thermal.c
@@ -153,6 +153,12 @@ static int dove_thermal_probe(struct platform_device *pdev)
 		return PTR_ERR(thermal);
 	}
 
+	ret = thermal_zone_device_enable(thermal);
+	if (ret) {
+		thermal_zone_device_unregister(thermal);
+		return ret;
+	}
+
 	platform_set_drvdata(pdev, thermal);
 
 	return 0;
diff --git a/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c b/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
index 432213272f1e..6e479deff76b 100644
--- a/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
+++ b/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
@@ -259,9 +259,14 @@ struct int34x_thermal_zone *int340x_thermal_zone_add(struct acpi_device *adev,
 		ret = PTR_ERR(int34x_thermal_zone->zone);
 		goto err_thermal_zone;
 	}
+	ret = thermal_zone_device_enable(int34x_thermal_zone->zone);
+	if (ret)
+		goto err_enable;
 
 	return int34x_thermal_zone;
 
+err_enable:
+	thermal_zone_device_unregister(int34x_thermal_zone->zone);
 err_thermal_zone:
 	acpi_lpat_free_conversion_table(int34x_thermal_zone->lpat_table);
 	kfree(int34x_thermal_zone->aux_trips);
diff --git a/drivers/thermal/intel/intel_pch_thermal.c b/drivers/thermal/intel/intel_pch_thermal.c
index 56401fd4708d..65702094f3d3 100644
--- a/drivers/thermal/intel/intel_pch_thermal.c
+++ b/drivers/thermal/intel/intel_pch_thermal.c
@@ -352,9 +352,14 @@ static int intel_pch_thermal_probe(struct pci_dev *pdev,
 		err = PTR_ERR(ptd->tzd);
 		goto error_cleanup;
 	}
+	err = thermal_zone_device_enable(ptd->tzd);
+	if (err)
+		goto err_unregister;
 
 	return 0;
 
+err_unregister:
+	thermal_zone_device_unregister(ptd->tzd);
 error_cleanup:
 	iounmap(ptd->hw_base);
 error_release:
diff --git a/drivers/thermal/intel/intel_soc_dts_iosf.c b/drivers/thermal/intel/intel_soc_dts_iosf.c
index f75271b669c6..4f1a2f7c016c 100644
--- a/drivers/thermal/intel/intel_soc_dts_iosf.c
+++ b/drivers/thermal/intel/intel_soc_dts_iosf.c
@@ -329,6 +329,9 @@ static int add_dts_thermal_zone(int id, struct intel_soc_dts_sensor_entry *dts,
 		ret = PTR_ERR(dts->tzone);
 		goto err_ret;
 	}
+	ret = thermal_zone_device_enable(dts->tzone);
+	if (ret)
+		goto err_enable;
 
 	ret = soc_dts_enable(id);
 	if (ret)
diff --git a/drivers/thermal/intel/x86_pkg_temp_thermal.c b/drivers/thermal/intel/x86_pkg_temp_thermal.c
index a006b9fd1d72..b81c33202f41 100644
--- a/drivers/thermal/intel/x86_pkg_temp_thermal.c
+++ b/drivers/thermal/intel/x86_pkg_temp_thermal.c
@@ -363,6 +363,12 @@ static int pkg_temp_thermal_device_add(unsigned int cpu)
 		kfree(zonedev);
 		return err;
 	}
+	err = thermal_zone_device_enable(zonedev->tzone);
+	if (err) {
+		thermal_zone_device_unregister(zonedev->tzone);
+		kfree(zonedev);
+		return err;
+	}
 	/* Store MSR value for package thermal interrupt, to restore at exit */
 	rdmsr(MSR_IA32_PACKAGE_THERM_INTERRUPT, zonedev->msr_pkg_therm_low,
 	      zonedev->msr_pkg_therm_high);
diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
index 189b675cf14d..7fb6e476c82a 100644
--- a/drivers/thermal/kirkwood_thermal.c
+++ b/drivers/thermal/kirkwood_thermal.c
@@ -65,6 +65,7 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
 	struct thermal_zone_device *thermal = NULL;
 	struct kirkwood_thermal_priv *priv;
 	struct resource *res;
+	int ret;
 
 	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
 	if (!priv)
@@ -82,6 +83,12 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
 			"Failed to register thermal zone device\n");
 		return PTR_ERR(thermal);
 	}
+	ret = thermal_zone_device_enable(thermal);
+	if (ret) {
+		thermal_zone_device_unregister(thermal);
+		dev_err(&pdev->dev, "Failed to enable thermal zone device\n");
+		return ret;
+	}
 
 	platform_set_drvdata(pdev, thermal);
 
diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
index 46aeb28b4e90..787710bb88fe 100644
--- a/drivers/thermal/rcar_thermal.c
+++ b/drivers/thermal/rcar_thermal.c
@@ -550,12 +550,19 @@ static int rcar_thermal_probe(struct platform_device *pdev)
 			priv->zone = devm_thermal_zone_of_sensor_register(
 						dev, i, priv,
 						&rcar_thermal_zone_of_ops);
-		else
+		else {
 			priv->zone = thermal_zone_device_register(
 						"rcar_thermal",
 						1, 0, priv,
 						&rcar_thermal_zone_ops, NULL, 0,
 						idle);
+
+			ret = thermal_zone_device_enable(priv->zone);
+			if (ret) {
+				thermal_zone_device_unregister(priv->zone);
+				priv->zone = ERR_PTR(ret);
+			}
+		}
 		if (IS_ERR(priv->zone)) {
 			dev_err(dev, "can't register thermal zone\n");
 			ret = PTR_ERR(priv->zone);
diff --git a/drivers/thermal/spear_thermal.c b/drivers/thermal/spear_thermal.c
index f68f581fd669..ee33ed692e4f 100644
--- a/drivers/thermal/spear_thermal.c
+++ b/drivers/thermal/spear_thermal.c
@@ -131,6 +131,11 @@ static int spear_thermal_probe(struct platform_device *pdev)
 		ret = PTR_ERR(spear_thermal);
 		goto disable_clk;
 	}
+	ret = thermal_zone_device_enable(spear_thermal);
+	if (ret) {
+		dev_err(&pdev->dev, "Cannot enable thermal zone\n");
+		goto unregister_tzd;
+	}
 
 	platform_set_drvdata(pdev, spear_thermal);
 
@@ -139,6 +144,8 @@ static int spear_thermal_probe(struct platform_device *pdev)
 
 	return 0;
 
+unregister_tzd:
+	thermal_zone_device_unregister(spear_thermal);
 disable_clk:
 	clk_disable(stdev->clk);
 
diff --git a/drivers/thermal/st/st_thermal.c b/drivers/thermal/st/st_thermal.c
index b928ca6a289b..1276b95604fe 100644
--- a/drivers/thermal/st/st_thermal.c
+++ b/drivers/thermal/st/st_thermal.c
@@ -246,11 +246,16 @@ int st_thermal_register(struct platform_device *pdev,
 		ret = PTR_ERR(sensor->thermal_dev);
 		goto sensor_off;
 	}
+	ret = thermal_zone_device_enable(sensor->thermal_dev);
+	if (ret)
+		goto tzd_unregister;
 
 	platform_set_drvdata(pdev, sensor);
 
 	return 0;
 
+tzd_unregister:
+	thermal_zone_device_unregister(sensor->thermal_dev);
 sensor_off:
 	st_thermal_sensor_off(sensor);
 
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-06-29 20:51 UTC|newest]

Thread overview: 412+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Message-ID: <4493c0e4-51aa-3907-810c-74949ff27ca4@samsung.com>
2020-05-28 19:20 ` [PATCH v4 00/11] Stop monitoring disabled devices Andrzej Pietrasiewicz
2020-05-28 19:20   ` Andrzej Pietrasiewicz
2020-05-28 19:20   ` Andrzej Pietrasiewicz
2020-05-28 19:20   ` [PATCH v4 01/11] acpi: thermal: Fix error handling in the register function Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-29 14:50     ` Guenter Roeck
2020-05-29 14:50       ` Guenter Roeck
2020-05-29 14:50       ` Guenter Roeck
2020-06-24  8:16     ` Bartlomiej Zolnierkiewicz
2020-06-24  8:16       ` Bartlomiej Zolnierkiewicz
2020-06-24  8:16       ` Bartlomiej Zolnierkiewicz
2020-06-24 12:54     ` Rafael J. Wysocki
2020-06-26 17:31       ` Andrzej Pietrasiewicz
2020-06-26 17:36         ` Rafael J. Wysocki
2020-05-28 19:20   ` [PATCH v4 02/11] thermal: Store thermal mode in a dedicated enum Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-29 14:48     ` Guenter Roeck
2020-05-29 14:48       ` Guenter Roeck
2020-05-29 14:48       ` Guenter Roeck
2020-05-29 15:13       ` Andrzej Pietrasiewicz
2020-05-29 15:13         ` Andrzej Pietrasiewicz
2020-05-29 15:13         ` Andrzej Pietrasiewicz
2020-05-29 15:34         ` Guenter Roeck
2020-05-29 15:34           ` Guenter Roeck
2020-05-29 15:34           ` Guenter Roeck
2020-06-24  9:38     ` Bartlomiej Zolnierkiewicz
2020-06-24  9:38       ` Bartlomiej Zolnierkiewicz
2020-06-24  9:38       ` Bartlomiej Zolnierkiewicz
2020-05-28 19:20   ` [PATCH v4 03/11] thermal: Add current mode to thermal zone device Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-29 14:51     ` Guenter Roeck
2020-05-29 14:51       ` Guenter Roeck
2020-05-29 14:51       ` Guenter Roeck
2020-06-24  9:39     ` Bartlomiej Zolnierkiewicz
2020-06-24  9:39       ` Bartlomiej Zolnierkiewicz
2020-06-24  9:39       ` Bartlomiej Zolnierkiewicz
2020-05-28 19:20   ` [PATCH v4 04/11] thermal: Store device mode in struct thermal_zone_device Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-06-24  9:40     ` Bartlomiej Zolnierkiewicz
2020-06-24  9:40       ` Bartlomiej Zolnierkiewicz
2020-06-24  9:40       ` Bartlomiej Zolnierkiewicz
2020-05-28 19:20   ` [PATCH v4 05/11] thermal: remove get_mode() operation of drivers Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-06-24  9:47     ` Bartlomiej Zolnierkiewicz
2020-06-24  9:47       ` Bartlomiej Zolnierkiewicz
2020-06-24  9:47       ` Bartlomiej Zolnierkiewicz
2020-05-28 19:20   ` [PATCH v4 06/11] thermal: Add mode helpers Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-06-24  9:49     ` Bartlomiej Zolnierkiewicz
2020-06-24  9:49       ` Bartlomiej Zolnierkiewicz
2020-06-24  9:49       ` Bartlomiej Zolnierkiewicz
2020-05-28 19:20   ` [PATCH v4 07/11] thermal: Use mode helpers in drivers Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-06-24  9:51     ` Bartlomiej Zolnierkiewicz
2020-06-24  9:51       ` Bartlomiej Zolnierkiewicz
2020-06-24  9:51       ` Bartlomiej Zolnierkiewicz
2020-06-26 16:08       ` Andrzej Pietrasiewicz
2020-06-26 16:08         ` Andrzej Pietrasiewicz
2020-06-26 16:08         ` Andrzej Pietrasiewicz
2020-05-28 19:20   ` [PATCH v4 08/11] thermal: Explicitly enable non-changing thermal zone devices Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-06-24 10:00     ` Bartlomiej Zolnierkiewicz
2020-06-24 10:00       ` Bartlomiej Zolnierkiewicz
2020-06-24 10:00       ` Bartlomiej Zolnierkiewicz
2020-05-28 19:20   ` [PATCH v4 09/11] thermal: core: Stop polling DISABLED thermal devices Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-06-24 10:02     ` Bartlomiej Zolnierkiewicz
2020-06-24 10:02       ` Bartlomiej Zolnierkiewicz
2020-06-24 10:02       ` Bartlomiej Zolnierkiewicz
2020-05-28 19:20   ` [PATCH v4 10/11] thermal: Simplify or eliminate unnecessary set_mode() methods Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-06-24 10:03     ` Bartlomiej Zolnierkiewicz
2020-06-24 10:03       ` Bartlomiej Zolnierkiewicz
2020-06-24 10:03       ` Bartlomiej Zolnierkiewicz
2020-05-28 19:20   ` [PATCH v4 11/11] thermal: Rename set_mode() to change_mode() Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-05-28 19:20     ` Andrzej Pietrasiewicz
2020-06-24 10:03     ` Bartlomiej Zolnierkiewicz
2020-06-24 10:03       ` Bartlomiej Zolnierkiewicz
2020-06-24 10:03       ` Bartlomiej Zolnierkiewicz
2020-06-01 11:36   ` [PATCH v4 02/11] thermal: Store thermal mode in a dedicated enum Peter Kästle
2020-06-01 11:36     ` Peter Kästle
2020-06-01 11:36     ` Peter Kästle
2020-06-01 11:36   ` [PATCH v4 04/11] thermal: Store device mode in struct thermal_zone_device Peter Kästle
2020-06-01 11:36     ` Peter Kästle
2020-06-01 11:36     ` Peter Kästle
2020-06-01 11:37   ` [PATCH v4 05/11] thermal: remove get_mode() operation of drivers Peter Kästle
2020-06-01 11:37     ` Peter Kästle
2020-06-01 11:37     ` Peter Kästle
2020-06-01 11:37   ` [PATCH v4 07/11] thermal: Use mode helpers in drivers Peter Kästle
2020-06-01 11:37     ` Peter Kästle
2020-06-01 11:37     ` Peter Kästle
2020-06-01 11:38   ` [PATCH v4 10/11] thermal: Simplify or eliminate unnecessary set_mode() methods Peter Kästle
2020-06-01 11:38     ` Peter Kästle
2020-06-01 11:38     ` Peter Kästle
2020-06-01 11:38   ` [PATCH v4 11/11] thermal: Rename set_mode() to change_mode() Peter Kästle
2020-06-01 11:38     ` Peter Kästle
2020-06-01 11:38     ` Peter Kästle
2020-06-23 14:37   ` [PATCH v4 00/11] Stop monitoring disabled devices Daniel Lezcano
2020-06-23 14:37     ` Daniel Lezcano
2020-06-23 14:37     ` Daniel Lezcano
2020-06-26 17:37     ` [PATCH v5 " Andrzej Pietrasiewicz
2020-06-26 17:37       ` Andrzej Pietrasiewicz
2020-06-26 17:37       ` Andrzej Pietrasiewicz
2020-06-26 17:37       ` [PATCH v5 01/11] acpi: thermal: Fix error handling in the register function Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-29  7:19         ` Amit Kucheria
2020-06-29  7:19           ` Amit Kucheria
2020-06-29  7:19           ` Amit Kucheria
2020-06-26 17:37       ` [PATCH v5 02/11] thermal: Store thermal mode in a dedicated enum Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-29  7:19         ` Amit Kucheria
2020-06-29  7:19           ` Amit Kucheria
2020-06-29  7:19           ` Amit Kucheria
2020-06-26 17:37       ` [PATCH v5 03/11] thermal: Add current mode to thermal zone device Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-29  7:19         ` Amit Kucheria
2020-06-29  7:19           ` Amit Kucheria
2020-06-29  7:19           ` Amit Kucheria
2020-06-26 17:37       ` [PATCH v5 04/11] thermal: Store device mode in struct thermal_zone_device Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-29  7:19         ` Amit Kucheria
2020-06-29  7:19           ` Amit Kucheria
2020-06-29  7:19           ` Amit Kucheria
2020-06-26 17:37       ` [PATCH v5 05/11] thermal: remove get_mode() operation of drivers Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-29  7:20         ` Amit Kucheria
2020-06-29  7:20           ` Amit Kucheria
2020-06-29  7:20           ` Amit Kucheria
2020-06-26 17:37       ` [PATCH v5 06/11] thermal: Add mode helpers Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 20:50         ` kernel test robot
2020-06-26 20:50           ` kernel test robot
2020-06-26 20:50           ` kernel test robot
2020-06-26 20:50         ` [RFC PATCH] thermal: thermal_zone_device_set_mode() can be static kernel test robot
2020-06-26 20:50           ` kernel test robot
2020-06-26 20:50           ` kernel test robot
2020-06-26 20:55         ` [PATCH v5 06/11] thermal: Add mode helpers kernel test robot
2020-06-26 20:55           ` kernel test robot
2020-06-26 20:55           ` kernel test robot
2020-06-26 23:34         ` kernel test robot
2020-06-26 23:34           ` kernel test robot
2020-06-29  7:04         ` Amit Kucheria
2020-06-29  7:04           ` Amit Kucheria
2020-06-29  7:04           ` Amit Kucheria
2020-06-29 11:16           ` [PATCH v6 00/11] Stop monitoring disabled devices Andrzej Pietrasiewicz
2020-06-29 11:16             ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 01/11] acpi: thermal: Fix error handling in the register function Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 02/11] thermal: Store thermal mode in a dedicated enum Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 03/11] thermal: Add current mode to thermal zone device Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 04/11] thermal: Store device mode in struct thermal_zone_device Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 05/11] thermal: remove get_mode() operation of drivers Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 06/11] thermal: Add mode helpers Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 12:08               ` Daniel Lezcano
2020-06-29 12:08                 ` Daniel Lezcano
2020-06-29 12:08                 ` Daniel Lezcano
2020-06-29 11:16             ` [PATCH v6 07/11] thermal: Use mode helpers in drivers Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` Andrzej Pietrasiewicz [this message]
2020-06-29 11:16               ` [PATCH v6 08/11] thermal: Explicitly enable non-changing thermal zone devices Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 09/11] thermal: core: Stop polling DISABLED thermal devices Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 10/11] thermal: Simplify or eliminate unnecessary set_mode() methods Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16             ` [PATCH v6 11/11] thermal: Rename set_mode() to change_mode() Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-29 11:16               ` Andrzej Pietrasiewicz
2020-06-26 17:37       ` [PATCH v5 07/11] thermal: Use mode helpers in drivers Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37       ` [PATCH v5 08/11] thermal: Explicitly enable non-changing thermal zone devices Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37       ` [PATCH v5 09/11] thermal: core: Stop polling DISABLED thermal devices Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37       ` [PATCH v5 10/11] thermal: Simplify or eliminate unnecessary set_mode() methods Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37       ` [PATCH v5 11/11] thermal: Rename set_mode() to change_mode() Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-26 17:37         ` Andrzej Pietrasiewicz
2020-06-01 10:02 ` [PATCH v4 00/11] Stop monitoring disabled devices Peter Kästle
2020-06-01 10:02   ` Peter Kästle
2020-06-01 10:02   ` Peter Kästle
2020-06-01 10:20   ` Andrzej Pietrasiewicz
2020-06-01 10:20     ` Andrzej Pietrasiewicz
2020-06-01 10:20     ` Andrzej Pietrasiewicz
2020-04-07 17:49 [RFC 0/8] " Andrzej Pietrasiewicz
2020-04-07 17:49 ` Andrzej Pietrasiewicz
2020-04-07 17:49 ` Andrzej Pietrasiewicz
2020-04-07 17:49 ` [RFC 1/8] thermal: int3400_thermal: Statically initialize .get_mode()/.set_mode() ops Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
     [not found]   ` <CGME20200415091204eucas1p1983548c2db52d8d0c2a5367034ec80dd@eucas1p1.samsung.com>
2020-04-15  9:12     ` Bartlomiej Zolnierkiewicz
2020-04-15  9:12       ` Bartlomiej Zolnierkiewicz
2020-04-15  9:12       ` Bartlomiej Zolnierkiewicz
2020-04-07 17:49 ` [RFC 2/8] thermal: Properly handle mode values in .set_mode() Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
     [not found]   ` <CGME20200415100543eucas1p24e24293da39844ca8791db86af5365a7@eucas1p2.samsung.com>
2020-04-15 10:05     ` Bartlomiej Zolnierkiewicz
2020-04-15 10:05       ` Bartlomiej Zolnierkiewicz
2020-04-15 10:05       ` Bartlomiej Zolnierkiewicz
2020-04-07 17:49 ` [RFC 3/8] thermal: Store thermal mode in a dedicated enum Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
     [not found]   ` <CGME20200415100944eucas1p1dcfeb784e790ca2fc3417fd2797e3f5d@eucas1p1.samsung.com>
2020-04-15 10:09     ` Bartlomiej Zolnierkiewicz
2020-04-15 10:09       ` Bartlomiej Zolnierkiewicz
2020-04-15 10:09       ` Bartlomiej Zolnierkiewicz
2020-04-07 17:49 ` [RFC 4/8] thermal: core: Introduce THERMAL_DEVICE_INITIAL Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49 ` [RFC 5/8] thermal: core: Monitor thermal zone after mode change Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49 ` [RFC 6/8] thermal: Set initial state to THERMAL_DEVICE_INITIAL Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49 ` [RFC 7/8] thermal: of: Monitor thermal zone after enabling it Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
     [not found]   ` <CGME20200415101829eucas1p18e21324d3c39926fffc6c8b5dc52f206@eucas1p1.samsung.com>
2020-04-15 10:18     ` Bartlomiej Zolnierkiewicz
2020-04-15 10:18       ` Bartlomiej Zolnierkiewicz
2020-04-15 10:18       ` Bartlomiej Zolnierkiewicz
2020-04-07 17:49 ` [RFC 8/8] thermal: Stop polling DISABLED thermal devices Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-07 17:49   ` Andrzej Pietrasiewicz
2020-04-09 10:29 ` [RFC 0/8] Stop monitoring disabled devices Daniel Lezcano
2020-04-09 10:29   ` Daniel Lezcano
2020-04-09 10:29   ` Daniel Lezcano
2020-04-09 11:10   ` Andrzej Pietrasiewicz
2020-04-09 11:10     ` Andrzej Pietrasiewicz
2020-04-09 11:10     ` Andrzej Pietrasiewicz
     [not found]     ` <CGME20200415104010eucas1p101278e53e34a2e56dfc7c82b533a9122@eucas1p1.samsung.com>
2020-04-15 10:40       ` Bartlomiej Zolnierkiewicz
2020-04-15 10:40         ` Bartlomiej Zolnierkiewicz
2020-04-15 10:40         ` Bartlomiej Zolnierkiewicz
2020-04-17 16:23         ` Andrzej Pietrasiewicz
2020-04-17 16:23           ` Andrzej Pietrasiewicz
2020-04-17 16:23           ` Andrzej Pietrasiewicz
2020-04-19 11:42           ` Bartlomiej Zolnierkiewicz
2020-04-19 11:42             ` Bartlomiej Zolnierkiewicz
2020-04-19 11:42             ` Bartlomiej Zolnierkiewicz
2020-04-17 21:11         ` Peter Kästle
2020-04-17 21:11           ` Peter Kästle
2020-04-17 21:11           ` Peter Kästle
2020-04-14 18:00   ` [RFC v2 0/9] " Andrzej Pietrasiewicz
2020-04-14 18:00     ` Andrzej Pietrasiewicz
2020-04-14 18:00     ` Andrzej Pietrasiewicz
2020-04-14 18:00     ` [RFC v2 1/9] thermal: int3400_thermal: Statically initialize .get_mode()/.set_mode() ops Andrzej Pietrasiewicz
2020-04-14 18:00       ` Andrzej Pietrasiewicz
2020-04-14 18:00       ` Andrzej Pietrasiewicz
2020-04-15  9:23       ` Daniel Lezcano
2020-04-15  9:23         ` Daniel Lezcano
2020-04-15  9:23         ` Daniel Lezcano
2020-04-14 18:00     ` [RFC v2 2/9] thermal: Eliminate an always-false condition Andrzej Pietrasiewicz
2020-04-14 18:00       ` Andrzej Pietrasiewicz
2020-04-14 18:00       ` Andrzej Pietrasiewicz
2020-04-14 18:00     ` [RFC v2 3/9] thermal: Properly handle mode values in .set_mode() Andrzej Pietrasiewicz
2020-04-14 18:00       ` Andrzej Pietrasiewicz
2020-04-14 18:00       ` Andrzej Pietrasiewicz
2020-04-14 22:14       ` Daniel Lezcano
2020-04-14 22:14         ` Daniel Lezcano
2020-04-14 22:14         ` Daniel Lezcano
2020-04-14 18:01     ` [RFC v2 4/9] thermal: core: Let thermal zone device's mode be stored in its struct Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 22:30       ` Daniel Lezcano
2020-04-14 22:30         ` Daniel Lezcano
2020-04-14 22:30         ` Daniel Lezcano
2020-04-14 18:01     ` [RFC v2 5/9] thermal: Store mode in thermal_zone_device Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-15 10:55       ` Daniel Lezcano
2020-04-15 10:55         ` Daniel Lezcano
2020-04-15 10:55         ` Daniel Lezcano
2020-04-17 16:20         ` [RFC v3 0/2] Stop monitoring disabled devices Andrzej Pietrasiewicz
2020-04-17 16:20           ` Andrzej Pietrasiewicz
2020-04-17 16:20           ` Andrzej Pietrasiewicz
2020-04-17 16:20           ` [RFC v3 1/2] thermal: core: Let thermal zone device's mode be stored in its struct Andrzej Pietrasiewicz
2020-04-17 16:20             ` Andrzej Pietrasiewicz
2020-04-17 16:20             ` Andrzej Pietrasiewicz
2020-04-17 20:44             ` Andy Shevchenko
2020-04-17 20:44               ` Andy Shevchenko
2020-04-17 20:44               ` Andy Shevchenko
2020-04-19 11:38             ` Bartlomiej Zolnierkiewicz
2020-04-19 11:38               ` Bartlomiej Zolnierkiewicz
2020-04-19 11:38               ` Bartlomiej Zolnierkiewicz
2020-04-19 13:10               ` Bartlomiej Zolnierkiewicz
2020-04-19 13:10                 ` Bartlomiej Zolnierkiewicz
2020-04-19 13:10                 ` Bartlomiej Zolnierkiewicz
2020-04-20 18:17                 ` [PATCH 0/2] Stop monitoring disabled devices Andrzej Pietrasiewicz
2020-04-20 18:17                   ` Andrzej Pietrasiewicz
2020-04-20 18:17                   ` Andrzej Pietrasiewicz
2020-04-20 18:17                   ` [PATCH 1/2] thermal: core: Let thermal zone device's mode be stored in its struct Andrzej Pietrasiewicz
2020-04-20 18:17                     ` Andrzej Pietrasiewicz
2020-04-20 18:17                     ` Andrzej Pietrasiewicz
2020-04-22  7:49                     ` kbuild test robot
2020-04-22  7:49                       ` kbuild test robot
2020-04-22 17:14                       ` Andrzej Pietrasiewicz
2020-04-22 17:14                         ` Andrzej Pietrasiewicz
2020-04-22 17:03                     ` kbuild test robot
2020-04-22 17:03                       ` kbuild test robot
2020-04-22 17:15                       ` Andrzej Pietrasiewicz
2020-04-22 17:15                         ` Andrzej Pietrasiewicz
2020-04-20 18:17                   ` [PATCH 2/2] thermal: core: Stop polling DISABLED thermal devices Andrzej Pietrasiewicz
2020-04-20 18:17                     ` Andrzej Pietrasiewicz
2020-04-20 18:17                     ` Andrzej Pietrasiewicz
2020-04-22 16:12                   ` [PATCH RESEND 1/2] thermal: core: Let thermal zone device's mode be stored in its struct Andrzej Pietrasiewicz
2020-04-22 16:12                     ` Andrzej Pietrasiewicz
2020-04-22 16:12                     ` Andrzej Pietrasiewicz
2020-04-23 14:39                     ` Bartlomiej Zolnierkiewicz
2020-04-23 14:39                       ` Bartlomiej Zolnierkiewicz
2020-04-23 14:39                       ` Bartlomiej Zolnierkiewicz
2020-04-23 16:57                       ` [PATCH v3 0/2] Stop monitoring disabled devices Andrzej Pietrasiewicz
2020-04-23 16:57                         ` Andrzej Pietrasiewicz
2020-04-23 16:57                         ` Andrzej Pietrasiewicz
2020-04-23 16:57                         ` [PATCH v3 1/2] thermal: core: Let thermal zone device's mode be stored in its struct Andrzej Pietrasiewicz
2020-04-23 16:57                           ` Andrzej Pietrasiewicz
2020-04-23 16:57                           ` Andrzej Pietrasiewicz
2020-05-04  7:00                           ` Bartlomiej Zolnierkiewicz
2020-05-04  7:00                             ` Bartlomiej Zolnierkiewicz
2020-05-04  7:00                             ` Bartlomiej Zolnierkiewicz
2020-04-23 16:57                         ` [PATCH v3 2/2] thermal: core: Stop polling DISABLED thermal devices Andrzej Pietrasiewicz
2020-04-23 16:57                           ` Andrzej Pietrasiewicz
2020-04-23 16:57                           ` Andrzej Pietrasiewicz
2020-04-24  9:03                           ` Zhang, Rui
2020-04-24  9:03                             ` Zhang, Rui
2020-04-24  9:03                             ` Zhang, Rui
2020-04-27 14:20                             ` Zhang, Rui
2020-04-27 14:20                               ` Zhang, Rui
2020-04-27 14:20                               ` Zhang, Rui
2020-04-27 18:34                               ` Andrzej Pietrasiewicz
2020-04-27 18:34                                 ` Andrzej Pietrasiewicz
2020-04-27 18:34                                 ` Andrzej Pietrasiewicz
2020-04-28 13:55                                 ` Zhang, Rui
2020-04-28 13:55                                   ` Zhang, Rui
2020-04-28 13:55                                   ` Zhang, Rui
2020-04-20 11:03               ` [RFC v3 1/2] thermal: core: Let thermal zone device's mode be stored in its struct Andrzej Pietrasiewicz
2020-04-20 11:03                 ` Andrzej Pietrasiewicz
2020-04-20 11:03                 ` Andrzej Pietrasiewicz
2020-04-20 18:19                 ` Andrzej Pietrasiewicz
2020-04-20 18:19                   ` Andrzej Pietrasiewicz
2020-04-20 18:19                   ` Andrzej Pietrasiewicz
2020-05-23 21:24             ` Daniel Lezcano
2020-05-23 21:24               ` Daniel Lezcano
2020-05-23 21:24               ` Daniel Lezcano
2020-05-25 19:35               ` Andrzej Pietrasiewicz
2020-05-25 19:35                 ` Andrzej Pietrasiewicz
2020-05-25 19:35                 ` Andrzej Pietrasiewicz
2020-05-25 22:08                 ` Daniel Lezcano
2020-05-25 22:08                   ` Daniel Lezcano
2020-05-25 22:08                   ` Daniel Lezcano
2020-05-26 16:56                   ` Andrzej Pietrasiewicz
2020-05-26 16:56                     ` Andrzej Pietrasiewicz
2020-05-26 16:56                     ` Andrzej Pietrasiewicz
2020-05-27 13:30               ` Bartlomiej Zolnierkiewicz
2020-05-27 13:30                 ` Bartlomiej Zolnierkiewicz
2020-05-27 13:30                 ` Bartlomiej Zolnierkiewicz
2020-04-17 16:20           ` [RFC v3 2/2] thermal: core: Stop polling DISABLED thermal devices Andrzej Pietrasiewicz
2020-04-17 16:20             ` Andrzej Pietrasiewicz
2020-04-17 16:20             ` Andrzej Pietrasiewicz
2020-04-19 13:50           ` [RFC v3 1/2] thermal: core: Let thermal zone device's mode be stored in its struct Peter Kästle
2020-04-19 13:50             ` Peter Kästle
2020-04-19 13:50             ` Peter Kästle
2020-04-14 18:01     ` [RFC v2 6/9] thermal: Remove get_mode() method Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01     ` [RFC v2 7/9] thermal: core: Monitor thermal zone after mode change Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01     ` [RFC v2 8/9] thermal: of: Monitor thermal zone after enabling it Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01     ` [RFC v2 9/9] thermal: core: Stop polling DISABLED thermal devices Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 18:01       ` Andrzej Pietrasiewicz
2020-04-14 21:52     ` [RFC v2 0/9] Stop monitoring disabled devices Ezequiel Garcia
2020-04-14 21:52       ` Ezequiel Garcia
2020-04-14 21:52       ` Ezequiel Garcia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200629111615.18131-9-andrzej.p@collabora.com \
    --to=andrzej.p@collabora.com \
    --cc=allison@lohutok.net \
    --cc=amit.kucheria@verdurent.com \
    --cc=andy@infradead.org \
    --cc=b.zolnierkie@samsung.com \
    --cc=baolin.wang7@gmail.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=davem@davemloft.net \
    --cc=dvhart@infradead.org \
    --cc=emmanuel.grumbach@intel.com \
    --cc=festevam@gmail.com \
    --cc=gayatri.kammela@intel.com \
    --cc=heiko@sntech.de \
    --cc=idosch@mellanox.com \
    --cc=info@metux.net \
    --cc=jiri@mellanox.com \
    --cc=johannes.berg@intel.com \
    --cc=kernel@collabora.com \
    --cc=kernel@pengutronix.de \
    --cc=kvalo@codeaurora.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linuxwifi@intel.com \
    --cc=luciano.coelho@intel.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=netdev@vger.kernel.org \
    --cc=niklas.soderlund@ragnatech.se \
    --cc=orsonzhai@gmail.com \
    --cc=peter@piie.net \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=rui.zhang@intel.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=sre@kernel.org \
    --cc=support.opensource@diasemi.com \
    --cc=tglx@linutronix.de \
    --cc=vishal@chelsio.com \
    --cc=zhang.lyra@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.