* [linux-next:master 6931/7876] drivers/remoteproc/xlnx_r5_remoteproc.c:914:11: warning: variable 'ret' is used uninitialized whenever 'if' condition is false
@ 2024-04-23 10:12 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-04-23 10:12 UTC (permalink / raw)
To: Tanmay Shah
Cc: llvm, oe-kbuild-all, Linux Memory Management List, Mathieu Poirier
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: a59668a9397e7245b26e9be85d23f242ff757ae8
commit: a6b974b40f942b3e51124de588383009f6a42d2d [6931/7876] drivers: remoteproc: xlnx: Add Versal and Versal-NET support
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20240423/202404231839.oHiY9Lw8-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 5ef5eb66fb428aaf61fb51b709f065c069c11242)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240423/202404231839.oHiY9Lw8-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404231839.oHiY9Lw8-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/remoteproc/xlnx_r5_remoteproc.c:8:
In file included from include/linux/dma-mapping.h:11:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2208:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/remoteproc/xlnx_r5_remoteproc.c:914:11: warning: variable 'ret' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
914 | else if (device_is_compatible(dev, "xlnx,zynqmp-r5fss"))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/remoteproc/xlnx_r5_remoteproc.c:917:6: note: uninitialized use occurs here
917 | if (ret) {
| ^~~
drivers/remoteproc/xlnx_r5_remoteproc.c:914:7: note: remove the 'if' if its condition is always true
914 | else if (device_is_compatible(dev, "xlnx,zynqmp-r5fss"))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
915 | ret = zynqmp_r5_get_tcm_node(cluster);
drivers/remoteproc/xlnx_r5_remoteproc.c:907:9: note: initialize the variable 'ret' to silence this warning
907 | int ret, i;
| ^
| = 0
6 warnings generated.
vim +914 drivers/remoteproc/xlnx_r5_remoteproc.c
890
891 /*
892 * zynqmp_r5_core_init()
893 * Create and initialize zynqmp_r5_core type object
894 *
895 * @cluster: pointer to zynqmp_r5_cluster type object
896 * @fw_reg_val: value expected by firmware to configure RPU cluster mode
897 * @tcm_mode: value expected by fw to configure TCM mode (lockstep or split)
898 *
899 * Return: 0 for success and error code for failure.
900 */
901 static int zynqmp_r5_core_init(struct zynqmp_r5_cluster *cluster,
902 enum rpu_oper_mode fw_reg_val,
903 enum rpu_tcm_comb tcm_mode)
904 {
905 struct device *dev = cluster->dev;
906 struct zynqmp_r5_core *r5_core;
907 int ret, i;
908
909 r5_core = cluster->r5_cores[0];
910
911 /* Maintain backward compatibility for zynqmp by using hardcode TCM address. */
912 if (of_find_property(r5_core->np, "reg", NULL))
913 ret = zynqmp_r5_get_tcm_node_from_dt(cluster);
> 914 else if (device_is_compatible(dev, "xlnx,zynqmp-r5fss"))
915 ret = zynqmp_r5_get_tcm_node(cluster);
916
917 if (ret) {
918 dev_err(dev, "can't get tcm, err %d\n", ret);
919 return ret;
920 }
921
922 for (i = 0; i < cluster->core_count; i++) {
923 r5_core = cluster->r5_cores[i];
924
925 /* Initialize r5 cores with power-domains parsed from dts */
926 ret = of_property_read_u32_index(r5_core->np, "power-domains",
927 1, &r5_core->pm_domain_id);
928 if (ret) {
929 dev_err(dev, "failed to get power-domains property\n");
930 return ret;
931 }
932
933 ret = zynqmp_pm_set_rpu_mode(r5_core->pm_domain_id, fw_reg_val);
934 if (ret < 0) {
935 dev_err(r5_core->dev, "failed to set RPU mode\n");
936 return ret;
937 }
938
939 if (of_find_property(dev_of_node(dev), "xlnx,tcm-mode", NULL) ||
940 device_is_compatible(dev, "xlnx,zynqmp-r5fss")) {
941 ret = zynqmp_pm_set_tcm_config(r5_core->pm_domain_id,
942 tcm_mode);
943 if (ret < 0) {
944 dev_err(r5_core->dev, "failed to configure TCM\n");
945 return ret;
946 }
947 }
948 }
949
950 return 0;
951 }
952
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-23 10:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-23 10:12 [linux-next:master 6931/7876] drivers/remoteproc/xlnx_r5_remoteproc.c:914:11: warning: variable 'ret' is used uninitialized whenever 'if' condition is false kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox