Hi Anand, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on ec7f49619d8ee13e108740c82f942cd401b989e9] url: https://github.com/intel-lab-lkp/linux/commits/Anand-Moon/Exynos-Thermal-code-inprovement/20220515-144336 base: ec7f49619d8ee13e108740c82f942cd401b989e9 config: hexagon-randconfig-r033-20220516 (https://download.01.org/0day-ci/archive/20220516/202205161820.8rHIcsvI-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 853fa8ee225edf2d0de94b0dcbd31bea916e825e) 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/eb50b0c2100fabd6d09b87abd11f52c5295512e8 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Anand-Moon/Exynos-Thermal-code-inprovement/20220515-144336 git checkout eb50b0c2100fabd6d09b87abd11f52c5295512e8 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/thermal/samsung/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> drivers/thermal/samsung/exynos_tmu.c:929:40: warning: overlapping comparisons always evaluate to false [-Wtautological-overlap-compare] if (data->soc == SOC_ARCH_EXYNOS5420 && ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 1 warning generated. vim +929 drivers/thermal/samsung/exynos_tmu.c 865 866 static int exynos_map_dt_data(struct platform_device *pdev) 867 { 868 struct exynos_tmu_data *data = platform_get_drvdata(pdev); 869 struct resource res; 870 871 if (!data || !pdev->dev.of_node) 872 return -ENODEV; 873 874 data->id = of_alias_get_id(pdev->dev.of_node, "tmuctrl"); 875 if (data->id < 0) 876 data->id = 0; 877 878 data->irq = irq_of_parse_and_map(pdev->dev.of_node, 0); 879 if (data->irq <= 0) { 880 dev_err(&pdev->dev, "failed to get IRQ\n"); 881 return -ENODEV; 882 } 883 884 if (of_address_to_resource(pdev->dev.of_node, 0, &res)) { 885 dev_err(&pdev->dev, "failed to get Resource 0\n"); 886 return -ENODEV; 887 } 888 889 data->base = devm_ioremap(&pdev->dev, res.start, resource_size(&res)); 890 if (!data->base) { 891 dev_err(&pdev->dev, "Failed to ioremap memory\n"); 892 return -EADDRNOTAVAIL; 893 } 894 895 data->soc = (enum soc_type)of_device_get_match_data(&pdev->dev); 896 897 switch (data->soc) { 898 case SOC_ARCH_EXYNOS4210: 899 data->tmu_set_trip_temp = exynos4210_tmu_set_trip_temp; 900 data->tmu_set_trip_hyst = exynos4210_tmu_set_trip_hyst; 901 data->tmu_initialize = exynos4210_tmu_initialize; 902 data->tmu_control = exynos4210_tmu_control; 903 data->tmu_read = exynos4210_tmu_read; 904 data->tmu_clear_irqs = exynos4210_tmu_clear_irqs; 905 data->ntrip = 4; 906 data->gain = 15; 907 data->reference_voltage = 7; 908 data->efuse_value = 55; 909 data->min_efuse_value = 40; 910 data->max_efuse_value = 100; 911 break; 912 case SOC_ARCH_EXYNOS3250: 913 case SOC_ARCH_EXYNOS4412: 914 case SOC_ARCH_EXYNOS5250: 915 case SOC_ARCH_EXYNOS5260: 916 case SOC_ARCH_EXYNOS5420: 917 case SOC_ARCH_EXYNOS5420_TRIMINFO: 918 data->tmu_set_trip_temp = exynos4412_tmu_set_trip_temp; 919 data->tmu_set_trip_hyst = exynos4412_tmu_set_trip_hyst; 920 data->tmu_initialize = exynos4412_tmu_initialize; 921 data->tmu_control = exynos4210_tmu_control; 922 data->tmu_read = exynos4412_tmu_read; 923 data->tmu_set_emulation = exynos4412_tmu_set_emulation; 924 data->tmu_clear_irqs = exynos4210_tmu_clear_irqs; 925 data->ntrip = 4; 926 data->gain = 8; 927 data->reference_voltage = 16; 928 data->efuse_value = 55; > 929 if (data->soc == SOC_ARCH_EXYNOS5420 && 930 data->soc == SOC_ARCH_EXYNOS5420_TRIMINFO) { 931 data->min_efuse_value = 16; 932 data->max_efuse_value = 76; 933 } else { 934 data->min_efuse_value = 40; 935 data->max_efuse_value = 100; 936 } 937 break; 938 case SOC_ARCH_EXYNOS5433: 939 data->tmu_set_trip_temp = exynos5433_tmu_set_trip_temp; 940 data->tmu_set_trip_hyst = exynos5433_tmu_set_trip_hyst; 941 data->tmu_initialize = exynos5433_tmu_initialize; 942 data->tmu_control = exynos5433_tmu_control; 943 data->tmu_read = exynos4412_tmu_read; 944 data->tmu_set_emulation = exynos4412_tmu_set_emulation; 945 data->tmu_clear_irqs = exynos4210_tmu_clear_irqs; 946 data->ntrip = 8; 947 data->gain = 8; 948 if (res.start == EXYNOS5433_G3D_BASE) 949 data->reference_voltage = 23; 950 else 951 data->reference_voltage = 16; 952 data->efuse_value = 75; 953 data->min_efuse_value = 40; 954 data->max_efuse_value = 150; 955 break; 956 case SOC_ARCH_EXYNOS7: 957 data->tmu_set_trip_temp = exynos7_tmu_set_trip_temp; 958 data->tmu_set_trip_hyst = exynos7_tmu_set_trip_hyst; 959 data->tmu_initialize = exynos7_tmu_initialize; 960 data->tmu_control = exynos7_tmu_control; 961 data->tmu_read = exynos7_tmu_read; 962 data->tmu_set_emulation = exynos4412_tmu_set_emulation; 963 data->tmu_clear_irqs = exynos4210_tmu_clear_irqs; 964 data->ntrip = 8; 965 data->gain = 9; 966 data->reference_voltage = 17; 967 data->efuse_value = 75; 968 data->min_efuse_value = 15; 969 data->max_efuse_value = 100; 970 break; 971 default: 972 dev_err(&pdev->dev, "Platform not supported\n"); 973 return -EINVAL; 974 } 975 976 data->cal_type = TYPE_ONE_POINT_TRIMMING; 977 978 /* 979 * Check if the TMU shares some registers and then try to map the 980 * memory of common registers. 981 */ 982 if (data->soc != SOC_ARCH_EXYNOS5420_TRIMINFO) 983 return 0; 984 985 if (of_address_to_resource(pdev->dev.of_node, 1, &res)) { 986 dev_err(&pdev->dev, "failed to get Resource 1\n"); 987 return -ENODEV; 988 } 989 990 data->base_second = devm_ioremap(&pdev->dev, res.start, 991 resource_size(&res)); 992 if (!data->base_second) { 993 dev_err(&pdev->dev, "Failed to ioremap memory\n"); 994 return -ENOMEM; 995 } 996 997 return 0; 998 } 999 -- 0-DAY CI Kernel Test Service https://01.org/lkp