Hi Dave, kernel test robot noticed the following build warnings: [auto build test WARNING on staging/staging-testing] url: https://github.com/intel-lab-lkp/linux/commits/Dave-Penkler/staging-gpib-Fix-i386-build-issue/20241203-164356 base: staging/staging-testing patch link: https://lore.kernel.org/r/20241203084116.2228-1-dpenkler%40gmail.com patch subject: [PATCH v3] staging: gpib: Fix i386 build issue config: i386-randconfig-063-20241203 (https://download.01.org/0day-ci/archive/20241204/202412040912.hxTuXBak-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241204/202412040912.hxTuXBak-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202412040912.hxTuXBak-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) drivers/staging/gpib/cb7210/cb7210.c:738:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:739:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:743:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:744:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:745:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:746:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:747:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:748:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:749:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:750:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:751:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:752:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:753:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:754:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:755:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:756:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:757:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:758:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:759:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:760:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:761:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:762:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:763:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:764:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:765:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:766:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:770:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:771:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:772:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:773:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:774:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:775:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:776:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:777:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:778:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:779:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:780:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:781:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:782:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:783:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:784:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:785:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:786:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:787:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:788:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:789:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:790:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:791:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:792:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:793:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:794:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:798:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:799:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:800:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:801:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:802:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:803:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:804:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:805:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:806:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:807:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:808:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:809:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:810:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:811:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:812:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:813:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:814:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:815:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:816:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:817:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:818:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:819:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:820:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:821:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:825:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:826:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:827:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:828:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:829:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:830:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:831:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:832:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:833:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:834:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:835:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:836:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:837:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:838:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:839:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:840:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:841:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:842:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:843:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:844:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:845:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:846:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:847:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:848:1: sparse: sparse: obsolete struct initializer, use C99 syntax drivers/staging/gpib/cb7210/cb7210.c:849:1: sparse: sparse: obsolete struct initializer, use C99 syntax >> drivers/staging/gpib/cb7210/cb7210.c:974:34: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *iobase @@ got void [noderef] __iomem * @@ drivers/staging/gpib/cb7210/cb7210.c:974:34: sparse: expected void *iobase drivers/staging/gpib/cb7210/cb7210.c:974:34: sparse: got void [noderef] __iomem * drivers/staging/gpib/cb7210/cb7210.c:979:34: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *iobase @@ got void [noderef] __iomem * @@ drivers/staging/gpib/cb7210/cb7210.c:979:34: sparse: expected void *iobase drivers/staging/gpib/cb7210/cb7210.c:979:34: sparse: got void [noderef] __iomem * drivers/staging/gpib/cb7210/cb7210.c:1045:87: sparse: sparse: Using plain integer as NULL pointer drivers/staging/gpib/cb7210/cb7210.c:686:18: sparse: sparse: symbol 'cb_pci_unaccel_interface' was not declared. Should it be static? drivers/staging/gpib/cb7210/cb7210.c:714:18: sparse: sparse: symbol 'cb_pci_accel_interface' was not declared. Should it be static? drivers/staging/gpib/cb7210/cb7210.c:742:18: sparse: sparse: symbol 'cb_pci_interface' was not declared. Should it be static? drivers/staging/gpib/cb7210/cb7210.c:769:18: sparse: sparse: symbol 'cb_isa_unaccel_interface' was not declared. Should it be static? drivers/staging/gpib/cb7210/cb7210.c:797:18: sparse: sparse: symbol 'cb_isa_interface' was not declared. Should it be static? drivers/staging/gpib/cb7210/cb7210.c:824:18: sparse: sparse: symbol 'cb_isa_accel_interface' was not declared. Should it be static? vim +974 drivers/staging/gpib/cb7210/cb7210.c 925 926 int cb_pci_attach(gpib_board_t *board, const gpib_board_config_t *config) 927 { 928 struct cb7210_priv *cb_priv; 929 struct nec7210_priv *nec_priv; 930 int isr_flags = 0; 931 int bits; 932 int retval; 933 934 retval = cb7210_generic_attach(board); 935 if (retval) 936 return retval; 937 938 cb_priv = board->private_data; 939 nec_priv = &cb_priv->nec7210_priv; 940 941 cb_priv->pci_device = gpib_pci_get_device(config, PCI_VENDOR_ID_CBOARDS, 942 PCI_DEVICE_ID_CBOARDS_PCI_GPIB, NULL); 943 if (cb_priv->pci_device) 944 cb_priv->pci_chip = PCI_CHIP_AMCC_S5933; 945 if (!cb_priv->pci_device) { 946 cb_priv->pci_device = gpib_pci_get_device(config, PCI_VENDOR_ID_CBOARDS, 947 PCI_DEVICE_ID_CBOARDS_CPCI_GPIB, NULL); 948 if (cb_priv->pci_device) 949 cb_priv->pci_chip = PCI_CHIP_AMCC_S5933; 950 } 951 if (!cb_priv->pci_device) { 952 cb_priv->pci_device = gpib_pci_get_device(config, PCI_VENDOR_ID_QUANCOM, 953 PCI_DEVICE_ID_QUANCOM_GPIB, NULL); 954 if (cb_priv->pci_device) { 955 cb_priv->pci_chip = PCI_CHIP_QUANCOM; 956 nec_priv->offset = 4; 957 } 958 } 959 if (!cb_priv->pci_device) { 960 pr_warn("cb7210: no supported boards found.\n"); 961 return -1; 962 } 963 964 if (pci_enable_device(cb_priv->pci_device)) { 965 pr_err("cb7210: error enabling pci device\n"); 966 return -1; 967 } 968 969 if (pci_request_regions(cb_priv->pci_device, "cb7210")) 970 return -1; 971 switch (cb_priv->pci_chip) { 972 case PCI_CHIP_AMCC_S5933: 973 cb_priv->amcc_iobase = pci_resource_start(cb_priv->pci_device, 0); > 974 nec_priv->iobase = ioremap(pci_resource_start(cb_priv->pci_device, 1), 975 pci_resource_len(cb_priv->pci_device, 1)); 976 cb_priv->fifo_iobase = pci_resource_start(cb_priv->pci_device, 2); 977 break; 978 case PCI_CHIP_QUANCOM: 979 nec_priv->iobase = ioremap(pci_resource_start(cb_priv->pci_device, 0), 980 pci_resource_len(cb_priv->pci_device, 0)); 981 cb_priv->fifo_iobase = (unsigned long)nec_priv->iobase; 982 break; 983 default: 984 pr_err("cb7210: bug! unhandled pci_chip=%i\n", cb_priv->pci_chip); 985 return -EIO; 986 } 987 isr_flags |= IRQF_SHARED; 988 if (request_irq(cb_priv->pci_device->irq, cb_pci_interrupt, isr_flags, "cb7210", board)) { 989 pr_err("cb7210: can't request IRQ %d\n", cb_priv->pci_device->irq); 990 return -1; 991 } 992 cb_priv->irq = cb_priv->pci_device->irq; 993 994 switch (cb_priv->pci_chip) { 995 case PCI_CHIP_AMCC_S5933: 996 // make sure mailbox flags are clear 997 inl(cb_priv->amcc_iobase + INCOMING_MAILBOX_REG(3)); 998 // enable interrupts on amccs5933 chip 999 bits = INBOX_FULL_INTR_BIT | INBOX_BYTE_BITS(3) | INBOX_SELECT_BITS(3) | 1000 INBOX_INTR_CS_BIT; 1001 outl(bits, cb_priv->amcc_iobase + INTCSR_REG); 1002 break; 1003 default: 1004 break; 1005 } 1006 return cb7210_init(cb_priv, board); 1007 } 1008 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki