Skip to contentSkip to conversation

thermal: TI: always register sensor driver with core thermal framework

PATCH In review Bartlomiej Zolnierkiewicz 2 participants 3 messages Oct 4, 2013 – Oct 7, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/2 thermal: TI: always register sensor driver with core thermal framework

There is little sense in having separate config option for registering the sensor driver with the core thermal framework. Fix it by integrating TI_THERMAL config option with TI_SOC_THERMAL one.

---
 drivers/thermal/ti-soc-thermal/Kconfig      | 15 +++-----------
 drivers/thermal/ti-soc-thermal/Makefile     |  2 +-
 drivers/thermal/ti-soc-thermal/ti-thermal.h | 31 -----------------------------
 3 files changed, 4 insertions(+), 44 deletions(-)
drivers/thermal/ti-soc-thermal/Kconfig +3 -12
index bf5d6e4..c64e78b 100644
@@ -7,18 +7,9 @@ config TI_SOC_THERMAL
 	  OMAP4460+ on die bandgap temperature sensor support. The register
 	  set is part of system control module.
 
-	  This includes alert interrupts generation and also the TSHUT
-	  support.
-
-config TI_THERMAL
-	bool "Texas Instruments SoCs thermal framework support"
-	depends on TI_SOC_THERMAL
-	help
-	  If you say yes here you want to get support for generic thermal
-	  framework for the Texas Instruments on die bandgap temperature sensor.
-
-	  This includes trip points definitions, extrapolation rules and
-	  CPU cooling device bindings.
+	  This includes alert interrupts generation, the TSHUT support,
+	  trip points definitions, extrapolation rules and CPU cooling
+	  device bindings.
 
 config OMAP4_THERMAL
 	bool "Texas Instruments OMAP4 thermal support"
drivers/thermal/ti-soc-thermal/Makefile +1 -1
index 1226b24..c75cc91 100644
@@ -1,6 +1,6 @@
 obj-$(CONFIG_TI_SOC_THERMAL)		+= ti-soc-thermal.o
 ti-soc-thermal-y			:= ti-bandgap.o
-ti-soc-thermal-$(CONFIG_TI_THERMAL)	+= ti-thermal-common.o
+ti-soc-thermal-y			+= ti-thermal-common.o
 ti-soc-thermal-$(CONFIG_DRA752_THERMAL)	+= dra752-thermal-data.o
 ti-soc-thermal-$(CONFIG_OMAP4_THERMAL)	+= omap4-thermal-data.o
 ti-soc-thermal-$(CONFIG_OMAP5_THERMAL)	+= omap5-thermal-data.o
drivers/thermal/ti-soc-thermal/ti-thermal.h +0 -31
index f8b7ffe..5fb427c 100644
@@ -83,41 +83,10 @@
 #define ti_thermal_is_valid_trip(trip)				\
 	((trip) >= 0 && (trip) < OMAP_TRIP_NUMBER)
 
-#ifdef CONFIG_TI_THERMAL
 int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain);
 int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id);
 int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id);
 int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id);
 int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id);
-#else
-static inline
-int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain)
-{
-	return 0;
-}
 
-static inline
-int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-#endif
 #endif
Signature · 1 line
1.8.2.3
#1 lore raw
Quoted 4 lines · Bartlomiej Zolnierkiewicz

There is little sense in having separate config option for registering the sensor driver with the core thermal framework. Fix it by integrating TI_THERMAL config option with TI_SOC_THERMAL one.

I am a bit confused of what is exactly wrong or needs fixing. The code organization is so that the file ti-bandgap.c adds the support for TI Bandgap IP. It is not aware of thermal framework. And the ti-thermal-common.c file is expected to talk to thermal framework. Can you please elaborate a bit more why this split is hurting you?

Quoted 94 lines
---
 drivers/thermal/ti-soc-thermal/Kconfig      | 15 +++-----------
 drivers/thermal/ti-soc-thermal/Makefile     |  2 +-
 drivers/thermal/ti-soc-thermal/ti-thermal.h | 31 -----------------------------
 3 files changed, 4 insertions(+), 44 deletions(-)
drivers/thermal/ti-soc-thermal/Kconfig +3 -12
index bf5d6e4..c64e78b 100644
@@ -7,18 +7,9 @@ config TI_SOC_THERMAL
 	  OMAP4460+ on die bandgap temperature sensor support. The register
 	  set is part of system control module.
 
-	  This includes alert interrupts generation and also the TSHUT
-	  support.
-
-config TI_THERMAL
-	bool "Texas Instruments SoCs thermal framework support"
-	depends on TI_SOC_THERMAL
-	help
-	  If you say yes here you want to get support for generic thermal
-	  framework for the Texas Instruments on die bandgap temperature sensor.
-
-	  This includes trip points definitions, extrapolation rules and
-	  CPU cooling device bindings.
+	  This includes alert interrupts generation, the TSHUT support,
+	  trip points definitions, extrapolation rules and CPU cooling
+	  device bindings.
 
 config OMAP4_THERMAL
 	bool "Texas Instruments OMAP4 thermal support"
drivers/thermal/ti-soc-thermal/Makefile +1 -1
index 1226b24..c75cc91 100644
@@ -1,6 +1,6 @@
 obj-$(CONFIG_TI_SOC_THERMAL)		+= ti-soc-thermal.o
 ti-soc-thermal-y			:= ti-bandgap.o
-ti-soc-thermal-$(CONFIG_TI_THERMAL)	+= ti-thermal-common.o
+ti-soc-thermal-y			+= ti-thermal-common.o
 ti-soc-thermal-$(CONFIG_DRA752_THERMAL)	+= dra752-thermal-data.o
 ti-soc-thermal-$(CONFIG_OMAP4_THERMAL)	+= omap4-thermal-data.o
 ti-soc-thermal-$(CONFIG_OMAP5_THERMAL)	+= omap5-thermal-data.o
drivers/thermal/ti-soc-thermal/ti-thermal.h +0 -31
index f8b7ffe..5fb427c 100644
@@ -83,41 +83,10 @@
 #define ti_thermal_is_valid_trip(trip)				\
 	((trip) >= 0 && (trip) < OMAP_TRIP_NUMBER)
 
-#ifdef CONFIG_TI_THERMAL
 int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain);
 int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id);
 int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id);
 int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id);
 int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id);
-#else
-static inline
-int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain)
-{
-	return 0;
-}
 
-static inline
-int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-#endif
 #endif
Signature · 3 lines
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin
#2 lore raw
Quoted 11 lines · Eduardo Valentin
Quoted 4 lines · Bartlomiej Zolnierkiewicz

There is little sense in having separate config option for registering the sensor driver with the core thermal framework. Fix it by integrating TI_THERMAL config option with TI_SOC_THERMAL one.

I am a bit confused of what is exactly wrong or needs fixing. The code organization is so that the file ti-bandgap.c adds the support for TI Bandgap IP. It is not aware of thermal framework. And the ti-thermal-common.c file is expected to talk to thermal framework. Can you please elaborate a bit more why this split is hurting you?

The split seems artificial since both options have dependency on THERMAL.

Could you please tell me what is an advantage of having separate core TI bandgap IP support without registration to thermal framework?

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

Quoted 92 lines
Quoted 92 lines
---
 drivers/thermal/ti-soc-thermal/Kconfig      | 15 +++-----------
 drivers/thermal/ti-soc-thermal/Makefile     |  2 +-
 drivers/thermal/ti-soc-thermal/ti-thermal.h | 31 -----------------------------
 3 files changed, 4 insertions(+), 44 deletions(-)
drivers/thermal/ti-soc-thermal/Kconfig +3 -12
index bf5d6e4..c64e78b 100644
@@ -7,18 +7,9 @@ config TI_SOC_THERMAL
 	  OMAP4460+ on die bandgap temperature sensor support. The register
 	  set is part of system control module.
 
-	  This includes alert interrupts generation and also the TSHUT
-	  support.
-
-config TI_THERMAL
-	bool "Texas Instruments SoCs thermal framework support"
-	depends on TI_SOC_THERMAL
-	help
-	  If you say yes here you want to get support for generic thermal
-	  framework for the Texas Instruments on die bandgap temperature sensor.
-
-	  This includes trip points definitions, extrapolation rules and
-	  CPU cooling device bindings.
+	  This includes alert interrupts generation, the TSHUT support,
+	  trip points definitions, extrapolation rules and CPU cooling
+	  device bindings.
 
 config OMAP4_THERMAL
 	bool "Texas Instruments OMAP4 thermal support"
drivers/thermal/ti-soc-thermal/Makefile +1 -1
index 1226b24..c75cc91 100644
@@ -1,6 +1,6 @@
 obj-$(CONFIG_TI_SOC_THERMAL)		+= ti-soc-thermal.o
 ti-soc-thermal-y			:= ti-bandgap.o
-ti-soc-thermal-$(CONFIG_TI_THERMAL)	+= ti-thermal-common.o
+ti-soc-thermal-y			+= ti-thermal-common.o
 ti-soc-thermal-$(CONFIG_DRA752_THERMAL)	+= dra752-thermal-data.o
 ti-soc-thermal-$(CONFIG_OMAP4_THERMAL)	+= omap4-thermal-data.o
 ti-soc-thermal-$(CONFIG_OMAP5_THERMAL)	+= omap5-thermal-data.o
drivers/thermal/ti-soc-thermal/ti-thermal.h +0 -31
index f8b7ffe..5fb427c 100644
@@ -83,41 +83,10 @@
 #define ti_thermal_is_valid_trip(trip)				\
 	((trip) >= 0 && (trip) < OMAP_TRIP_NUMBER)
 
-#ifdef CONFIG_TI_THERMAL
 int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain);
 int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id);
 int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id);
 int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id);
 int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id);
-#else
-static inline
-int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id, char *domain)
-{
-	return 0;
-}
 
-static inline
-int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_report_sensor_temperature(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-
-static inline
-int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id)
-{
-	return 0;
-}
-#endif
 #endif