Hi Logan, [auto build test ERROR on pci/next] [also build test ERROR on v4.10-rc6 next-20170130] [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/Logan-Gunthorpe/MicroSemi-Switchtec-management-interface-driver/20170201-011235 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): drivers/pci/switch/switchtec.c: In function 'stdev_is_alive': >> drivers/pci/switch/switchtec.c:120:14: warning: return makes integer from pointer without a cast [-Wint-conversion] return stdev->mmio; ~~~~~^~~~~~ drivers/pci/switch/switchtec.c: In function 'switchtec_init_msi_isr': >> drivers/pci/switch/switchtec.c:1075:7: error: implicit declaration of function 'pci_enable_msi_range' [-Werror=implicit-function-declaration] rc = pci_enable_msi_range(pdev, 1, 4); ^~~~~~~~~~~~~~~~~~~~ drivers/pci/switch/switchtec.c: In function 'switchtec_dev_ioctl': >> drivers/pci/switch/switchtec.c:758:3: warning: 'nr_idxs' may be used uninitialized in this function [-Wmaybe-uninitialized] for (ctl.index = 0; ctl.index < nr_idxs; ctl.index++) { ^~~ drivers/pci/switch/switchtec.c:741:6: note: 'nr_idxs' was declared here int nr_idxs; ^~~~~~~ drivers/pci/switch/switchtec.c: In function 'switchtec_pci_probe': >> drivers/pci/switch/switchtec.c:1174:50: warning: 'partition' may be used uninitialized in this function [-Wmaybe-uninitialized] stdev->mmio_part_cfg = &stdev->mmio_part_cfg_all[partition]; ^ drivers/pci/switch/switchtec.c:1153:6: note: 'partition' was declared here int partition; ^~~~~~~~~ cc1: some warnings being treated as errors vim +/pci_enable_msi_range +1075 drivers/pci/switch/switchtec.c 1069 static int switchtec_init_msi_isr(struct switchtec_dev *stdev) 1070 { 1071 int rc; 1072 struct pci_dev *pdev = stdev->pdev; 1073 1074 /* Try to set up msi irq */ > 1075 rc = pci_enable_msi_range(pdev, 1, 4); 1076 if (rc < 0) 1077 return rc; 1078 1079 stdev->event_irq = ioread32(&stdev->mmio_part_cfg->vep_vector_number); 1080 if (stdev->event_irq < 0 || stdev->event_irq >= 4) { 1081 rc = -EFAULT; 1082 goto err_msi_request; 1083 } 1084 1085 stdev->event_irq = pdev->irq + stdev->event_irq; 1086 dev_dbg(&stdev->dev, "Using msi interrupts: event_irq=%d\n", 1087 stdev->event_irq); 1088 1089 return 0; 1090 1091 err_msi_request: 1092 pci_disable_msi(pdev); 1093 return rc; 1094 } 1095 1096 static int switchtec_init_isr(struct switchtec_dev *stdev) 1097 { 1098 int rc; 1099 1100 rc = switchtec_init_msix_isr(stdev); 1101 if (rc) 1102 rc = switchtec_init_msi_isr(stdev); 1103 1104 if (rc) 1105 return rc; 1106 1107 rc = devm_request_irq(&stdev->pdev->dev, stdev->event_irq, 1108 switchtec_event_isr, 0, KBUILD_MODNAME, stdev); 1109 1110 return rc; 1111 } 1112 1113 static void switchtec_deinit_isr(struct switchtec_dev *stdev) 1114 { 1115 devm_free_irq(&stdev->pdev->dev, stdev->event_irq, stdev); 1116 pci_disable_msix(stdev->pdev); 1117 pci_disable_msi(stdev->pdev); 1118 } 1119 1120 static void init_pff(struct switchtec_dev *stdev) 1121 { 1122 int i; 1123 u32 reg; 1124 struct part_cfg_regs *pcfg = stdev->mmio_part_cfg; 1125 1126 for (i = 0; i < SWITCHTEC_MAX_PFF_CSR; i++) { 1127 reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id); 1128 if (reg != MICROSEMI_VENDOR_ID) 1129 break; 1130 } 1131 1132 stdev->pff_csr_count = i; 1133 1134 reg = ioread32(&pcfg->usp_pff_inst_id); 1135 if (reg < SWITCHTEC_MAX_PFF_CSR) 1136 stdev->pff_local[reg] = 1; 1137 1138 reg = ioread32(&pcfg->vep_pff_inst_id); 1139 if (reg < SWITCHTEC_MAX_PFF_CSR) 1140 stdev->pff_local[reg] = 1; 1141 1142 for (i = 0; i < ARRAY_SIZE(pcfg->dsp_pff_inst_id); i++) { 1143 reg = ioread32(&pcfg->dsp_pff_inst_id[i]); 1144 if (reg < SWITCHTEC_MAX_PFF_CSR) 1145 stdev->pff_local[reg] = 1; 1146 } 1147 } 1148 1149 static int switchtec_init_pci(struct switchtec_dev *stdev, 1150 struct pci_dev *pdev) 1151 { 1152 int rc; 1153 int partition; 1154 1155 rc = pcim_enable_device(pdev); 1156 if (rc) 1157 return rc; 1158 1159 rc = pcim_iomap_regions(pdev, 0x1, KBUILD_MODNAME); 1160 if (rc) 1161 return rc; 1162 1163 pci_set_master(pdev); 1164 1165 stdev->mmio = pcim_iomap_table(pdev)[0]; 1166 stdev->mmio_mrpc = stdev->mmio + SWITCHTEC_GAS_MRPC_OFFSET; 1167 stdev->mmio_sw_event = stdev->mmio + SWITCHTEC_GAS_SW_EVENT_OFFSET; 1168 stdev->mmio_sys_info = stdev->mmio + SWITCHTEC_GAS_SYS_INFO_OFFSET; 1169 stdev->mmio_flash_info = stdev->mmio + SWITCHTEC_GAS_FLASH_INFO_OFFSET; 1170 stdev->mmio_ntb = stdev->mmio + SWITCHTEC_GAS_NTB_OFFSET; 1171 stdev->partition = ioread8(&stdev->mmio_ntb->partition_id); 1172 stdev->partition_count = ioread8(&stdev->mmio_ntb->partition_count); 1173 stdev->mmio_part_cfg_all = stdev->mmio + SWITCHTEC_GAS_PART_CFG_OFFSET; > 1174 stdev->mmio_part_cfg = &stdev->mmio_part_cfg_all[partition]; 1175 stdev->mmio_pff_csr = stdev->mmio + SWITCHTEC_GAS_PFF_CSR_OFFSET; 1176 1177 init_pff(stdev); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip