drivers/ata/pata_octeon_cf.c:383: warning: expecting prototype for Read the taskfile for 16bit non(). Prototype was for octeon_cf_tf_read16() instead

From: kernel test robot
Date: Fri Feb 10 2023 - 05:00:41 EST


Hi Mauro,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 38c1e0c65865426676123cc9a127526fa02bcac6
commit: 52042e2db45290f6a512d525518488b7bf143531 scripts: kernel-doc: validate kernel-doc markup with the actual names
date: 2 years, 1 month ago
config: mips-randconfig-r022-20230210 (https://download.01.org/0day-ci/archive/20230210/202302101722.5O56RClE-lkp@xxxxxxxxx/config)
compiler: mips64el-linux-gcc (GCC) 12.1.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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=52042e2db45290f6a512d525518488b7bf143531
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 52042e2db45290f6a512d525518488b7bf143531
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=mips olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/ata/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202302101722.5O56RClE-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/ata/pata_octeon_cf.c:75: warning: Function parameter or member 'tim_mult' not described in 'ns_to_tim_reg'
drivers/ata/pata_octeon_cf.c:75: warning: Function parameter or member 'nsecs' not described in 'ns_to_tim_reg'
drivers/ata/pata_octeon_cf.c:75: warning: expecting prototype for Convert nanosecond based time to setting used in the(). Prototype was for ns_to_tim_reg() instead
drivers/ata/pata_octeon_cf.c:130: warning: expecting prototype for This(). Prototype was for octeon_cf_set_piomode() instead
drivers/ata/pata_octeon_cf.c:286: warning: wrong kernel-doc identifier on line:
* Handle an 8 bit I/O request.
drivers/ata/pata_octeon_cf.c:325: warning: wrong kernel-doc identifier on line:
* Handle a 16 bit I/O request.
drivers/ata/pata_octeon_cf.c:383: warning: Function parameter or member 'ap' not described in 'octeon_cf_tf_read16'
drivers/ata/pata_octeon_cf.c:383: warning: Function parameter or member 'tf' not described in 'octeon_cf_tf_read16'
>> drivers/ata/pata_octeon_cf.c:383: warning: expecting prototype for Read the taskfile for 16bit non(). Prototype was for octeon_cf_tf_read16() instead
drivers/ata/pata_octeon_cf.c:468: warning: Function parameter or member 'ap' not described in 'octeon_cf_tf_load16'
drivers/ata/pata_octeon_cf.c:468: warning: Function parameter or member 'tf' not described in 'octeon_cf_tf_load16'
>> drivers/ata/pata_octeon_cf.c:468: warning: expecting prototype for Load the taskfile for 16bit non(). Prototype was for octeon_cf_tf_load16() instead
drivers/ata/pata_octeon_cf.c:560: warning: expecting prototype for Start a DMA transfer that was already setup(). Prototype was for octeon_cf_dma_start() instead
drivers/ata/pata_octeon_cf.c:616: warning: Cannot understand *
on line 616 - I thought it was a doc line


vim +383 drivers/ata/pata_octeon_cf.c

3c929c6f5aa750 David Daney 2009-01-15 378
3c929c6f5aa750 David Daney 2009-01-15 379 /**
3c929c6f5aa750 David Daney 2009-01-15 380 * Read the taskfile for 16bit non-True IDE only.
3c929c6f5aa750 David Daney 2009-01-15 381 */
3c929c6f5aa750 David Daney 2009-01-15 382 static void octeon_cf_tf_read16(struct ata_port *ap, struct ata_taskfile *tf)
3c929c6f5aa750 David Daney 2009-01-15 @383 {
3c929c6f5aa750 David Daney 2009-01-15 384 u16 blob;
3c929c6f5aa750 David Daney 2009-01-15 385 /* The base of the registers is at ioaddr.data_addr. */
3c929c6f5aa750 David Daney 2009-01-15 386 void __iomem *base = ap->ioaddr.data_addr;
3c929c6f5aa750 David Daney 2009-01-15 387
3c929c6f5aa750 David Daney 2009-01-15 388 blob = __raw_readw(base + 0xc);
3c929c6f5aa750 David Daney 2009-01-15 389 tf->feature = blob >> 8;
3c929c6f5aa750 David Daney 2009-01-15 390
3c929c6f5aa750 David Daney 2009-01-15 391 blob = __raw_readw(base + 2);
3c929c6f5aa750 David Daney 2009-01-15 392 tf->nsect = blob & 0xff;
3c929c6f5aa750 David Daney 2009-01-15 393 tf->lbal = blob >> 8;
3c929c6f5aa750 David Daney 2009-01-15 394
3c929c6f5aa750 David Daney 2009-01-15 395 blob = __raw_readw(base + 4);
3c929c6f5aa750 David Daney 2009-01-15 396 tf->lbam = blob & 0xff;
3c929c6f5aa750 David Daney 2009-01-15 397 tf->lbah = blob >> 8;
3c929c6f5aa750 David Daney 2009-01-15 398
3c929c6f5aa750 David Daney 2009-01-15 399 blob = __raw_readw(base + 6);
3c929c6f5aa750 David Daney 2009-01-15 400 tf->device = blob & 0xff;
3c929c6f5aa750 David Daney 2009-01-15 401 tf->command = blob >> 8;
3c929c6f5aa750 David Daney 2009-01-15 402
3c929c6f5aa750 David Daney 2009-01-15 403 if (tf->flags & ATA_TFLAG_LBA48) {
3c929c6f5aa750 David Daney 2009-01-15 404 if (likely(ap->ioaddr.ctl_addr)) {
3c929c6f5aa750 David Daney 2009-01-15 405 iowrite8(tf->ctl | ATA_HOB, ap->ioaddr.ctl_addr);
3c929c6f5aa750 David Daney 2009-01-15 406
3c929c6f5aa750 David Daney 2009-01-15 407 blob = __raw_readw(base + 0xc);
3c929c6f5aa750 David Daney 2009-01-15 408 tf->hob_feature = blob >> 8;
3c929c6f5aa750 David Daney 2009-01-15 409
3c929c6f5aa750 David Daney 2009-01-15 410 blob = __raw_readw(base + 2);
3c929c6f5aa750 David Daney 2009-01-15 411 tf->hob_nsect = blob & 0xff;
3c929c6f5aa750 David Daney 2009-01-15 412 tf->hob_lbal = blob >> 8;
3c929c6f5aa750 David Daney 2009-01-15 413
3c929c6f5aa750 David Daney 2009-01-15 414 blob = __raw_readw(base + 4);
3c929c6f5aa750 David Daney 2009-01-15 415 tf->hob_lbam = blob & 0xff;
3c929c6f5aa750 David Daney 2009-01-15 416 tf->hob_lbah = blob >> 8;
3c929c6f5aa750 David Daney 2009-01-15 417
3c929c6f5aa750 David Daney 2009-01-15 418 iowrite8(tf->ctl, ap->ioaddr.ctl_addr);
3c929c6f5aa750 David Daney 2009-01-15 419 ap->last_ctl = tf->ctl;
3c929c6f5aa750 David Daney 2009-01-15 420 } else {
3c929c6f5aa750 David Daney 2009-01-15 421 WARN_ON(1);
3c929c6f5aa750 David Daney 2009-01-15 422 }
3c929c6f5aa750 David Daney 2009-01-15 423 }
3c929c6f5aa750 David Daney 2009-01-15 424 }
3c929c6f5aa750 David Daney 2009-01-15 425
3c929c6f5aa750 David Daney 2009-01-15 426 static u8 octeon_cf_check_status16(struct ata_port *ap)
3c929c6f5aa750 David Daney 2009-01-15 427 {
3c929c6f5aa750 David Daney 2009-01-15 428 u16 blob;
3c929c6f5aa750 David Daney 2009-01-15 429 void __iomem *base = ap->ioaddr.data_addr;
3c929c6f5aa750 David Daney 2009-01-15 430
3c929c6f5aa750 David Daney 2009-01-15 431 blob = __raw_readw(base + 6);
3c929c6f5aa750 David Daney 2009-01-15 432 return blob >> 8;
3c929c6f5aa750 David Daney 2009-01-15 433 }
3c929c6f5aa750 David Daney 2009-01-15 434
3c929c6f5aa750 David Daney 2009-01-15 435 static int octeon_cf_softreset16(struct ata_link *link, unsigned int *classes,
3c929c6f5aa750 David Daney 2009-01-15 436 unsigned long deadline)
3c929c6f5aa750 David Daney 2009-01-15 437 {
3c929c6f5aa750 David Daney 2009-01-15 438 struct ata_port *ap = link->ap;
3c929c6f5aa750 David Daney 2009-01-15 439 void __iomem *base = ap->ioaddr.data_addr;
3c929c6f5aa750 David Daney 2009-01-15 440 int rc;
3c929c6f5aa750 David Daney 2009-01-15 441 u8 err;
3c929c6f5aa750 David Daney 2009-01-15 442
3c929c6f5aa750 David Daney 2009-01-15 443 DPRINTK("about to softreset\n");
3c929c6f5aa750 David Daney 2009-01-15 444 __raw_writew(ap->ctl, base + 0xe);
3c929c6f5aa750 David Daney 2009-01-15 445 udelay(20);
3c929c6f5aa750 David Daney 2009-01-15 446 __raw_writew(ap->ctl | ATA_SRST, base + 0xe);
3c929c6f5aa750 David Daney 2009-01-15 447 udelay(20);
3c929c6f5aa750 David Daney 2009-01-15 448 __raw_writew(ap->ctl, base + 0xe);
3c929c6f5aa750 David Daney 2009-01-15 449
3c929c6f5aa750 David Daney 2009-01-15 450 rc = ata_sff_wait_after_reset(link, 1, deadline);
3c929c6f5aa750 David Daney 2009-01-15 451 if (rc) {
a9a79dfec23956 Joe Perches 2011-04-15 452 ata_link_err(link, "SRST failed (errno=%d)\n", rc);
3c929c6f5aa750 David Daney 2009-01-15 453 return rc;
3c929c6f5aa750 David Daney 2009-01-15 454 }
3c929c6f5aa750 David Daney 2009-01-15 455
3c929c6f5aa750 David Daney 2009-01-15 456 /* determine by signature whether we have ATA or ATAPI devices */
3c929c6f5aa750 David Daney 2009-01-15 457 classes[0] = ata_sff_dev_classify(&link->device[0], 1, &err);
3c929c6f5aa750 David Daney 2009-01-15 458 DPRINTK("EXIT, classes[0]=%u [1]=%u\n", classes[0], classes[1]);
3c929c6f5aa750 David Daney 2009-01-15 459 return 0;
3c929c6f5aa750 David Daney 2009-01-15 460 }
3c929c6f5aa750 David Daney 2009-01-15 461
3c929c6f5aa750 David Daney 2009-01-15 462 /**
3c929c6f5aa750 David Daney 2009-01-15 463 * Load the taskfile for 16bit non-True IDE only. The device_addr is
3c929c6f5aa750 David Daney 2009-01-15 464 * not loaded, we do this as part of octeon_cf_exec_command16.
3c929c6f5aa750 David Daney 2009-01-15 465 */
3c929c6f5aa750 David Daney 2009-01-15 466 static void octeon_cf_tf_load16(struct ata_port *ap,
3c929c6f5aa750 David Daney 2009-01-15 467 const struct ata_taskfile *tf)
3c929c6f5aa750 David Daney 2009-01-15 @468 {
3c929c6f5aa750 David Daney 2009-01-15 469 unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR;
3c929c6f5aa750 David Daney 2009-01-15 470 /* The base of the registers is at ioaddr.data_addr. */
3c929c6f5aa750 David Daney 2009-01-15 471 void __iomem *base = ap->ioaddr.data_addr;
3c929c6f5aa750 David Daney 2009-01-15 472
3c929c6f5aa750 David Daney 2009-01-15 473 if (tf->ctl != ap->last_ctl) {
3c929c6f5aa750 David Daney 2009-01-15 474 iowrite8(tf->ctl, ap->ioaddr.ctl_addr);
3c929c6f5aa750 David Daney 2009-01-15 475 ap->last_ctl = tf->ctl;
3c929c6f5aa750 David Daney 2009-01-15 476 ata_wait_idle(ap);
3c929c6f5aa750 David Daney 2009-01-15 477 }
3c929c6f5aa750 David Daney 2009-01-15 478 if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) {
3c929c6f5aa750 David Daney 2009-01-15 479 __raw_writew(tf->hob_feature << 8, base + 0xc);
3c929c6f5aa750 David Daney 2009-01-15 480 __raw_writew(tf->hob_nsect | tf->hob_lbal << 8, base + 2);
3c929c6f5aa750 David Daney 2009-01-15 481 __raw_writew(tf->hob_lbam | tf->hob_lbah << 8, base + 4);
3c929c6f5aa750 David Daney 2009-01-15 482 VPRINTK("hob: feat 0x%X nsect 0x%X, lba 0x%X 0x%X 0x%X\n",
3c929c6f5aa750 David Daney 2009-01-15 483 tf->hob_feature,
3c929c6f5aa750 David Daney 2009-01-15 484 tf->hob_nsect,
3c929c6f5aa750 David Daney 2009-01-15 485 tf->hob_lbal,
3c929c6f5aa750 David Daney 2009-01-15 486 tf->hob_lbam,
3c929c6f5aa750 David Daney 2009-01-15 487 tf->hob_lbah);
3c929c6f5aa750 David Daney 2009-01-15 488 }
3c929c6f5aa750 David Daney 2009-01-15 489 if (is_addr) {
3c929c6f5aa750 David Daney 2009-01-15 490 __raw_writew(tf->feature << 8, base + 0xc);
3c929c6f5aa750 David Daney 2009-01-15 491 __raw_writew(tf->nsect | tf->lbal << 8, base + 2);
3c929c6f5aa750 David Daney 2009-01-15 492 __raw_writew(tf->lbam | tf->lbah << 8, base + 4);
3c929c6f5aa750 David Daney 2009-01-15 493 VPRINTK("feat 0x%X nsect 0x%X, lba 0x%X 0x%X 0x%X\n",
3c929c6f5aa750 David Daney 2009-01-15 494 tf->feature,
3c929c6f5aa750 David Daney 2009-01-15 495 tf->nsect,
3c929c6f5aa750 David Daney 2009-01-15 496 tf->lbal,
3c929c6f5aa750 David Daney 2009-01-15 497 tf->lbam,
3c929c6f5aa750 David Daney 2009-01-15 498 tf->lbah);
3c929c6f5aa750 David Daney 2009-01-15 499 }
3c929c6f5aa750 David Daney 2009-01-15 500 ata_wait_idle(ap);
3c929c6f5aa750 David Daney 2009-01-15 501 }
3c929c6f5aa750 David Daney 2009-01-15 502

:::::: The code at line 383 was first introduced by commit
:::::: 3c929c6f5aa7501790586a38dd8faca8fed9a158 libata: New driver for OCTEON SOC Compact Flash interface (v7).

:::::: TO: David Daney <ddaney@xxxxxxxxxxxxxxxxxx>
:::::: CC: Jeff Garzik <jgarzik@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests