FIXUP: FROMLIST: PM / AVS: SVS: Introduce SVS engine

0-day reports:

drivers/power/avs/mtk_svs.c:1785:21: sparse: sparse:
	symbol 'svs_mt8183_banks_ops' was not declared. Should it be static?
drivers/power/avs/mtk_svs.c:1790:17: sparse: sparse:
	symbol 'svs_mt8183_banks' was not declared. Should it be static?
drivers/power/avs/mtk_svs.c:420:15: sparse: sparse:
	context imbalance in 'claim_mtk_svs_lock' - wrong count at exit
drivers/power/avs/mtk_svs.c:430:6: sparse: sparse:
	context imbalance in 'release_mtk_svs_lock' - unexpected unlock

drivers/power/avs/mtk_svs.o: In function `svs_set_volts':
mtk_svs.c:(.text+0x1310): undefined reference to `thermal_zone_get_zone_by_name'
mtk_svs.c:(.text+0x131c): undefined reference to `thermal_zone_get_temp'
drivers/power/avs/mtk_svs.o: In function `svs_status_proc_show':
mtk_svs.c:(.text+0x2e48): undefined reference to `thermal_zone_get_zone_by_name'
mtk_svs.c:(.text+0x2e54): undefined reference to `thermal_zone_get_temp'

BUG=b:131870177
TEST=make, make C=2, make allmodconfig

Change-Id: Ic746b21fd9f1ba3017e947a59a22ea13f98fd135
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1810559
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
diff --git a/drivers/power/avs/Kconfig b/drivers/power/avs/Kconfig
index da9baf5..98cd024 100644
--- a/drivers/power/avs/Kconfig
+++ b/drivers/power/avs/Kconfig
@@ -22,6 +22,7 @@
 config MTK_SVS
 	bool "MediaTek Smart Voltage Scaling(SVS)"
 	depends on POWER_AVS && MTK_EFUSE
+	depends on THERMAL || THERMAL=n
 	help
 	  The SVS engine is a piece of hardware which is used to calculate
 	  optimized voltage values of several power domains, e.g.
diff --git a/drivers/power/avs/mtk_svs.c b/drivers/power/avs/mtk_svs.c
index 78ec93c..aae9a38 100644
--- a/drivers/power/avs/mtk_svs.c
+++ b/drivers/power/avs/mtk_svs.c
@@ -418,6 +418,7 @@
 };
 
 unsigned long claim_mtk_svs_lock(void)
+	__acquires(&mtk_svs_lock)
 {
 	unsigned long flags;
 
@@ -428,6 +429,7 @@
 EXPORT_SYMBOL_GPL(claim_mtk_svs_lock);
 
 void release_mtk_svs_lock(unsigned long flags)
+	__releases(&mtk_svs_lock)
 {
 	spin_unlock_irqrestore(&mtk_svs_lock, flags);
 }
@@ -1782,12 +1784,12 @@
 	return 0;
 }
 
-struct svs_bank_ops svs_mt8183_banks_ops = {
+static struct svs_bank_ops svs_mt8183_banks_ops = {
 	.set_freqs_pct	= svs_set_freqs_pct_v2,
 	.get_vops	= svs_get_vops_v2,
 };
 
-struct svs_bank svs_mt8183_banks[4] = {
+static struct svs_bank svs_mt8183_banks[4] = {
 	{
 		.of_compatible		= "mediatek,mt8183-svs-cpu-little",
 		.sw_id			= SVS_CPU_LITTLE,