diff mbox series

[v2,1/2] thermal: Introduce CONFIG_QCOM_THERMAL in Makefile and qcom/Kconfig

Message ID 20220912194028.3584378-1-bhupesh.sharma@linaro.org
State New
Headers show
Series [v2,1/2] thermal: Introduce CONFIG_QCOM_THERMAL in Makefile and qcom/Kconfig | expand

Commit Message

Bhupesh Sharma Sept. 12, 2022, 7:40 p.m. UTC
Introduce CONFIG_QCOM_THERMAL to allow better control
over selection of various Qualcomm Thermal drivers
available inside qcom/ directory.

This is a preparatory change to allow new drivers to
be added inside qcom/ directory in a more structured
fashion later-on.

Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Amit Kucheria <amitk@kernel.org>
Cc: Thara Gopinath <thara.gopinath@gmail.com>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
---
- v1 can be viewed here: https://www.spinics.net/lists/kernel/msg4510793.html
- Fixed review comments from Dmitry received in v1.

 drivers/thermal/Makefile     |  2 +-
 drivers/thermal/qcom/Kconfig | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

Comments

Dmitry Baryshkov Sept. 12, 2022, 10 p.m. UTC | #1
On 12/09/2022 22:40, Bhupesh Sharma wrote:
> Introduce CONFIG_QCOM_THERMAL to allow better control
> over selection of various Qualcomm Thermal drivers
> available inside qcom/ directory.
> 
> This is a preparatory change to allow new drivers to
> be added inside qcom/ directory in a more structured
> fashion later-on.
> 
> Cc: Bjorn Andersson <andersson@kernel.org>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Amit Kucheria <amitk@kernel.org>
> Cc: Thara Gopinath <thara.gopinath@gmail.com>
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> ---
> - v1 can be viewed here: https://www.spinics.net/lists/kernel/msg4510793.html
> - Fixed review comments from Dmitry received in v1.
> 
>   drivers/thermal/Makefile     |  2 +-
>   drivers/thermal/qcom/Kconfig | 12 ++++++++++++
>   2 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile
> index def8e1a0399c..2506c6c8ca83 100644
> --- a/drivers/thermal/Makefile
> +++ b/drivers/thermal/Makefile
> @@ -52,7 +52,7 @@ obj-$(CONFIG_DA9062_THERMAL)	+= da9062-thermal.o
>   obj-y				+= intel/
>   obj-$(CONFIG_TI_SOC_THERMAL)	+= ti-soc-thermal/
>   obj-y				+= st/
> -obj-$(CONFIG_QCOM_TSENS)	+= qcom/
> +obj-y				+= qcom/
>   obj-y				+= tegra/
>   obj-$(CONFIG_HISI_THERMAL)     += hisi_thermal.o
>   obj-$(CONFIG_MTK_THERMAL)	+= mtk_thermal.o
> diff --git a/drivers/thermal/qcom/Kconfig b/drivers/thermal/qcom/Kconfig
> index 2c7f3f9a26eb..ccfd090273c1 100644
> --- a/drivers/thermal/qcom/Kconfig
> +++ b/drivers/thermal/qcom/Kconfig
> @@ -1,8 +1,17 @@
>   # SPDX-License-Identifier: GPL-2.0-only
> +
> +config QCOM_THERMAL
> +	tristate "Thermal drivers on Qualcomm Snapdragon series of SoCs"
> +	help
> +	  Support for thermal drivers on Qualcomm Snapdragon series of SoCs.
> +	  There are several thermal sensors available on the Qualcomm Socs
> +	  which can be used for thermal mitigation purposes.
> +
>   config QCOM_TSENS
>   	tristate "Qualcomm TSENS Temperature Alarm"
>   	depends on NVMEM_QCOM_QFPROM
>   	depends on ARCH_QCOM || COMPILE_TEST
> +	select QCOM_THERMAL

What's the point of QCOM_THERMAL if other drivers are `select'ing it? 
I'd have understood if it would be a menuconfig guarding all Qualcomm 
thermal drivers.

>   	help
>   	  This enables the thermal sysfs driver for the TSENS device. It shows
>   	  up in Sysfs as a thermal zone with multiple trip points. Disabling the
> @@ -15,6 +24,7 @@ config QCOM_SPMI_ADC_TM5
>   	depends on OF && SPMI && IIO
>   	select REGMAP_SPMI
>   	select QCOM_VADC_COMMON
> +	select QCOM_THERMAL
>   	help
>   	  This enables the thermal driver for the ADC thermal monitoring
>   	  device. It shows up as a thermal zone with multiple trip points.
> @@ -25,6 +35,7 @@ config QCOM_SPMI_TEMP_ALARM
>   	tristate "Qualcomm SPMI PMIC Temperature Alarm"
>   	depends on OF && SPMI && IIO
>   	select REGMAP_SPMI
> +	select QCOM_THERMAL
>   	help
>   	  This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP)
>   	  PMIC devices. It shows up in sysfs as a thermal sensor with multiple
> @@ -35,6 +46,7 @@ config QCOM_SPMI_TEMP_ALARM
>   config QCOM_LMH
>   	tristate "Qualcomm Limits Management Hardware"
>   	depends on ARCH_QCOM && QCOM_SCM
> +	select QCOM_THERMAL
>   	help
>   	  This enables initialization of Qualcomm limits management
>   	  hardware(LMh). LMh allows for hardware-enforced mitigation for cpus based on
Bjorn Andersson Sept. 13, 2022, 6:44 p.m. UTC | #2
On Tue, Sep 13, 2022 at 01:10:28AM +0530, Bhupesh Sharma wrote:
> Since there are several Qualcomm Thermal drivers now available
> (for e.g. LMH, SPMI PMICs and TSENS) inside 'drivers/thermal/qcom'
> directory, so it makes sense to list all the supported dt-bindings
> YAML files here.
> 
> Also, the entry header is updated to better reflect the same.
> 
> Cc: Bjorn Andersson <andersson@kernel.org>
> Cc: Amit Kucheria <amitk@kernel.org>
> Cc: Thara Gopinath <thara.gopinath@gmail.com>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>

Reviewed-by: Bjorn Andersson <andersson@kernel.org>

> ---
>  MAINTAINERS | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d213a831133f..e72839f5629c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -17043,12 +17043,16 @@ F:	Documentation/networking/device_drivers/cellular/qualcomm/rmnet.rst
>  F:	drivers/net/ethernet/qualcomm/rmnet/
>  F:	include/linux/if_rmnet.h
>  
> -QUALCOMM TSENS THERMAL DRIVER
> +QUALCOMM THERMAL DRIVERS (TSENS, LMH and SPMI PMIC)
>  M:	Amit Kucheria <amitk@kernel.org>
>  M:	Thara Gopinath <thara.gopinath@gmail.com>
>  L:	linux-pm@vger.kernel.org
>  L:	linux-arm-msm@vger.kernel.org
>  S:	Maintained
> +F:	Documentation/devicetree/bindings/thermal/qcom,spmi-temp-alarm.yaml
> +F:	Documentation/devicetree/bindings/thermal/qcom-lmh.yaml
> +F:	Documentation/devicetree/bindings/thermal/qcom-spmi-adc-tm-hc.yaml
> +F:	Documentation/devicetree/bindings/thermal/qcom-spmi-adc-tm5.yaml
>  F:	Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
>  F:	drivers/thermal/qcom/
>  
> -- 
> 2.37.1
>
Bjorn Andersson Sept. 13, 2022, 6:51 p.m. UTC | #3
On Tue, Sep 13, 2022 at 01:10:27AM +0530, Bhupesh Sharma wrote:
> Introduce CONFIG_QCOM_THERMAL to allow better control
> over selection of various Qualcomm Thermal drivers
> available inside qcom/ directory.
> 
> This is a preparatory change to allow new drivers to
> be added inside qcom/ directory in a more structured
> fashion later-on.
> 
> Cc: Bjorn Andersson <andersson@kernel.org>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Amit Kucheria <amitk@kernel.org>
> Cc: Thara Gopinath <thara.gopinath@gmail.com>
> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
> ---
> - v1 can be viewed here: https://www.spinics.net/lists/kernel/msg4510793.html
> - Fixed review comments from Dmitry received in v1.
> 
>  drivers/thermal/Makefile     |  2 +-
>  drivers/thermal/qcom/Kconfig | 12 ++++++++++++
>  2 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile
> index def8e1a0399c..2506c6c8ca83 100644
> --- a/drivers/thermal/Makefile
> +++ b/drivers/thermal/Makefile
> @@ -52,7 +52,7 @@ obj-$(CONFIG_DA9062_THERMAL)	+= da9062-thermal.o
>  obj-y				+= intel/
>  obj-$(CONFIG_TI_SOC_THERMAL)	+= ti-soc-thermal/
>  obj-y				+= st/
> -obj-$(CONFIG_QCOM_TSENS)	+= qcom/
> +obj-y				+= qcom/

This change makes sense to me. Please send this as a separate patch.

>  obj-y				+= tegra/
>  obj-$(CONFIG_HISI_THERMAL)     += hisi_thermal.o
>  obj-$(CONFIG_MTK_THERMAL)	+= mtk_thermal.o
> diff --git a/drivers/thermal/qcom/Kconfig b/drivers/thermal/qcom/Kconfig
> index 2c7f3f9a26eb..ccfd090273c1 100644
> --- a/drivers/thermal/qcom/Kconfig
> +++ b/drivers/thermal/qcom/Kconfig
> @@ -1,8 +1,17 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> +
> +config QCOM_THERMAL

As written here this would allow you to make things conditional on any
Qualcomm thermal code being enabled in any form. But I'm afraid I don't
understand the purpose of this.

Alternatively if you had made below additions depends on QCOM_THERMAL
this would have "cleaned up" the menuconfig slightly. But IMHO there
isn't a lot of benefit to this (and we'd end up with people running
without thermal drivers, as they forget to set CONFIG_QCOM_THERMAL).

> +	tristate "Thermal drivers on Qualcomm Snapdragon series of SoCs"
> +	help
> +	  Support for thermal drivers on Qualcomm Snapdragon series of SoCs.
> +	  There are several thermal sensors available on the Qualcomm Socs
> +	  which can be used for thermal mitigation purposes.

This help text indicates that the option actually changes something or
enables some support for something, but afaict it doesn't.

Regards,
Bjorn
> +
>  config QCOM_TSENS
>  	tristate "Qualcomm TSENS Temperature Alarm"
>  	depends on NVMEM_QCOM_QFPROM
>  	depends on ARCH_QCOM || COMPILE_TEST
> +	select QCOM_THERMAL
>  	help
>  	  This enables the thermal sysfs driver for the TSENS device. It shows
>  	  up in Sysfs as a thermal zone with multiple trip points. Disabling the
> @@ -15,6 +24,7 @@ config QCOM_SPMI_ADC_TM5
>  	depends on OF && SPMI && IIO
>  	select REGMAP_SPMI
>  	select QCOM_VADC_COMMON
> +	select QCOM_THERMAL
>  	help
>  	  This enables the thermal driver for the ADC thermal monitoring
>  	  device. It shows up as a thermal zone with multiple trip points.
> @@ -25,6 +35,7 @@ config QCOM_SPMI_TEMP_ALARM
>  	tristate "Qualcomm SPMI PMIC Temperature Alarm"
>  	depends on OF && SPMI && IIO
>  	select REGMAP_SPMI
> +	select QCOM_THERMAL
>  	help
>  	  This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP)
>  	  PMIC devices. It shows up in sysfs as a thermal sensor with multiple
> @@ -35,6 +46,7 @@ config QCOM_SPMI_TEMP_ALARM
>  config QCOM_LMH
>  	tristate "Qualcomm Limits Management Hardware"
>  	depends on ARCH_QCOM && QCOM_SCM
> +	select QCOM_THERMAL
>  	help
>  	  This enables initialization of Qualcomm limits management
>  	  hardware(LMh). LMh allows for hardware-enforced mitigation for cpus based on
> -- 
> 2.37.1
>
diff mbox series

Patch

diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile
index def8e1a0399c..2506c6c8ca83 100644
--- a/drivers/thermal/Makefile
+++ b/drivers/thermal/Makefile
@@ -52,7 +52,7 @@  obj-$(CONFIG_DA9062_THERMAL)	+= da9062-thermal.o
 obj-y				+= intel/
 obj-$(CONFIG_TI_SOC_THERMAL)	+= ti-soc-thermal/
 obj-y				+= st/
-obj-$(CONFIG_QCOM_TSENS)	+= qcom/
+obj-y				+= qcom/
 obj-y				+= tegra/
 obj-$(CONFIG_HISI_THERMAL)     += hisi_thermal.o
 obj-$(CONFIG_MTK_THERMAL)	+= mtk_thermal.o
diff --git a/drivers/thermal/qcom/Kconfig b/drivers/thermal/qcom/Kconfig
index 2c7f3f9a26eb..ccfd090273c1 100644
--- a/drivers/thermal/qcom/Kconfig
+++ b/drivers/thermal/qcom/Kconfig
@@ -1,8 +1,17 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
+
+config QCOM_THERMAL
+	tristate "Thermal drivers on Qualcomm Snapdragon series of SoCs"
+	help
+	  Support for thermal drivers on Qualcomm Snapdragon series of SoCs.
+	  There are several thermal sensors available on the Qualcomm Socs
+	  which can be used for thermal mitigation purposes.
+
 config QCOM_TSENS
 	tristate "Qualcomm TSENS Temperature Alarm"
 	depends on NVMEM_QCOM_QFPROM
 	depends on ARCH_QCOM || COMPILE_TEST
+	select QCOM_THERMAL
 	help
 	  This enables the thermal sysfs driver for the TSENS device. It shows
 	  up in Sysfs as a thermal zone with multiple trip points. Disabling the
@@ -15,6 +24,7 @@  config QCOM_SPMI_ADC_TM5
 	depends on OF && SPMI && IIO
 	select REGMAP_SPMI
 	select QCOM_VADC_COMMON
+	select QCOM_THERMAL
 	help
 	  This enables the thermal driver for the ADC thermal monitoring
 	  device. It shows up as a thermal zone with multiple trip points.
@@ -25,6 +35,7 @@  config QCOM_SPMI_TEMP_ALARM
 	tristate "Qualcomm SPMI PMIC Temperature Alarm"
 	depends on OF && SPMI && IIO
 	select REGMAP_SPMI
+	select QCOM_THERMAL
 	help
 	  This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP)
 	  PMIC devices. It shows up in sysfs as a thermal sensor with multiple
@@ -35,6 +46,7 @@  config QCOM_SPMI_TEMP_ALARM
 config QCOM_LMH
 	tristate "Qualcomm Limits Management Hardware"
 	depends on ARCH_QCOM && QCOM_SCM
+	select QCOM_THERMAL
 	help
 	  This enables initialization of Qualcomm limits management
 	  hardware(LMh). LMh allows for hardware-enforced mitigation for cpus based on