tree:
https://github.com/ambarus/linux-0day v5.10-atmel-qspi-under-spi-nor
head: fe0f9562057be30db3f6282b0809e3243bd5235d
commit: fe0f9562057be30db3f6282b0809e3243bd5235d [35/35] FIX mount problem!
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://github.com/ambarus/linux-0day/commit/fe0f9562057be30db3f6282b0809...
git remote add ambarus
https://github.com/ambarus/linux-0day
git fetch --no-tags ambarus v5.10-atmel-qspi-under-spi-nor
git checkout fe0f9562057be30db3f6282b0809e3243bd5235d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/mtd/spi-nor/atmel-quadspi.c: In function 'atmel_qspi_exec_op':
> drivers/mtd/spi-nor/atmel-quadspi.c:357:5: warning: suggest
explicit braces to avoid ambiguous 'else' [-Wdangling-else]
357 | if
(op->data.nbytes)
| ^
drivers/mtd/spi-nor/atmel-quadspi.c: At top level:
drivers/mtd/spi-nor/atmel-quadspi.c:435:13: warning: no previous prototype for
'atmel_qspi_get_name' [-Wmissing-prototypes]
435 | const char *atmel_qspi_get_name(struct spi_mem *spimem)
| ^~~~~~~~~~~~~~~~~~~
vim +/else +357 drivers/mtd/spi-nor/atmel-quadspi.c
294
295 static int atmel_qspi_exec_op(struct spi_mem *mem, const struct spi_mem_op *op)
296 {
297 struct atmel_qspi *aq = spi_controller_get_devdata(mem->spi->master);
298 int mode;
299 u32 dummy_cycles = 0;
300 u32 iar, icr, ifr, sr;
301 int err = 0;
302
303 iar = 0;
304 icr = QSPI_ICR_INST(op->cmd.opcode);
305 ifr = QSPI_IFR_INSTEN;
306
307 mode = find_mode(op);
308 if (mode < 0)
309 return -ENOTSUPP;
310
311 ifr |= sama5d2_qspi_modes[mode].config;
312
313 if (op->dummy.buswidth && op->dummy.nbytes)
314 dummy_cycles = op->dummy.nbytes * 8 / op->dummy.buswidth;
315
316 if (op->addr.buswidth) {
317 switch (op->addr.nbytes) {
318 case 0:
319 break;
320 case 1:
321 ifr |= QSPI_IFR_OPTEN | QSPI_IFR_OPTL_8BIT;
322 icr |= QSPI_ICR_OPT(op->addr.val & 0xff);
323 break;
324 case 2:
325 if (dummy_cycles < 8 / op->addr.buswidth) {
326 ifr &= ~QSPI_IFR_INSTEN;
327 ifr |= QSPI_IFR_ADDREN;
328 iar = (op->cmd.opcode << 16) |
329 (op->addr.val & 0xffff);
330 } else {
331 ifr |= QSPI_IFR_ADDREN;
332 iar = (op->addr.val << 8) & 0xffffff;
333 dummy_cycles -= 8 / op->addr.buswidth;
334 }
335 break;
336 case 3:
337 ifr |= QSPI_IFR_ADDREN;
338 iar = op->addr.val & 0xffffff;
339 break;
340 case 4:
341 ifr |= QSPI_IFR_ADDREN | QSPI_IFR_ADDRL;
342 iar = op->addr.val & 0x7ffffff;
343 break;
344 default:
345 return -ENOTSUPP;
346 }
347 }
348
349 /* Set number of dummy cycles */
350 if (dummy_cycles)
351 ifr |= QSPI_IFR_NBDUM(dummy_cycles);
352
353 /* Set data enable */
354 if (op->data.nbytes)
355 ifr |= QSPI_IFR_DATAEN;
356
357 if (op->data.nbytes)
358 if (op->data.dir ==
SPI_MEM_DATA_IN)
359 ifr |= QSPI_IFR_TFRTYP_TRSFR_READ_MEM;
360 else
361 ifr |= QSPI_IFR_TFRTYP_TRSFR_WRITE_MEM;
362
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org