CC: [email protected]
BCC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: James Lo <[email protected]>
TO: "Rafael J . Wysocki" <[email protected]>
TO: Daniel Lezcano <[email protected]>
TO: Matthias Brugger <[email protected]>
TO: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: Fan Chen <[email protected]>
CC: Louis Yu <[email protected]>
CC: Michael Kao <[email protected]>
CC: "Hsin-Yi Wang" <[email protected]>
CC: Ben Tseng <[email protected]>
CC: James Lo <[email protected]>

Hi James,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on rafael-pm/thermal]
[also build test WARNING on v5.18-rc7 next-20220519]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/intel-lab-lkp/linux/commits/James-Lo/thermal-mediatek-add-another-get_temp-ops-for-thermal-sensors/20220519-181307
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git 
thermal
:::::: branch date: 11 hours ago
:::::: commit date: 11 hours ago
config: arm-randconfig-m031-20220519 
(https://download.01.org/0day-ci/archive/20220520/[email protected]/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/thermal/mtk_thermal.c:1137 mtk_thermal_probe() error: uninitialized 
symbol 'tzdev'.

vim +/tzdev +1137 drivers/thermal/mtk_thermal.c

89945047b1666c Henry Yen                2020-04-30  1016  
a92db1c8089e82 Sascha Hauer             2015-11-30  1017  static int 
mtk_thermal_probe(struct platform_device *pdev)
a92db1c8089e82 Sascha Hauer             2015-11-30  1018  {
bd9403943d7d19 Michael Kao              2019-02-01  1019        int ret, i, 
ctrl_id;
a92db1c8089e82 Sascha Hauer             2015-11-30  1020        struct 
device_node *auxadc, *apmixedsys, *np = pdev->dev.of_node;
a92db1c8089e82 Sascha Hauer             2015-11-30  1021        struct 
mtk_thermal *mt;
a92db1c8089e82 Sascha Hauer             2015-11-30  1022        struct resource 
*res;
a92db1c8089e82 Sascha Hauer             2015-11-30  1023        u64 
auxadc_phys_base, apmixed_phys_base;
1f6b0889d0ea03 Axel Lin                 2016-09-07  1024        struct 
thermal_zone_device *tzdev;
89945047b1666c Henry Yen                2020-04-30  1025        void __iomem 
*apmixed_base, *auxadc_base;
107e3978035dbd James Lo                 2022-05-19  1026        struct 
mtk_thermal_bank *tz;
a92db1c8089e82 Sascha Hauer             2015-11-30  1027  
a92db1c8089e82 Sascha Hauer             2015-11-30  1028        mt = 
devm_kzalloc(&pdev->dev, sizeof(*mt), GFP_KERNEL);
a92db1c8089e82 Sascha Hauer             2015-11-30  1029        if (!mt)
a92db1c8089e82 Sascha Hauer             2015-11-30  1030                return 
-ENOMEM;
a92db1c8089e82 Sascha Hauer             2015-11-30  1031  
9efc58dfa14a20 Ryder Lee                2018-04-16  1032        mt->conf = 
of_device_get_match_data(&pdev->dev);
b7cf0053738c54 [email protected] 2016-08-18  1033  
a92db1c8089e82 Sascha Hauer             2015-11-30  1034        
mt->clk_peri_therm = devm_clk_get(&pdev->dev, "therm");
a92db1c8089e82 Sascha Hauer             2015-11-30  1035        if 
(IS_ERR(mt->clk_peri_therm))
a92db1c8089e82 Sascha Hauer             2015-11-30  1036                return 
PTR_ERR(mt->clk_peri_therm);
a92db1c8089e82 Sascha Hauer             2015-11-30  1037  
a92db1c8089e82 Sascha Hauer             2015-11-30  1038        mt->clk_auxadc 
= devm_clk_get(&pdev->dev, "auxadc");
a92db1c8089e82 Sascha Hauer             2015-11-30  1039        if 
(IS_ERR(mt->clk_auxadc))
a92db1c8089e82 Sascha Hauer             2015-11-30  1040                return 
PTR_ERR(mt->clk_auxadc);
a92db1c8089e82 Sascha Hauer             2015-11-30  1041  
a92db1c8089e82 Sascha Hauer             2015-11-30  1042        res = 
platform_get_resource(pdev, IORESOURCE_MEM, 0);
a92db1c8089e82 Sascha Hauer             2015-11-30  1043        
mt->thermal_base = devm_ioremap_resource(&pdev->dev, res);
a92db1c8089e82 Sascha Hauer             2015-11-30  1044        if 
(IS_ERR(mt->thermal_base))
a92db1c8089e82 Sascha Hauer             2015-11-30  1045                return 
PTR_ERR(mt->thermal_base);
a92db1c8089e82 Sascha Hauer             2015-11-30  1046  
a92db1c8089e82 Sascha Hauer             2015-11-30  1047        ret = 
mtk_thermal_get_calibration_data(&pdev->dev, mt);
a92db1c8089e82 Sascha Hauer             2015-11-30  1048        if (ret)
a92db1c8089e82 Sascha Hauer             2015-11-30  1049                return 
ret;
a92db1c8089e82 Sascha Hauer             2015-11-30  1050  
a92db1c8089e82 Sascha Hauer             2015-11-30  1051        
mutex_init(&mt->lock);
a92db1c8089e82 Sascha Hauer             2015-11-30  1052  
a92db1c8089e82 Sascha Hauer             2015-11-30  1053        mt->dev = 
&pdev->dev;
a92db1c8089e82 Sascha Hauer             2015-11-30  1054  
a92db1c8089e82 Sascha Hauer             2015-11-30  1055        auxadc = 
of_parse_phandle(np, "mediatek,auxadc", 0);
a92db1c8089e82 Sascha Hauer             2015-11-30  1056        if (!auxadc) {
a92db1c8089e82 Sascha Hauer             2015-11-30  1057                
dev_err(&pdev->dev, "missing auxadc node\n");
a92db1c8089e82 Sascha Hauer             2015-11-30  1058                return 
-ENODEV;
a92db1c8089e82 Sascha Hauer             2015-11-30  1059        }
a92db1c8089e82 Sascha Hauer             2015-11-30  1060  
89945047b1666c Henry Yen                2020-04-30  1061        auxadc_base = 
of_iomap(auxadc, 0);
a92db1c8089e82 Sascha Hauer             2015-11-30  1062        
auxadc_phys_base = of_get_phys_base(auxadc);
a92db1c8089e82 Sascha Hauer             2015-11-30  1063  
a92db1c8089e82 Sascha Hauer             2015-11-30  1064        
of_node_put(auxadc);
a92db1c8089e82 Sascha Hauer             2015-11-30  1065  
a92db1c8089e82 Sascha Hauer             2015-11-30  1066        if 
(auxadc_phys_base == OF_BAD_ADDR) {
a92db1c8089e82 Sascha Hauer             2015-11-30  1067                
dev_err(&pdev->dev, "Can't get auxadc phys address\n");
a92db1c8089e82 Sascha Hauer             2015-11-30  1068                return 
-EINVAL;
a92db1c8089e82 Sascha Hauer             2015-11-30  1069        }
a92db1c8089e82 Sascha Hauer             2015-11-30  1070  
a92db1c8089e82 Sascha Hauer             2015-11-30  1071        apmixedsys = 
of_parse_phandle(np, "mediatek,apmixedsys", 0);
a92db1c8089e82 Sascha Hauer             2015-11-30  1072        if 
(!apmixedsys) {
a92db1c8089e82 Sascha Hauer             2015-11-30  1073                
dev_err(&pdev->dev, "missing apmixedsys node\n");
a92db1c8089e82 Sascha Hauer             2015-11-30  1074                return 
-ENODEV;
a92db1c8089e82 Sascha Hauer             2015-11-30  1075        }
a92db1c8089e82 Sascha Hauer             2015-11-30  1076  
89945047b1666c Henry Yen                2020-04-30  1077        apmixed_base = 
of_iomap(apmixedsys, 0);
a92db1c8089e82 Sascha Hauer             2015-11-30  1078        
apmixed_phys_base = of_get_phys_base(apmixedsys);
a92db1c8089e82 Sascha Hauer             2015-11-30  1079  
a92db1c8089e82 Sascha Hauer             2015-11-30  1080        
of_node_put(apmixedsys);
a92db1c8089e82 Sascha Hauer             2015-11-30  1081  
a92db1c8089e82 Sascha Hauer             2015-11-30  1082        if 
(apmixed_phys_base == OF_BAD_ADDR) {
a92db1c8089e82 Sascha Hauer             2015-11-30  1083                
dev_err(&pdev->dev, "Can't get auxadc phys address\n");
a92db1c8089e82 Sascha Hauer             2015-11-30  1084                return 
-EINVAL;
a92db1c8089e82 Sascha Hauer             2015-11-30  1085        }
a92db1c8089e82 Sascha Hauer             2015-11-30  1086  
703456ba76e944 Fabien Parent            2020-10-21  1087        ret = 
device_reset_optional(&pdev->dev);
6760f3f74e72d6 Louis Yu                 2017-08-01  1088        if (ret)
6760f3f74e72d6 Louis Yu                 2017-08-01  1089                return 
ret;
6760f3f74e72d6 Louis Yu                 2017-08-01  1090  
a92db1c8089e82 Sascha Hauer             2015-11-30  1091        ret = 
clk_prepare_enable(mt->clk_auxadc);
a92db1c8089e82 Sascha Hauer             2015-11-30  1092        if (ret) {
a92db1c8089e82 Sascha Hauer             2015-11-30  1093                
dev_err(&pdev->dev, "Can't enable auxadc clk: %d\n", ret);
a92db1c8089e82 Sascha Hauer             2015-11-30  1094                return 
ret;
a92db1c8089e82 Sascha Hauer             2015-11-30  1095        }
a92db1c8089e82 Sascha Hauer             2015-11-30  1096  
a92db1c8089e82 Sascha Hauer             2015-11-30  1097        ret = 
clk_prepare_enable(mt->clk_peri_therm);
a92db1c8089e82 Sascha Hauer             2015-11-30  1098        if (ret) {
a92db1c8089e82 Sascha Hauer             2015-11-30  1099                
dev_err(&pdev->dev, "Can't enable peri clk: %d\n", ret);
a92db1c8089e82 Sascha Hauer             2015-11-30  1100                goto 
err_disable_clk_auxadc;
a92db1c8089e82 Sascha Hauer             2015-11-30  1101        }
a92db1c8089e82 Sascha Hauer             2015-11-30  1102  
89945047b1666c Henry Yen                2020-04-30  1103        if 
(mt->conf->version == MTK_THERMAL_V2) {
89945047b1666c Henry Yen                2020-04-30  1104                
mtk_thermal_turn_on_buffer(apmixed_base);
89945047b1666c Henry Yen                2020-04-30  1105                
mtk_thermal_release_periodic_ts(mt, auxadc_base);
89945047b1666c Henry Yen                2020-04-30  1106        }
89945047b1666c Henry Yen                2020-04-30  1107  
bd9403943d7d19 Michael Kao              2019-02-01  1108        for (ctrl_id = 
0; ctrl_id < mt->conf->num_controller ; ctrl_id++)
b7cf0053738c54 [email protected] 2016-08-18  1109                for (i 
= 0; i < mt->conf->num_banks; i++)
eb4fc33eb26807 Eduardo Valentin         2016-02-18  1110                        
mtk_thermal_init_bank(mt, i, apmixed_phys_base,
bd9403943d7d19 Michael Kao              2019-02-01  1111                        
                      auxadc_phys_base, ctrl_id);
a92db1c8089e82 Sascha Hauer             2015-11-30  1112  
a92db1c8089e82 Sascha Hauer             2015-11-30  1113        
platform_set_drvdata(pdev, mt);
a92db1c8089e82 Sascha Hauer             2015-11-30  1114  
107e3978035dbd James Lo                 2022-05-19  1115        for (i = 0; i < 
mt->conf->num_sensors + 1; i++) {
107e3978035dbd James Lo                 2022-05-19  1116                tz = 
devm_kmalloc(&pdev->dev, sizeof(*tz), GFP_KERNEL);
107e3978035dbd James Lo                 2022-05-19  1117                if (!tz)
107e3978035dbd James Lo                 2022-05-19  1118                        
return -ENOMEM;
107e3978035dbd James Lo                 2022-05-19  1119  
107e3978035dbd James Lo                 2022-05-19  1120                tz->mt 
= mt;
107e3978035dbd James Lo                 2022-05-19  1121                tz->id 
= i;
107e3978035dbd James Lo                 2022-05-19  1122  
107e3978035dbd James Lo                 2022-05-19  1123                tzdev = 
devm_thermal_zone_of_sensor_register(
107e3978035dbd James Lo                 2022-05-19  1124                        
                        &pdev->dev, i, tz, (i == 0) ?
107e3978035dbd James Lo                 2022-05-19  1125                        
                        &mtk_thermal_ops :
107e3978035dbd James Lo                 2022-05-19  1126                        
                        &mtk_thermal_sensor_ops);
107e3978035dbd James Lo                 2022-05-19  1127  
1f6b0889d0ea03 Axel Lin                 2016-09-07  1128                if 
(IS_ERR(tzdev)) {
1f6b0889d0ea03 Axel Lin                 2016-09-07  1129                        
ret = PTR_ERR(tzdev);
107e3978035dbd James Lo                 2022-05-19  1130                        
dev_err(&pdev->dev,
107e3978035dbd James Lo                 2022-05-19  1131                        
        "Error: Failed to register thermal zone %d, ret = %d\n",
107e3978035dbd James Lo                 2022-05-19  1132                        
        i, ret);
1f6b0889d0ea03 Axel Lin                 2016-09-07  1133                        
goto err_disable_clk_peri_therm;
1f6b0889d0ea03 Axel Lin                 2016-09-07  1134                }
107e3978035dbd James Lo                 2022-05-19  1135        }
a92db1c8089e82 Sascha Hauer             2015-11-30  1136  
24e21d9f40ec3f Frank Wunderlich         2021-06-08 @1137        ret = 
devm_thermal_add_hwmon_sysfs(tzdev);
24e21d9f40ec3f Frank Wunderlich         2021-06-08  1138        if (ret)
24e21d9f40ec3f Frank Wunderlich         2021-06-08  1139                
dev_warn(&pdev->dev, "error in thermal_add_hwmon_sysfs");
24e21d9f40ec3f Frank Wunderlich         2021-06-08  1140  
a92db1c8089e82 Sascha Hauer             2015-11-30  1141        return 0;
a92db1c8089e82 Sascha Hauer             2015-11-30  1142  
1f6b0889d0ea03 Axel Lin                 2016-09-07  1143  
err_disable_clk_peri_therm:
1f6b0889d0ea03 Axel Lin                 2016-09-07  1144        
clk_disable_unprepare(mt->clk_peri_therm);
a92db1c8089e82 Sascha Hauer             2015-11-30  1145  
err_disable_clk_auxadc:
a92db1c8089e82 Sascha Hauer             2015-11-30  1146        
clk_disable_unprepare(mt->clk_auxadc);
a92db1c8089e82 Sascha Hauer             2015-11-30  1147  
a92db1c8089e82 Sascha Hauer             2015-11-30  1148        return ret;
a92db1c8089e82 Sascha Hauer             2015-11-30  1149  }
a92db1c8089e82 Sascha Hauer             2015-11-30  1150  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to