* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.