[mcgrof-next:20210708-block-fixes-v2 44/89] drivers/block/swim.c:780:26: error: 'swd' undeclared
From: kernel test robot
Date: Tue Jul 20 2021 - 19:25:50 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20210708-block-fixes-v2
head: db0174e39de7dc941f158ce53ee3af95b1635b62
commit: 7c4874d9d55df4c25a06b1c9004b1a29429a8f6b [44/89] block/swim: add a helper to remove disks
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 10.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://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/commit/?id=7c4874d9d55df4c25a06b1c9004b1a29429a8f6b
git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
git fetch --no-tags mcgrof-next 20210708-block-fixes-v2
git checkout 7c4874d9d55df4c25a06b1c9004b1a29429a8f6b
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir ARCH=m68k SHELL=/bin/bash drivers/block/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
drivers/block/swim.c: In function 'swim_del_disks':
>> drivers/block/swim.c:780:26: error: 'swd' undeclared (first use in this function)
780 | for (drive = 0; drive < swd->floppy_count; drive++) {
| ^~~
drivers/block/swim.c:780:26: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/block/swim.c:783:8: error: 'fw' undeclared (first use in this function); did you mean 'fs'?
783 | if (fw->registered)
| ^~
| fs
>> drivers/block/swim.c:787:7: error: used struct type value where scalar is required
787 | if (fs->tag_set)
| ^~
drivers/block/swim.c: In function 'swim_floppy_init':
drivers/block/swim.c:851:19: warning: statement with no effect [-Wunused-value]
851 | swd->unit[drive].registered true;
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~
>> drivers/block/swim.c:851:30: error: expected ';' before 'true'
851 | swd->unit[drive].registered true;
| ^ ~~~~
| ;
vim +/swd +780 drivers/block/swim.c
774
775 static void swim_del_disks(void)
776 {
777 int drive;
778 struct floppy_state *fs;
779
> 780 for (drive = 0; drive < swd->floppy_count; drive++) {
781 fs = swd->unit[drive];
782 if (fs->disk) {
> 783 if (fw->registered)
784 del_gendisk(fs->disk);
785 blk_cleanup_disk(fs->disk);
786 }
> 787 if (fs->tag_set)
788 blk_mq_free_tag_set(&fs->tag_set);
789 }
790
791 unregister_blkdev(FLOPPY_MAJOR, "fd");
792 }
793
794 static int swim_floppy_init(struct swim_priv *swd)
795 {
796 int err;
797 int drive;
798 struct swim __iomem *base = swd->base;
799
800 /* scan floppy drives */
801
802 swim_drive(base, INTERNAL_DRIVE);
803 if (swim_readbit(base, DRIVE_PRESENT) &&
804 !swim_readbit(base, ONEMEG_DRIVE))
805 swim_add_floppy(swd, INTERNAL_DRIVE);
806 swim_drive(base, EXTERNAL_DRIVE);
807 if (swim_readbit(base, DRIVE_PRESENT) &&
808 !swim_readbit(base, ONEMEG_DRIVE))
809 swim_add_floppy(swd, EXTERNAL_DRIVE);
810
811 /* register floppy drives */
812
813 err = register_blkdev(FLOPPY_MAJOR, "fd");
814 if (err) {
815 printk(KERN_ERR "Unable to get major %d for SWIM floppy\n",
816 FLOPPY_MAJOR);
817 return -EBUSY;
818 }
819
820 spin_lock_init(&swd->lock);
821
822 for (drive = 0; drive < swd->floppy_count; drive++) {
823 err = blk_mq_alloc_sq_tag_set(&swd->unit[drive].tag_set,
824 &swim_mq_ops, 2, BLK_MQ_F_SHOULD_MERGE);
825 if (err)
826 goto exit_put_disks;
827
828 swd->unit[drive].disk =
829 blk_mq_alloc_disk(&swd->unit[drive].tag_set,
830 &swd->unit[drive]);
831 if (IS_ERR(swd->unit[drive].disk)) {
832 blk_mq_free_tag_set(&swd->unit[drive].tag_set);
833 err = PTR_ERR(swd->unit[drive].disk);
834 goto exit_put_disks;
835 }
836
837 swd->unit[drive].swd = swd;
838 }
839
840 for (drive = 0; drive < swd->floppy_count; drive++) {
841 swd->unit[drive].disk->flags = GENHD_FL_REMOVABLE;
842 swd->unit[drive].disk->major = FLOPPY_MAJOR;
843 swd->unit[drive].disk->first_minor = drive;
844 swd->unit[drive].disk->minors = 1;
845 sprintf(swd->unit[drive].disk->disk_name, "fd%d", drive);
846 swd->unit[drive].disk->fops = &floppy_fops;
847 swd->unit[drive].disk->events = DISK_EVENT_MEDIA_CHANGE;
848 swd->unit[drive].disk->private_data = &swd->unit[drive];
849 set_capacity(swd->unit[drive].disk, 2880);
850 add_disk(swd->unit[drive].disk);
> 851 swd->unit[drive].registered true;
852 }
853
854 return 0;
855
856 exit_put_disks:
857 unregister_blkdev(FLOPPY_MAJOR, "fd");
858 do {
859 struct gendisk *disk = swd->unit[drive].disk;
860
861 if (!disk)
862 continue;
863 blk_cleanup_disk(disk);
864 blk_mq_free_tag_set(&swd->unit[drive].tag_set);
865 } while (drive--);
866 return err;
867 }
868
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip