From: Balsam CHIHI <bchihi@baylibre.com>
Add MediaTek proprietary folder to upstream more thermal zone and cooler
drivers, relocate the original thermal controller driver to it, and rename it
as "auxadc_thermal.c" to show its purpose more clearly.
Signed-off-by: Balsam CHIHI <bchihi@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
drivers/thermal/Kconfig | 14 ++++---------
drivers/thermal/Makefile | 2 +-
drivers/thermal/mediatek/Kconfig | 21 +++++++++++++++++++
drivers/thermal/mediatek/Makefile | 1 +
.../auxadc_thermal.c} | 2 +-
5 files changed, 28 insertions(+), 12 deletions(-)
create mode 100644 drivers/thermal/mediatek/Kconfig
create mode 100644 drivers/thermal/mediatek/Makefile
rename drivers/thermal/{mtk_thermal.c => mediatek/auxadc_thermal.c} (99%)
diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
index e052dae614eb..d35f63daca3b 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -412,16 +412,10 @@ config DA9062_THERMAL
zone.
Compatible with the DA9062 and DA9061 PMICs.
-config MTK_THERMAL
- tristate "Temperature sensor driver for mediatek SoCs"
- depends on ARCH_MEDIATEK || COMPILE_TEST
- depends on HAS_IOMEM
- depends on NVMEM || NVMEM=n
- depends on RESET_CONTROLLER
- default y
- help
- Enable this option if you want to have support for thermal management
- controller present in Mediatek SoCs
+menu "Mediatek thermal drivers"
+depends on ARCH_MEDIATEK || COMPILE_TEST
+source "drivers/thermal/mediatek/Kconfig"
+endmenu
config AMLOGIC_THERMAL
tristate "Amlogic Thermal Support"
diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile
index 2506c6c8ca83..766ce38ff4f3 100644
--- a/drivers/thermal/Makefile
+++ b/drivers/thermal/Makefile
@@ -55,7 +55,7 @@ obj-y += st/
obj-y += qcom/
obj-y += tegra/
obj-$(CONFIG_HISI_THERMAL) += hisi_thermal.o
-obj-$(CONFIG_MTK_THERMAL) += mtk_thermal.o
+obj-y += mediatek/
obj-$(CONFIG_GENERIC_ADC_THERMAL) += thermal-generic-adc.o
obj-$(CONFIG_UNIPHIER_THERMAL) += uniphier_thermal.o
obj-$(CONFIG_AMLOGIC_THERMAL) += amlogic_thermal.o
diff --git a/drivers/thermal/mediatek/Kconfig b/drivers/thermal/mediatek/Kconfig
new file mode 100644
index 000000000000..7558a847d4e9
--- /dev/null
+++ b/drivers/thermal/mediatek/Kconfig
@@ -0,0 +1,21 @@
+config MTK_THERMAL
+ tristate "MediaTek thermal drivers"
+ depends on THERMAL_OF
+ help
+ This is the option for MediaTek thermal software solutions.
+ Please enable corresponding options to get temperature
+ information from thermal sensors or turn on throttle
+ mechaisms for thermal mitigation.
+
+if MTK_THERMAL
+
+config MTK_SOC_THERMAL
+ tristate "AUXADC temperature sensor driver for MediaTek SoCs"
+ depends on HAS_IOMEM
+ help
+ Enable this option if you want to get SoC temperature
+ information for MediaTek platforms.
+ This driver configures thermal controllers to collect
+ temperature via AUXADC interface.
+
+endif
diff --git a/drivers/thermal/mediatek/Makefile b/drivers/thermal/mediatek/Makefile
new file mode 100644
index 000000000000..53e86e30b26f
--- /dev/null
+++ b/drivers/thermal/mediatek/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_MTK_SOC_THERMAL) += auxadc_thermal.o
diff --git a/drivers/thermal/mtk_thermal.c b/drivers/thermal/mediatek/auxadc_thermal.c
similarity index 99%
rename from drivers/thermal/mtk_thermal.c
rename to drivers/thermal/mediatek/auxadc_thermal.c
index 8440692e3890..b4ef57fa9183 100644
--- a/drivers/thermal/mtk_thermal.c
+++ b/drivers/thermal/mediatek/auxadc_thermal.c
@@ -23,7 +23,7 @@
#include <linux/reset.h>
#include <linux/types.h>
-#include "thermal_hwmon.h"
+#include "../thermal_hwmon.h"
/* AUXADC Registers */
#define AUXADC_CON1_SET_V 0x008
--
2.34.1
Hi, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on a2c81dc59d41e92362ab7d41d0c15471ea50637d] url: https://github.com/intel-lab-lkp/linux/commits/bchihi-baylibre-com/thermal-drivers-mediatek-Relocate-driver-to-mediatek-folder/20230207-211351 base: a2c81dc59d41e92362ab7d41d0c15471ea50637d patch link: https://lore.kernel.org/r/20230207130958.608305-2-bchihi%40baylibre.com patch subject: [PATCH v13 1/6] thermal: drivers: mediatek: Relocate driver to mediatek folder config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20230208/202302080018.wNeWiKqz-lkp@intel.com/config) compiler: sparc64-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/0eb89997925c0d7b47bbeee93016146fc660b259 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review bchihi-baylibre-com/thermal-drivers-mediatek-Relocate-driver-to-mediatek-folder/20230207-211351 git checkout 0eb89997925c0d7b47bbeee93016146fc660b259 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/thermal/mediatek/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): >> drivers/thermal/mediatek/auxadc_thermal.c:562: warning: expecting prototype for raw_to_mcelsius(). Prototype was for raw_to_mcelsius_v1() instead vim +562 drivers/thermal/mediatek/auxadc_thermal.c a4ffe6b52d27f4 drivers/thermal/mtk_thermal.c Michael Kao 2019-02-01 551 a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 552 /** a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 553 * raw_to_mcelsius - convert a raw ADC value to mcelsius a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 554 * @mt: The thermal controller 3772bb422072d4 drivers/thermal/mtk_thermal.c Amit Kucheria 2019-11-20 555 * @sensno: sensor number a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 556 * @raw: raw ADC value a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 557 * a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 558 * This converts the raw ADC value to mcelsius using the SoC specific a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 559 * calibration constants a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 560 */ 54bf1e5a629dfb drivers/thermal/mtk_thermal.c Henry Yen 2020-04-30 561 static int raw_to_mcelsius_v1(struct mtk_thermal *mt, int sensno, s32 raw) a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 @562 { a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 563 s32 tmp; a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 564 a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 565 raw &= 0xfff; a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 566 a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 567 tmp = 203450520 << 3; f84514766985d3 drivers/thermal/mtk_thermal.c Michael Kao 2019-02-01 568 tmp /= mt->conf->cali_val + mt->o_slope; a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 569 tmp /= 10000 + mt->adc_ge; a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 570 tmp *= raw - mt->vts[sensno] - 3350; a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 571 tmp >>= 3; a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 572 a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 573 return mt->degc_cali * 500 - tmp; a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 574 } a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 575 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests
this warning has been fixed by this patch : https://lore.kernel.org/all/20230113064449.15061-1-rdunlap@infradead.org/ On Tue, Feb 7, 2023 at 5:14 PM kernel test robot <lkp@intel.com> wrote: > > Hi, > > Thank you for the patch! Perhaps something to improve: > > [auto build test WARNING on a2c81dc59d41e92362ab7d41d0c15471ea50637d] > > url: https://github.com/intel-lab-lkp/linux/commits/bchihi-baylibre-com/thermal-drivers-mediatek-Relocate-driver-to-mediatek-folder/20230207-211351 > base: a2c81dc59d41e92362ab7d41d0c15471ea50637d > patch link: https://lore.kernel.org/r/20230207130958.608305-2-bchihi%40baylibre.com > patch subject: [PATCH v13 1/6] thermal: drivers: mediatek: Relocate driver to mediatek folder > config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20230208/202302080018.wNeWiKqz-lkp@intel.com/config) > compiler: sparc64-linux-gcc (GCC) 12.1.0 > reproduce (this is a W=1 build): > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # https://github.com/intel-lab-lkp/linux/commit/0eb89997925c0d7b47bbeee93016146fc660b259 > git remote add linux-review https://github.com/intel-lab-lkp/linux > git fetch --no-tags linux-review bchihi-baylibre-com/thermal-drivers-mediatek-Relocate-driver-to-mediatek-folder/20230207-211351 > git checkout 0eb89997925c0d7b47bbeee93016146fc660b259 > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc olddefconfig > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/thermal/mediatek/ > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@intel.com> > > All warnings (new ones prefixed by >>): > > >> drivers/thermal/mediatek/auxadc_thermal.c:562: warning: expecting prototype for raw_to_mcelsius(). Prototype was for raw_to_mcelsius_v1() instead > > > vim +562 drivers/thermal/mediatek/auxadc_thermal.c > > a4ffe6b52d27f4 drivers/thermal/mtk_thermal.c Michael Kao 2019-02-01 551 > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 552 /** > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 553 * raw_to_mcelsius - convert a raw ADC value to mcelsius > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 554 * @mt: The thermal controller > 3772bb422072d4 drivers/thermal/mtk_thermal.c Amit Kucheria 2019-11-20 555 * @sensno: sensor number > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 556 * @raw: raw ADC value > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 557 * > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 558 * This converts the raw ADC value to mcelsius using the SoC specific > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 559 * calibration constants > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 560 */ > 54bf1e5a629dfb drivers/thermal/mtk_thermal.c Henry Yen 2020-04-30 561 static int raw_to_mcelsius_v1(struct mtk_thermal *mt, int sensno, s32 raw) > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 @562 { > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 563 s32 tmp; > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 564 > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 565 raw &= 0xfff; > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 566 > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 567 tmp = 203450520 << 3; > f84514766985d3 drivers/thermal/mtk_thermal.c Michael Kao 2019-02-01 568 tmp /= mt->conf->cali_val + mt->o_slope; > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 569 tmp /= 10000 + mt->adc_ge; > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 570 tmp *= raw - mt->vts[sensno] - 3350; > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 571 tmp >>= 3; > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 572 > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 573 return mt->degc_cali * 500 - tmp; > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 574 } > a92db1c8089e82 drivers/thermal/mtk_thermal.c Sascha Hauer 2015-11-30 575 > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests
© 2016 - 2024 Red Hat, Inc.