Hi Mateusz, kernel test robot noticed the following build warnings: https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Mateusz-Majewski/thermal-exynos-remove-an-unnecessary-field-description/20231120-230641 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git thermal patch link: https://lore.kernel.org/r/20231120145049.310509-8-m.majewski2%40samsung.com patch subject: [PATCH v5 7/9] thermal: exynos: split initialization of TMU and the thermal zone config: arm-randconfig-r081-20231123 (https://download.01.org/0day-ci/archive/20231125/202311251257.Fjn3kQH6-lkp@xxxxxxxxx/config) compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20231125/202311251257.Fjn3kQH6-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Reported-by: Dan Carpenter <error27@xxxxxxxxx> | Closes: https://lore.kernel.org/r/202311251257.Fjn3kQH6-lkp@xxxxxxxxx/ smatch warnings: drivers/thermal/samsung/exynos_tmu.c:1064 exynos_tmu_probe() warn: missing unwind goto? drivers/thermal/samsung/exynos_tmu.c:1103 exynos_tmu_probe() warn: 'data->clk' from clk_prepare() not released on lines: 1064. drivers/thermal/samsung/exynos_tmu.c:1103 exynos_tmu_probe() warn: 'data->clk_sec' from clk_prepare() not released on lines: 1064. drivers/thermal/samsung/exynos_tmu.c:1103 exynos_tmu_probe() warn: 'data->sclk' from clk_prepare_enable() not released on lines: 1064. vim +1064 drivers/thermal/samsung/exynos_tmu.c cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 980 static int exynos_tmu_probe(struct platform_device *pdev) cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 981 { 3b6a1a805f3424 drivers/thermal/samsung/exynos_tmu.c Lukasz Majewski 2015-01-23 982 struct exynos_tmu_data *data; 3b6a1a805f3424 drivers/thermal/samsung/exynos_tmu.c Lukasz Majewski 2015-01-23 983 int ret; cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 984 79e093c3fe9de9 drivers/thermal/exynos_thermal.c Amit Daniel Kachhap 2012-08-16 985 data = devm_kzalloc(&pdev->dev, sizeof(struct exynos_tmu_data), 79e093c3fe9de9 drivers/thermal/exynos_thermal.c Amit Daniel Kachhap 2012-08-16 986 GFP_KERNEL); 2a9675b39ad1af drivers/thermal/samsung/exynos_tmu.c Jingoo Han 2014-05-07 987 if (!data) 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 988 return -ENOMEM; 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 989 cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 990 platform_set_drvdata(pdev, data); cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 991 mutex_init(&data->lock); 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 992 824ead03b78403 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 993 /* 824ead03b78403 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 994 * Try enabling the regulator if found 824ead03b78403 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 995 * TODO: Add regulator as an SOC feature, so that regulator enable 824ead03b78403 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 996 * is a compulsory call. 824ead03b78403 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 997 */ ef1639e66e72af drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 998 ret = devm_regulator_get_enable_optional(&pdev->dev, "vtmu"); b2f20752180f71 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 999 switch (ret) { ef1639e66e72af drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1000 case 0: b2f20752180f71 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1001 case -ENODEV: b2f20752180f71 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1002 break; b2f20752180f71 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1003 case -EPROBE_DEFER: ccb361d2fdda89 drivers/thermal/samsung/exynos_tmu.c Javier Martinez Canillas 2016-02-18 1004 return -EPROBE_DEFER; b2f20752180f71 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1005 default: ef1639e66e72af drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1006 dev_err(&pdev->dev, "Failed to get enabled regulator: %d\n", b2f20752180f71 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1007 ret); b2f20752180f71 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1008 return ret; b2f20752180f71 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1009 } 824ead03b78403 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 1010 cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 1011 ret = exynos_map_dt_data(pdev); cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 1012 if (ret) ef1639e66e72af drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1013 return ret; 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1014 2a16279c68bcfa drivers/thermal/exynos_thermal.c Sachin Kamat 2013-04-18 1015 data->clk = devm_clk_get(&pdev->dev, "tmu_apbif"); 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1016 if (IS_ERR(data->clk)) { 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1017 dev_err(&pdev->dev, "Failed to get clock\n"); ef1639e66e72af drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1018 return PTR_ERR(data->clk); 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1019 } 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1020 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1021 data->clk_sec = devm_clk_get(&pdev->dev, "tmu_triminfo_apbif"); 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1022 if (IS_ERR(data->clk_sec)) { 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1023 if (data->soc == SOC_ARCH_EXYNOS5420_TRIMINFO) { 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1024 dev_err(&pdev->dev, "Failed to get triminfo clock\n"); ef1639e66e72af drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1025 return PTR_ERR(data->clk_sec); 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1026 } 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1027 } else { 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1028 ret = clk_prepare(data->clk_sec); 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1029 if (ret) { 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1030 dev_err(&pdev->dev, "Failed to get clock\n"); ef1639e66e72af drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1031 return ret; 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1032 } 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1033 } 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1034 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1035 ret = clk_prepare(data->clk); 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1036 if (ret) { 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1037 dev_err(&pdev->dev, "Failed to get clock\n"); 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1038 goto err_clk_sec; 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1039 } 2a16279c68bcfa drivers/thermal/exynos_thermal.c Sachin Kamat 2013-04-18 1040 488c7455d74ce0 drivers/thermal/samsung/exynos_tmu.c Chanwoo Choi 2015-03-10 1041 switch (data->soc) { 488c7455d74ce0 drivers/thermal/samsung/exynos_tmu.c Chanwoo Choi 2015-03-10 1042 case SOC_ARCH_EXYNOS5433: 488c7455d74ce0 drivers/thermal/samsung/exynos_tmu.c Chanwoo Choi 2015-03-10 1043 case SOC_ARCH_EXYNOS7: 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1044 data->sclk = devm_clk_get(&pdev->dev, "tmu_sclk"); 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1045 if (IS_ERR(data->sclk)) { 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1046 dev_err(&pdev->dev, "Failed to get sclk\n"); 02d438f62c05f0 drivers/thermal/samsung/exynos_tmu.c Dan Carpenter 2021-08-10 1047 ret = PTR_ERR(data->sclk); 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1048 goto err_clk; 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1049 } else { 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1050 ret = clk_prepare_enable(data->sclk); 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1051 if (ret) { 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1052 dev_err(&pdev->dev, "Failed to enable sclk\n"); 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1053 goto err_clk; 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1054 } 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1055 } 488c7455d74ce0 drivers/thermal/samsung/exynos_tmu.c Chanwoo Choi 2015-03-10 1056 break; 488c7455d74ce0 drivers/thermal/samsung/exynos_tmu.c Chanwoo Choi 2015-03-10 1057 default: 488c7455d74ce0 drivers/thermal/samsung/exynos_tmu.c Chanwoo Choi 2015-03-10 1058 break; baba1ebb99ba1f drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 1059 } 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1060 9f72236db6c75b drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1061 ret = exynos_tmu_initialize(pdev); 9f72236db6c75b drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1062 if (ret) { 9f72236db6c75b drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1063 dev_err(&pdev->dev, "Failed to initialize TMU\n"); 9f72236db6c75b drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 @1064 return ret; All these warnings are basically saying that this should be goto err_sclk; 9f72236db6c75b drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1065 } 9f72236db6c75b drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1066 7ea98f70c73ea3 drivers/thermal/samsung/exynos_tmu.c Daniel Lezcano 2022-08-05 1067 data->tzd = devm_thermal_of_zone_register(&pdev->dev, 0, data, 9e4249b4034090 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 1068 &exynos_sensor_ops); 9e4249b4034090 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 1069 if (IS_ERR(data->tzd)) { 9e4249b4034090 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 1070 ret = PTR_ERR(data->tzd); 82bdde8ecdd7e5 drivers/thermal/samsung/exynos_tmu.c Marek Szyprowski 2020-02-28 1071 if (ret != -EPROBE_DEFER) 82bdde8ecdd7e5 drivers/thermal/samsung/exynos_tmu.c Marek Szyprowski 2020-02-28 1072 dev_err(&pdev->dev, "Failed to register sensor: %d\n", 82bdde8ecdd7e5 drivers/thermal/samsung/exynos_tmu.c Marek Szyprowski 2020-02-28 1073 ret); 9e4249b4034090 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 1074 goto err_sclk; 9e4249b4034090 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 1075 } 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1076 9f72236db6c75b drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1077 ret = exynos_thermal_zone_configure(pdev); 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1078 if (ret) { 9f72236db6c75b drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1079 dev_err(&pdev->dev, "Failed to configure the thermal zone\n"); 7ea98f70c73ea3 drivers/thermal/samsung/exynos_tmu.c Daniel Lezcano 2022-08-05 1080 goto err_sclk; 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1081 } 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1082 4147281723b2e6 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1083 ret = devm_request_threaded_irq(&pdev->dev, data->irq, NULL, 4147281723b2e6 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1084 exynos_tmu_threaded_irq, 4147281723b2e6 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1085 IRQF_TRIGGER_RISING 4147281723b2e6 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1086 | IRQF_SHARED | IRQF_ONESHOT, 4147281723b2e6 drivers/thermal/samsung/exynos_tmu.c Mateusz Majewski 2023-11-20 1087 dev_name(&pdev->dev), data); cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 1088 if (ret) { cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 1089 dev_err(&pdev->dev, "Failed to request irq: %d\n", data->irq); 7ea98f70c73ea3 drivers/thermal/samsung/exynos_tmu.c Daniel Lezcano 2022-08-05 1090 goto err_sclk; cebe7373a7e659 drivers/thermal/samsung/exynos_tmu.c Amit Daniel Kachhap 2013-06-24 1091 } bbf63be4f33135 drivers/thermal/exynos_thermal.c Jonghwa Lee 2012-11-21 1092 3b6a1a805f3424 drivers/thermal/samsung/exynos_tmu.c Lukasz Majewski 2015-01-23 1093 exynos_tmu_control(pdev, true); 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1094 return 0; 9e4249b4034090 drivers/thermal/samsung/exynos_tmu.c Krzysztof Kozlowski 2015-10-08 1095 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1096 err_sclk: 6c247393cfdd66 drivers/thermal/samsung/exynos_tmu.c Abhilash Kesavan 2015-01-27 1097 clk_disable_unprepare(data->sclk); 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1098 err_clk: 2a16279c68bcfa drivers/thermal/exynos_thermal.c Sachin Kamat 2013-04-18 1099 clk_unprepare(data->clk); 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1100 err_clk_sec: 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1101 if (!IS_ERR(data->clk_sec)) 14a11dc7e0dbf4 drivers/thermal/samsung/exynos_tmu.c Naveen Krishna Chatradhi 2013-12-19 1102 clk_unprepare(data->clk_sec); 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 @1103 return ret; 9d97e5c81e15af drivers/hwmon/exynos4_tmu.c Donggeun Kim 2011-09-07 1104 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki