Hi,

[auto build test WARNING on pci/next]
[also build test WARNING on v4.7-rc3 next-20160616]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Shawn-Lin/Documentation-bindings-add-dt-doc-for-Rockchip-PCIe-controller/20160616-095337
base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 5.3.1-8) 5.3.1 20160205
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   drivers/pci/host/pcie-rockchip.c: In function 'rockchip_pcie_probe':
>> drivers/pci/host/pcie-rockchip.c:995:6: warning: 'mem_size' may be used 
>> uninitialized in this function [-Wmaybe-uninitialized]
     u32 mem_size;
         ^
>> drivers/pci/host/pcie-rockchip.c:1094:9: warning: 'mem_bus_addr' may be used 
>> uninitialized in this function [-Wmaybe-uninitialized]
      err = rockchip_pcie_prog_ob_atu(port, reg_no + 1,
            ^
>> drivers/pci/host/pcie-rockchip.c:993:6: warning: 'io_size' may be used 
>> uninitialized in this function [-Wmaybe-uninitialized]
     u32 io_size;
         ^
>> drivers/pci/host/pcie-rockchip.c:1115:9: warning: 'io_bus_addr' may be used 
>> uninitialized in this function [-Wmaybe-uninitialized]
      err = rockchip_pcie_prog_ob_atu(port,
            ^
>> drivers/pci/host/pcie-rockchip.c:1128:26: warning: 'busn' may be used 
>> uninitialized in this function [-Wmaybe-uninitialized]
     port->root_bus_nr = busn->start;
                             ^

vim +/mem_size +995 drivers/pci/host/pcie-rockchip.c

   987          struct resource_entry *win;
   988          resource_size_t io_base;
   989          struct resource *busn;
   990          struct resource *mem;
   991          struct resource *io;
   992          phys_addr_t io_bus_addr;
 > 993          u32 io_size;
   994          phys_addr_t mem_bus_addr;
 > 995          u32 mem_size;
   996          int reg_no;
   997          int err = 0;
   998          int offset = 0;
   999  
  1000          LIST_HEAD(res);
  1001  
  1002          if (!dev->of_node)
  1003                  return -ENODEV;
  1004  
  1005          port = devm_kzalloc(dev, sizeof(*port), GFP_KERNEL);
  1006          if (!port)
  1007                  return -ENOMEM;
  1008  
  1009          port->dev = dev;
  1010  
  1011          err = rockchip_pcie_parse_dt(port);
  1012          if (err)
  1013                  return err;
  1014  
  1015          err = clk_prepare_enable(port->aclk_pcie);
  1016          if (err) {
  1017                  dev_err(dev, "Unable to enable aclk_pcie clock.\n");
  1018                  goto err_aclk_pcie;
  1019          }
  1020  
  1021          err = clk_prepare_enable(port->aclk_perf_pcie);
  1022          if (err) {
  1023                  dev_err(dev, "Unable to enable aclk_perf_pcie 
clock.\n");
  1024                  goto err_aclk_perf_pcie;
  1025          }
  1026  
  1027          err = clk_prepare_enable(port->hclk_pcie);
  1028          if (err) {
  1029                  dev_err(dev, "Unable to enable hclk_pcie clock.\n");
  1030                  goto err_hclk_pcie;
  1031          }
  1032  
  1033          err = clk_prepare_enable(port->clk_pcie_pm);
  1034          if (err) {
  1035                  dev_err(dev, "Unable to enable hclk_pcie clock.\n");
  1036                  goto err_pcie_pm;
  1037          }
  1038  
  1039          err = rockchip_pcie_set_vpcie(port);
  1040          if (err) {
  1041                  dev_err(port->dev, "Fail to set vpcie regulator.\n");
  1042                  goto err_set_vpcie;
  1043          }
  1044  
  1045          err = rockchip_pcie_init_port(port);
  1046          if (err)
  1047                  goto err_vpcie;
  1048  
  1049          platform_set_drvdata(pdev, port);
  1050  
  1051          rockchip_pcie_enable_interrupts(port);
  1052  
  1053          err = rockchip_pcie_init_irq_domain(port);
  1054          if (err < 0)
  1055                  goto err_vpcie;
  1056  
  1057          err = of_pci_get_host_bridge_resources(dev->of_node, 0, 0xff,
  1058                                                 &res, &io_base);
  1059          if (err)
  1060                  goto err_vpcie;
  1061  
  1062          /* Get the I/O and memory ranges from DT */
  1063          resource_list_for_each_entry(win, &res) {
  1064                  switch (resource_type(win->res)) {
  1065                  case IORESOURCE_IO:
  1066                          io = win->res;
  1067                          io->name = "I/O";
  1068                          io_size = resource_size(io);
  1069                          io_bus_addr = io->start - win->offset;
  1070                          err = pci_remap_iospace(io, io_base);
  1071                          if (err) {
  1072                                  dev_warn(port->dev, "error %d: failed 
to map resource %pR\n",
  1073                                           err, io);
  1074                                  continue;
  1075                          }
  1076                          break;
  1077                  case IORESOURCE_MEM:
  1078                          mem = win->res;
  1079                          mem->name = "MEM";
  1080                          mem_size = resource_size(mem);
  1081                          mem_bus_addr = mem->start - win->offset;
  1082                          break;
  1083                  case 0:
  1084                          break;
  1085                  case IORESOURCE_BUS:
  1086                          busn = win->res;
  1087                          break;
  1088                  default:
  1089                          continue;
  1090                  }
  1091          }
  1092  
  1093          for (reg_no = 0; reg_no < (mem_size >> 20); reg_no++) {
> 1094                  err = rockchip_pcie_prog_ob_atu(port, reg_no + 1,
  1095                                                  AXI_WRAPPER_MEM_WRITE,
  1096                                                  20 - 1,
  1097                                                  mem_bus_addr +
  1098                                                          (reg_no << 20),
  1099                                                  0);
  1100                  if (err) {
  1101                          dev_err(dev, "Program RC mem outbound atu 
failed\n");
  1102                          goto err_vpcie;
  1103                  }
  1104          }
  1105  
  1106          err = rockchip_pcie_prog_ib_atu(port, 2, 32 - 1, 0x0, 0);
  1107          if (err) {
  1108                  dev_err(dev, "Program RC mem inbound atu failed\n");
  1109                  goto err_vpcie;
  1110          }
  1111  
  1112          offset = mem_size >> 20;
  1113  
  1114          for (reg_no = 0; reg_no < (io_size >> 20); reg_no++) {
> 1115                  err = rockchip_pcie_prog_ob_atu(port,
  1116                                                  reg_no + 1 + offset,
  1117                                                  AXI_WRAPPER_IO_WRITE,
  1118                                                  20 - 1,
  1119                                                  io_bus_addr +
  1120                                                          (reg_no << 20),
  1121                                                  0);
  1122                  if (err) {
  1123                          dev_err(dev, "Program RC io outbound atu 
failed\n");
  1124                          goto err_vpcie;
  1125                  }
  1126          }
  1127  
> 1128          port->root_bus_nr = busn->start;
  1129  
  1130          bus = pci_scan_root_bus(&pdev->dev, 0,
  1131                                  &rockchip_pcie_ops, port, &res);

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data

Reply via email to