Hi Amit, FYI, the error/warning still remains. tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4 head: 2f686fa6c0bf7fa168dc45dd7ce1359217212911 commit: 24bcc7359bdd609cedf0a715d77dc39e4ad782db [942/1765] mtd: spi-nor: Added axi-qspi support in spi-nor framework config: i386-randconfig-c001-20210720 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 reproduce (this is a W=1 build): # https://github.com/Xilinx/linux-xlnx/commit/24bcc7359bdd609cedf0a715d77dc39e4ad782db git remote add xlnx https://github.com/Xilinx/linux-xlnx git fetch --no-tags xlnx xlnx_rebase_v5.4 git checkout 24bcc7359bdd609cedf0a715d77dc39e4ad782db # save the attached .config to linux build tree make W=1 ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): drivers/mtd/spi-nor/spi-nor.c: In function 'spi_nor_write_ear': drivers/mtd/spi-nor/spi-nor.c:691:5: warning: variable 'code' set but not used [-Wunused-but-set-variable] 691 | u8 code; | ^~~~ drivers/mtd/spi-nor/spi-nor.c: In function 'spi_nor_read': drivers/mtd/spi-nor/spi-nor.c:2741:9: warning: variable 'addr' set but not used [-Wunused-but-set-variable] 2741 | loff_t addr = 0; | ^~~~ drivers/mtd/spi-nor/spi-nor.c: In function 'spi_nor_set_addr_width': >> drivers/mtd/spi-nor/spi-nor.c:5196:14: error: implicit declaration of function 'of_get_next_parent'; did you mean 'of_get_parent'? [-Werror=implicit-function-declaration] 5196 | np_spi = of_get_next_parent(np); | ^~~~~~~~~~~~~~~~~~ | of_get_parent >> drivers/mtd/spi-nor/spi-nor.c:5196:12: warning: assignment to 'struct device_node *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 5196 | np_spi = of_get_next_parent(np); | ^ drivers/mtd/spi-nor/spi-nor.c: In function 'spi_nor_get_flash_info': drivers/mtd/spi-nor/spi-nor.c:5266:11: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 5266 | return jinfo; | ^~~~~ drivers/mtd/spi-nor/spi-nor.c:5281:9: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 5281 | return info; | ^~~~ drivers/mtd/spi-nor/spi-nor.c: In function 'spi_nor_scan': drivers/mtd/spi-nor/spi-nor.c:5295:6: warning: unused variable 'is_dual' [-Wunused-variable] 5295 | u32 is_dual; | ^~~~~~~ drivers/mtd/spi-nor/spi-nor.c:5294:22: warning: unused variable 'np_spi' [-Wunused-variable] 5294 | struct device_node *np_spi; | ^~~~~~ At top level: drivers/mtd/spi-nor/spi-nor.c:781:12: warning: 'read_ear' defined but not used [-Wunused-function] 781 | static int read_ear(struct spi_nor *nor, struct flash_info *info) | ^~~~~~~~ cc1: some warnings being treated as errors vim +5196 drivers/mtd/spi-nor/spi-nor.c 5162 5163 static int spi_nor_set_addr_width(struct spi_nor *nor) 5164 { 5165 struct device_node *np = spi_nor_get_flash_node(nor); 5166 struct device_node *np_spi; 5167 if (nor->addr_width) { 5168 /* already configured from SFDP */ 5169 } else if (nor->info->addr_width) { 5170 nor->addr_width = nor->info->addr_width; 5171 } else if (nor->mtd.size > 0x1000000) { 5172 #ifdef CONFIG_OF 5173 np_spi = of_get_next_parent(np); 5174 if (of_property_match_string(np_spi, "compatible", 5175 "xlnx,zynq-qspi-1.0") >= 0) { 5176 int status; 5177 5178 nor->addr_width = 3; 5179 nor->params.set_4byte(nor, false); 5180 status = read_ear(nor, (struct flash_info *)nor->info); 5181 if (status < 0) 5182 dev_warn(nor->dev, "failed to read ear reg\n"); 5183 else 5184 nor->curbank = status & EAR_SEGMENT_MASK; 5185 } else { 5186 #endif 5187 /* 5188 * enable 4-byte addressing if the 5189 * device exceeds 16MiB 5190 */ 5191 nor->addr_width = 4; 5192 if (JEDEC_MFR(nor->info) == SNOR_MFR_SPANSION || 5193 nor->info->flags & SPI_NOR_4B_OPCODES) { 5194 spi_nor_set_4byte_opcodes(nor); 5195 } else { > 5196 np_spi = of_get_next_parent(np); 5197 if (of_property_match_string(np_spi, 5198 "compatible", 5199 "xlnx,xps-spi-2.00.a") >= 0) { 5200 nor->addr_width = 3; 5201 nor->params.set_4byte(nor, false); 5202 } else { 5203 nor->params.set_4byte(nor, true); 5204 if (nor->isstacked) { 5205 nor->spi->master->flags |= 5206 SPI_MASTER_U_PAGE; 5207 nor->params.set_4byte(nor, true); 5208 nor->spi->master->flags &= 5209 ~SPI_MASTER_U_PAGE; 5210 } 5211 } 5212 } 5213 #ifdef CONFIG_OF 5214 } 5215 #endif 5216 } else { 5217 nor->addr_width = 3; 5218 } 5219 5220 if (nor->addr_width > SPI_NOR_MAX_ADDR_WIDTH) { 5221 dev_err(nor->dev, "address width is too large: %u\n", 5222 nor->addr_width); 5223 return -EINVAL; 5224 } 5225 5226 /* Set 4byte opcodes when possible. */ 5227 if (nor->addr_width == 4 && nor->flags & SNOR_F_4B_OPCODES && 5228 !(nor->flags & SNOR_F_HAS_4BAIT)) 5229 spi_nor_set_4byte_opcodes(nor); 5230 5231 return 0; 5232 } 5233 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org