Kernel
Threads by month
- ----- 2025 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 41 participants
- 19772 discussions

[openeuler:OLK-6.6 2658/2658] drivers/iommu/loongarch_iommu.c:610:6: warning: no previous prototype for function 'domain_deattach_iommu'
by kernel test robot 07 Aug '25
by kernel test robot 07 Aug '25
07 Aug '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8551213150db5f8eebd27273dae93f6fe258d63a
commit: 72fe4978ee346c10869113410da1b61710dd8d8f [2658/2658] LoongArch: add iommu support
config: loongarch-randconfig-2005-20250806 (https://download.01.org/0day-ci/archive/20250806/202508061815.FqJo5TwT-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project faa4c4c2dc804c31845d8f036345fac00e016f2d)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250806/202508061815.FqJo5TwT-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508061815.FqJo5TwT-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/iommu/loongarch_iommu.c:20:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2247:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/iommu/loongarch_iommu.c:610:6: warning: no previous prototype for function 'domain_deattach_iommu' [-Wmissing-prototypes]
610 | void domain_deattach_iommu(struct dom_info *priv, struct iommu_info *info)
| ^
drivers/iommu/loongarch_iommu.c:610:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
610 | void domain_deattach_iommu(struct dom_info *priv, struct iommu_info *info)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:651:29: warning: no previous prototype for function 'lookup_rlooptable' [-Wmissing-prototypes]
651 | struct iommu_rlookup_entry *lookup_rlooptable(int pcisegment)
| ^
drivers/iommu/loongarch_iommu.c:651:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
651 | struct iommu_rlookup_entry *lookup_rlooptable(int pcisegment)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:662:25: warning: no previous prototype for function 'find_iommu_by_dev' [-Wmissing-prototypes]
662 | struct loongarch_iommu *find_iommu_by_dev(struct pci_dev *pdev)
| ^
drivers/iommu/loongarch_iommu.c:662:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
662 | struct loongarch_iommu *find_iommu_by_dev(struct pci_dev *pdev)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:684:22: warning: no previous prototype for function 'iommu_init_device' [-Wmissing-prototypes]
684 | struct iommu_device *iommu_init_device(struct device *dev)
| ^
drivers/iommu/loongarch_iommu.c:684:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
684 | struct iommu_device *iommu_init_device(struct device *dev)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:721:22: warning: no previous prototype for function 'la_iommu_probe_device' [-Wmissing-prototypes]
721 | struct iommu_device *la_iommu_probe_device(struct device *dev)
| ^
drivers/iommu/loongarch_iommu.c:721:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
721 | struct iommu_device *la_iommu_probe_device(struct device *dev)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:752:20: warning: no previous prototype for function 'get_iommu_info_from_dom' [-Wmissing-prototypes]
752 | struct iommu_info *get_iommu_info_from_dom(struct dom_info *priv, struct loongarch_iommu *iommu)
| ^
drivers/iommu/loongarch_iommu.c:752:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
752 | struct iommu_info *get_iommu_info_from_dom(struct dom_info *priv, struct loongarch_iommu *iommu)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:767:20: warning: no previous prototype for function 'domain_attach_iommu' [-Wmissing-prototypes]
767 | struct iommu_info *domain_attach_iommu(struct dom_info *priv, struct loongarch_iommu *iommu)
| ^
drivers/iommu/loongarch_iommu.c:767:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
767 | struct iommu_info *domain_attach_iommu(struct dom_info *priv, struct loongarch_iommu *iommu)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:1197:25: warning: no previous prototype for function 'loongarch_get_iommu_by_devid' [-Wmissing-prototypes]
1197 | struct loongarch_iommu *loongarch_get_iommu_by_devid(struct pci_dev *pdev)
| ^
drivers/iommu/loongarch_iommu.c:1197:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1197 | struct loongarch_iommu *loongarch_get_iommu_by_devid(struct pci_dev *pdev)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:1215:6: warning: no previous prototype for function 'check_device_compat' [-Wmissing-prototypes]
1215 | bool check_device_compat(struct pci_dev *pdev)
| ^
drivers/iommu/loongarch_iommu.c:1215:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1215 | bool check_device_compat(struct pci_dev *pdev)
| ^
| static
>> drivers/iommu/loongarch_iommu.c:1344:29: warning: no previous prototype for function 'create_rlookup_entry' [-Wmissing-prototypes]
1344 | struct iommu_rlookup_entry *create_rlookup_entry(int pcisegment)
| ^
drivers/iommu/loongarch_iommu.c:1344:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1344 | struct iommu_rlookup_entry *create_rlookup_entry(int pcisegment)
| ^
| static
14 warnings generated.
--
>> drivers/iommu/loongarch_iommu.c:1663: warning: Function parameter or member 'ivrs' not described in 'get_highest_supported_ivhd_type'
vim +/domain_deattach_iommu +610 drivers/iommu/loongarch_iommu.c
609
> 610 void domain_deattach_iommu(struct dom_info *priv, struct iommu_info *info)
611 {
612 if ((priv == NULL) || (info == NULL) ||
613 (info->dev_cnt != 0) || (info->iommu == NULL)) {
614 pr_err("%s invalid parameter", __func__);
615 return;
616 }
617 del_domain_from_list(info->iommu, priv);
618 domain_id_free(info->iommu, info->id);
619 spin_lock(&priv->lock);
620 list_del(&info->list);
621 spin_unlock(&priv->lock);
622 kfree(info);
623 }
624
625 static void la_iommu_domain_free(struct iommu_domain *domain)
626 {
627 struct dom_info *priv;
628 struct loongarch_iommu *iommu = NULL;
629 struct iommu_info *info, *tmp;
630
631 priv = to_dom_info(domain);
632 spin_lock(&priv->lock);
633 list_for_each_entry_safe(info, tmp, &priv->iommu_devlist, list) {
634 if (info->dev_cnt > 0)
635 detach_all_dev_by_domain(info);
636 iommu = info->iommu;
637 spin_unlock(&priv->lock);
638 domain_deattach_iommu(priv, info);
639 spin_lock(&priv->lock);
640 iommu_flush_iotlb(iommu);
641 if (!has_dom(iommu))
642 iommu_translate_disable(iommu);
643 }
644 spin_unlock(&priv->lock);
645 mutex_lock(&priv->ptl_lock);
646 iommu_free_pagetable(priv);
647 mutex_unlock(&priv->ptl_lock);
648 dom_info_free(priv);
649 }
650
> 651 struct iommu_rlookup_entry *lookup_rlooptable(int pcisegment)
652 {
653 struct iommu_rlookup_entry *rlookupentry = NULL;
654
655 list_for_each_entry(rlookupentry, &la_rlookup_iommu_list, list) {
656 if (rlookupentry->pcisegment == pcisegment)
657 return rlookupentry;
658 }
659 return NULL;
660 }
661
> 662 struct loongarch_iommu *find_iommu_by_dev(struct pci_dev *pdev)
663 {
664 int pcisegment;
665 unsigned short devid;
666 struct iommu_rlookup_entry *rlookupentry = NULL;
667 struct loongarch_iommu *iommu = NULL;
668 struct pci_bus *bus = pdev->bus;
669
670 devid = PCI_DEVID(bus->number, pdev->devfn);
671 pcisegment = pci_domain_nr(bus);
672 rlookupentry = lookup_rlooptable(pcisegment);
673 if (rlookupentry == NULL) {
674 pr_info("%s find segment %d rlookupentry failed\n", __func__,
675 pcisegment);
676 return iommu;
677 }
678 iommu = rlookupentry->rlookup_table[devid];
679 if (iommu && (!iommu->confbase))
680 iommu = NULL;
681 return iommu;
682 }
683
> 684 struct iommu_device *iommu_init_device(struct device *dev)
685 {
686 struct la_iommu_dev_data *dev_data;
687 struct pci_dev *pdev = to_pci_dev(dev);
688 struct pci_bus *bus = pdev->bus;
689 unsigned short devid;
690 struct loongarch_iommu *iommu = NULL;
691 struct iommu_device *iommu_dev = ERR_PTR(-ENODEV);
692
693 if (!dev_is_pci(dev))
694 return iommu_dev;
695
696 if (dev->archdata.iommu != NULL || bus == NULL) {
697 pr_info("LA-IOMMU: bdf:0x%x has added\n", pdev->devfn);
698 return iommu_dev;
699 }
700 iommu = find_iommu_by_dev(pdev);
701 if (iommu == NULL) {
702 pci_info(pdev, "%s find iommu failed by dev\n", __func__);
703 return iommu_dev;
704 }
705 dev_data = kzalloc(sizeof(*dev_data), GFP_KERNEL);
706 if (!dev_data)
707 return iommu_dev;
708 devid = PCI_DEVID(bus->number, pdev->devfn);
709 dev_data->bdf = devid;
710
711 pci_info(pdev, "%s bdf %#x iommu dev id %#x\n", __func__, dev_data->bdf, iommu->devid);
712 /* The initial state is 0, and 1 is added only when attach dev */
713 dev_data->count = 0;
714 dev_data->iommu = iommu;
715 dev_data->dev = dev;
716 dev->archdata.iommu = dev_data;
717 iommu_dev = &iommu->iommu_dev;
718 return iommu_dev;
719 }
720
> 721 struct iommu_device *la_iommu_probe_device(struct device *dev)
722 {
723 return iommu_init_device(dev);
724 }
725
726 static struct iommu_group *la_iommu_device_group(struct device *dev)
727 {
728 struct iommu_group *group;
729
730 /*
731 * We don't support devices sharing stream IDs other than PCI RID
732 * aliases, since the necessary ID-to-device lookup becomes rather
733 * impractical given a potential sparse 32-bit stream ID space.
734 */
735 if (dev_is_pci(dev))
736 group = pci_device_group(dev);
737 else
738 group = generic_device_group(dev);
739 return group;
740 }
741
742 static void la_iommu_remove_device(struct device *dev)
743 {
744 struct la_iommu_dev_data *dev_data;
745
746 iommu_group_remove_device(dev);
747 dev_data = dev->archdata.iommu;
748 dev->archdata.iommu = NULL;
749 kfree(dev_data);
750 }
751
> 752 struct iommu_info *get_iommu_info_from_dom(struct dom_info *priv, struct loongarch_iommu *iommu)
753 {
754 struct iommu_info *info;
755
756 spin_lock(&priv->lock);
757 list_for_each_entry(info, &priv->iommu_devlist, list) {
758 if (info->iommu == iommu) {
759 spin_unlock(&priv->lock);
760 return info;
761 }
762 }
763 spin_unlock(&priv->lock);
764 return NULL;
765 }
766
> 767 struct iommu_info *domain_attach_iommu(struct dom_info *priv, struct loongarch_iommu *iommu)
768 {
769 u32 dir_ctrl;
770 struct iommu_info *info;
771 unsigned long phys;
772
773 info = get_iommu_info_from_dom(priv, iommu);
774 if (info)
775 return info;
776
777 info = kzalloc(sizeof(struct iommu_info), GFP_KERNEL_ACCOUNT);
778 if (!info)
779 return NULL;
780
781 INIT_LIST_HEAD(&info->dev_list);
782 info->iommu = iommu;
783 info->id = domain_id_alloc(iommu);
784 if (info->id == -1) {
785 pr_info("%s alloc id for domain failed\n", __func__);
786 kfree(info);
787 return NULL;
788 }
789
790 phys = virt_to_phys(priv->pgd);
791 dir_ctrl = (IOMMU_LEVEL_STRIDE << 26) | (IOMMU_LEVEL_SHIFT(2) << 20);
792 dir_ctrl |= (IOMMU_LEVEL_STRIDE << 16) | (IOMMU_LEVEL_SHIFT(1) << 10);
793 dir_ctrl |= (IOMMU_LEVEL_STRIDE << 6) | IOMMU_LEVEL_SHIFT(0);
794 iommu_write_regl(iommu, LA_IOMMU_DIR_CTRL(info->id), dir_ctrl);
795 iommu_write_regl(iommu, LA_IOMMU_PGD_HI(info->id), phys >> 32);
796 iommu_write_regl(iommu, LA_IOMMU_PGD_LO(info->id), phys & UINT_MAX);
797
798 spin_lock(&priv->lock);
799 list_add(&info->list, &priv->iommu_devlist);
800 spin_unlock(&priv->lock);
801 add_domain_to_list(iommu, priv);
802 return info;
803 }
804
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS 1743/1743] net/can/j1939/main.o: warning: objtool: missing symbol for section .init.text
by kernel test robot 07 Aug '25
by kernel test robot 07 Aug '25
07 Aug '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 464c0bf980f96a307759f809825ab0a3b59f8b70
commit: e0c2ee9edcacfdda0e806166eaec1310cdf9e324 [1743/1743] can: add support of SAE J1939 protocol
config: x86_64-buildonly-randconfig-2001-20250802 (https://download.01.org/0day-ci/archive/20250806/202508061835.mLI2S5GX-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250806/202508061835.mLI2S5GX-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508061835.mLI2S5GX-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> net/can/j1939/main.o: warning: objtool: missing symbol for section .init.text
--
scripts/sign-file.c:89:14: warning: 'ERR_get_error_line' is deprecated [-Wdeprecated-declarations]
89 | while ((e = ERR_get_error_line(&file, &line))) {
| ^
/usr/include/openssl/err.h:422:1: note: 'ERR_get_error_line' has been explicitly marked deprecated here
422 | OSSL_DEPRECATEDIN_3_0
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
scripts/sign-file.c:102:9: warning: 'ERR_get_error_line' is deprecated [-Wdeprecated-declarations]
102 | while (ERR_get_error_line(&file, &line)) {}
| ^
/usr/include/openssl/err.h:422:1: note: 'ERR_get_error_line' has been explicitly marked deprecated here
422 | OSSL_DEPRECATEDIN_3_0
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
scripts/extract-cert.c:46:14scripts/sign-file.c:142:3: warning: 'ENGINE_load_builtin_engines' is deprecated [-Wdeprecated-declarations]
142 | ENGINE_load_builtin_engines();
| ^
: warning: /usr/include/openssl/engine.h:358:1: note: 'ENGINE_load_builtin_engines' has been explicitly marked deprecated here
358 | OSSL_DEPRECATEDIN_3_0 void ENGINE_load_builtin_engines(void);
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
'ERR_get_error_line' is deprecated [-Wdeprecated-declarations]
scripts/sign-file.c:144:7: warning: 'ENGINE_by_id' is deprecated [-Wdeprecated-declarations]
144 | e = ENGINE_by_id("pkcs11");
| ^
/usr/include/openssl/engine.h:336:1: note: 'ENGINE_by_id' has been explicitly marked deprecated here
336 | OSSL_DEPRECATEDIN_3_0 ENGINE *ENGINE_by_id(const char *id);
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
46 | while (scripts/sign-file.c:146:7: warning: 'ENGINE_init' is deprecated [-Wdeprecated-declarations]
146 | if (ENGINE_init(e))
| ^
/usr/include/openssl/engine.h:620:1: note: 'ENGINE_init' has been explicitly marked deprecated here
620 | OSSL_DEPRECATEDIN_3_0 int ENGINE_init(ENGINE *e);
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
>> (e = ERR_get_errscripts/sign-file.c:151:9: warning: 'ENGINE_ctrl_cmd_string' is deprecated [-Wdeprecated-declarations]
151 | ERR(!ENGINE_ctrl_cmd_string(e, "PIN", key_pass, 0),
| ^
/usr/include/openssl/engine.h:478:1: note: 'ENGINE_ctrl_cmd_string' has been explicitly marked deprecated here
478 | OSSL_DEPRECATEDIN_3_0
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
or_liscripts/sign-file.cne(&file, &line))) {
| ^
/usr/include/openssl/err.h:153:17: warning: 'ENGINE_load_private_key' is deprecated [-Wdeprecated-declarations]
153 | private_key = ENGINE_load_private_key(e, private_key_name,
| ^
/usr/include/openssl/engine.h:637:1: note: 'ENGINE_load_private_key' has been explicitly marked deprecated here
637 | OSSL_DEPRECATEDIN_3_0
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
:422:1: note: 'ERR_get_error_line' has been explicitly marked deprecated here
422 | OSSL_DEPRECATEDIN_3_0
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
scripts/extract-cert.c:59:9: warning: 'ERR_get_error_line' is deprecated [-Wdeprecated-declarations]
59 | while (ERR_get_error_line(&file, &line)) {}
| ^
/usr/include/openssl/err.h:422:1: note: 'ERR_get_error_line' has been explicitly marked deprecated here
422 | OSSL_DEPRECATEDIN_3_0
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
scripts/extract-cert.c:124:3: warning: 'ENGINE_load_builtin_engines' is deprecated [-Wdeprecated-declarations]
124 | ENGINE_load_builtin_engines();
| ^
/usr/include/openssl/engine.h:358:1: note: 'ENGINE_load_builtin_engines' has been explicitly marked deprecated here
358 | OSSL_DEPRECATEDIN_3_0 void ENGINE_load_builtin_engines(void);
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
scripts/extract-cert.c:126:7: warning: 'ENGINE_by_id' is deprecated [-Wdeprecated-declarations]
126 | e = ENGINE_by_id("pkcs11");
| ^
/usr/include/openssl/engine.h:336:1: note: 'ENGINE_by_id' has been explicitly marked deprecated here
336 | OSSL_DEPRECATEDIN_3_0 ENGINE *ENGINE_by_id(const char *id);
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
scripts/extract-cert.c:128:7: warning: 'ENGINE_init' is deprecated [-Wdeprecated-declarations]
128 | if (ENGINE_init(e))
| ^
/usr/include/openssl/engine.h:620:1: note: 'ENGINE_init' has been explicitly marked deprecated here
620 | OSSL_DEPRECATEDIN_3_0 int ENGINE_init(ENGINE *e);
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
scripts/extract-cert.c:133:9: warning: 'ENGINE_ctrl_cmd_string' is deprecated [-Wdeprecated-declarations]
133 | ERR(!ENGINE_ctrl_cmd_string(e, "PIN", key_pass, 0), "Set PKCS#11 PIN");
| ^
/usr/include/openssl/engine.h:478:1: note: 'ENGINE_ctrl_cmd_string' has been explicitly marked deprecated here
478 | OSSL_DEPRECATEDIN_3_0
| ^
/usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
182 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
| ^
/usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
| ^
scripts/extract-cert.c:134:3: warning: 'ENGINE_ctrl_cmd' is deprecated [-Wdeprecated-declarations]
134 | ENGINE_ctrl_cmd(e, "LOAD_CERT_CTRL", 0, &parms, NULL, 1);
| ^
/usr/include/openssl/engine.h:450:1: note: 'ENGINE_ctrl_cmd' has been explicitly marked deprecated here
450 | OSSL_DEPRECATEDIN_3_0 int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,
| ^
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 3106/3106] ld.lld: error: version script assignment of 'LINUX_2.6' to symbol '__vdso_sgx_enter_enclave' failed: symbol not defined
by kernel test robot 07 Aug '25
by kernel test robot 07 Aug '25
07 Aug '25
Hi Sean,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: a8c621aa031669a6835da1431d9765e3bbbc3621
commit: 5476cb89ef2297bd36f8b38e27b54617b6f63236 [3106/3106] x86/vdso: Implement a vDSO for Intel SGX enclave call
config: x86_64-buildonly-randconfig-002-20250806 (https://download.01.org/0day-ci/archive/20250807/202508070026.lRMtLNGR-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250807/202508070026.lRMtLNGR-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508070026.lRMtLNGR-lkp@intel.com/
All errors (new ones prefixed by >>):
>> ld.lld: error: version script assignment of 'LINUX_2.6' to symbol '__vdso_sgx_enter_enclave' failed: symbol not defined
>> llvm-objdump: error: 'arch/x86/entry/vdso/vdso64.so.dbg': No such file or directory
--
>> llvm-objcopy: error: 'arch/x86/entry/vdso/vdso64.so.dbg': No such file or directory
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 2658/2658] crypto/asymmetric_keys/pgp_library.c:189: warning: Function parameter or member 'data' not described in 'pgp_parse_packets'
by kernel test robot 06 Aug '25
by kernel test robot 06 Aug '25
06 Aug '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8551213150db5f8eebd27273dae93f6fe258d63a
commit: b78af6579e15dcdff86504da90af77f3e890270e [2658/2658] PGPLIB: Basic packet parser
config: loongarch-randconfig-2005-20250806 (https://download.01.org/0day-ci/archive/20250806/202508061744.hiwFyKYj-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project faa4c4c2dc804c31845d8f036345fac00e016f2d)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250806/202508061744.hiwFyKYj-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508061744.hiwFyKYj-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> crypto/asymmetric_keys/pgp_library.c:189: warning: Function parameter or member 'data' not described in 'pgp_parse_packets'
>> crypto/asymmetric_keys/pgp_library.c:189: warning: Function parameter or member 'datalen' not described in 'pgp_parse_packets'
>> crypto/asymmetric_keys/pgp_library.c:189: warning: Excess function parameter '_data' description in 'pgp_parse_packets'
>> crypto/asymmetric_keys/pgp_library.c:189: warning: Excess function parameter '_datalen' description in 'pgp_parse_packets'
vim +189 crypto/asymmetric_keys/pgp_library.c
178
179 /**
180 * pgp_parse_packets - Parse a set of PGP packets
181 * @_data: Data to be parsed (updated)
182 * @_datalen: Amount of data (updated)
183 * @ctx: Parsing context
184 *
185 * Parse a set of PGP packets [RFC 4880: 4].
186 */
187 int pgp_parse_packets(const u8 *data, size_t datalen,
188 struct pgp_parse_context *ctx)
> 189 {
190 enum pgp_packet_tag type;
191 ssize_t pktlen;
192 u8 headerlen;
193 int ret;
194
195 while (datalen > 2) {
196 pktlen = pgp_parse_packet_header(&data, &datalen, &type,
197 &headerlen);
198 if (pktlen < 0)
199 return pktlen;
200
201 if ((ctx->types_of_interest >> type) & 1) {
202 ret = ctx->process_packet(ctx, type, headerlen,
203 data, pktlen);
204 if (ret < 0)
205 return ret;
206 }
207 data += pktlen;
208 datalen -= pktlen;
209 }
210
211 if (datalen != 0) {
212 pr_debug("Excess octets in packet stream\n");
213 return -EBADMSG;
214 }
215
216 return 0;
217 }
218 EXPORT_SYMBOL_GPL(pgp_parse_packets);
219
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 2658/2658] net/ipv4/tcp_comp.c:740:6: warning: no previous prototype for function 'comp_stream_read'
by kernel test robot 06 Aug '25
by kernel test robot 06 Aug '25
06 Aug '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8551213150db5f8eebd27273dae93f6fe258d63a
commit: c31dcf6c5ab41f07da38d3f270987807735ec93e [2658/2658] tcp_comp: implement tcp compression
config: loongarch-randconfig-2005-20250806 (https://download.01.org/0day-ci/archive/20250806/202508061529.suELGrA5-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project faa4c4c2dc804c31845d8f036345fac00e016f2d)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250806/202508061529.suELGrA5-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508061529.suELGrA5-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from net/ipv4/tcp_comp.c:8:
In file included from include/linux/skmsg.h:7:
In file included from include/linux/bpf.h:20:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2181:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
In file included from net/ipv4/tcp_comp.c:8:
In file included from include/linux/skmsg.h:13:
In file included from include/net/tcp.h:32:
In file included from include/net/inet_hashtables.h:26:
include/net/ip.h:463:14: warning: default initialization of an object of type 'typeof (rt->dst.expires)' (aka 'const unsigned long') leaves the object uninitialized [-Wdefault-const-init-var-unsafe]
463 | if (mtu && time_before(jiffies, rt->dst.expires))
| ^
include/linux/jiffies.h:135:26: note: expanded from macro 'time_before'
135 | #define time_before(a,b) time_after(b,a)
| ^
include/linux/jiffies.h:125:3: note: expanded from macro 'time_after'
125 | (typecheck(unsigned long, a) && \
| ^
include/linux/typecheck.h:11:12: note: expanded from macro 'typecheck'
11 | typeof(x) __dummy2; \
| ^
>> net/ipv4/tcp_comp.c:740:6: warning: no previous prototype for function 'comp_stream_read' [-Wmissing-prototypes]
740 | bool comp_stream_read(struct sock *sk)
| ^
net/ipv4/tcp_comp.c:740:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
740 | bool comp_stream_read(struct sock *sk)
| ^
| static
>> net/ipv4/tcp_comp.c:779:6: warning: no previous prototype for function 'comp_setup_strp' [-Wmissing-prototypes]
779 | void comp_setup_strp(struct sock *sk, struct tcp_comp_context *ctx)
| ^
net/ipv4/tcp_comp.c:779:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
779 | void comp_setup_strp(struct sock *sk, struct tcp_comp_context *ctx)
| ^
| static
7 warnings generated.
vim +/comp_stream_read +740 net/ipv4/tcp_comp.c
739
> 740 bool comp_stream_read(struct sock *sk)
741 {
742 struct tcp_comp_context *ctx = comp_get_ctx(sk);
743
744 if (!ctx)
745 return false;
746
747 if (ctx->rx.pkt || ctx->rx.dpkt)
748 return true;
749
750 return false;
751 }
752
753 static void comp_data_ready(struct sock *sk)
754 {
755 struct tcp_comp_context *ctx = comp_get_ctx(sk);
756
757 strp_data_ready(&ctx->rx.strp);
758 }
759
760 static void comp_queue(struct strparser *strp, struct sk_buff *skb)
761 {
762 struct tcp_comp_context *ctx = comp_get_ctx(strp->sk);
763
764 ctx->rx.pkt = skb;
765 strp_pause(strp);
766 ctx->rx.saved_data_ready(strp->sk);
767 }
768
769 static int comp_read_size(struct strparser *strp, struct sk_buff *skb)
770 {
771 struct strp_msg *rxm = strp_msg(skb);
772
773 if (rxm->offset > skb->len)
774 return 0;
775
776 return skb->len - rxm->offset;
777 }
778
> 779 void comp_setup_strp(struct sock *sk, struct tcp_comp_context *ctx)
780 {
781 struct strp_callbacks cb;
782
783 memset(&cb, 0, sizeof(cb));
784 cb.rcv_msg = comp_queue;
785 cb.parse_msg = comp_read_size;
786 strp_init(&ctx->rx.strp, sk, &cb);
787
788 write_lock_bh(&sk->sk_callback_lock);
789 ctx->rx.saved_data_ready = sk->sk_data_ready;
790 sk->sk_data_ready = comp_data_ready;
791 write_unlock_bh(&sk->sk_callback_lock);
792
793 strp_check_rcv(&ctx->rx.strp);
794 }
795
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH OLK-6.6] kbuild: userprogs: use correct linker when mixing clang and GNU ld
by Tengda Wu 06 Aug '25
by Tengda Wu 06 Aug '25
06 Aug '25
From: Thomas Weißschuh <thomas.weissschuh(a)linutronix.de>
mainline inclusion
from mainline-v6.17
commit 936599ca514973d44a766b7376c6bbdc96b6a8cc
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICRNOY
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
The userprogs infrastructure does not expect clang being used with GNU ld
and in that case uses /usr/bin/ld for linking, not the configured $(LD).
This fallback is problematic as it will break when cross-compiling.
Mixing clang and GNU ld is used for example when building for SPARC64,
as ld.lld is not sufficient; see Documentation/kbuild/llvm.rst.
Relax the check around --ld-path so it gets used for all linkers.
Fixes: dfc1b168a8c4 ("kbuild: userprogs: use correct lld when linking through clang")
Cc: stable(a)vger.kernel.org
Signed-off-by: Thomas Weißschuh <thomas.weissschuh(a)linutronix.de>
Reviewed-by: Nathan Chancellor <nathan(a)kernel.org>
Signed-off-by: Masahiro Yamada <masahiroy(a)kernel.org>
Conflicts:
Makefile
[Context conflicts]
Signed-off-by: Tengda Wu <wutengda2(a)huawei.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 4cbc72182f6b..2a6541892eea 100644
--- a/Makefile
+++ b/Makefile
@@ -1060,7 +1060,7 @@ KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
# userspace programs are linked via the compiler, use the correct linker
-ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_LD_IS_LLD),yy)
+ifdef CONFIG_CC_IS_CLANG
KBUILD_USERLDFLAGS += $(call cc-option, --ld-path=$(LD))
endif
--
2.34.1
2
1

[openeuler:OLK-5.10 3106/3106] block/bfq-cgroup.c:692: warning: Function parameter or member 'bfqg' not described in '__bfq_bic_change_cgroup'
by kernel test robot 06 Aug '25
by kernel test robot 06 Aug '25
06 Aug '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: a8c621aa031669a6835da1431d9765e3bbbc3621
commit: b8fcf506e7428600d59004a436f0ce98a21874d7 [3106/3106] bfq: Get rid of __bio_blkcg() usage
config: arm64-randconfig-003-20250806 (https://download.01.org/0day-ci/archive/20250806/202508062043.ijR1VTdp-lkp@…)
compiler: aarch64-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250806/202508062043.ijR1VTdp-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508062043.ijR1VTdp-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> block/bfq-cgroup.c:692: warning: Function parameter or member 'bfqg' not described in '__bfq_bic_change_cgroup'
>> block/bfq-cgroup.c:692: warning: Excess function parameter 'blkcg' description in '__bfq_bic_change_cgroup'
block/bfq-cgroup.c:841: warning: Function parameter or member 'ioprio_class' not described in 'bfq_reparent_leaf_entity'
block/bfq-cgroup.c:871: warning: Function parameter or member 'ioprio_class' not described in 'bfq_reparent_active_queues'
vim +692 block/bfq-cgroup.c
ea25da48086d3b Paolo Valente 2017-04-19 678
ea25da48086d3b Paolo Valente 2017-04-19 679 /**
ea25da48086d3b Paolo Valente 2017-04-19 680 * __bfq_bic_change_cgroup - move @bic to @cgroup.
ea25da48086d3b Paolo Valente 2017-04-19 681 * @bfqd: the queue descriptor.
ea25da48086d3b Paolo Valente 2017-04-19 682 * @bic: the bic to move.
ea25da48086d3b Paolo Valente 2017-04-19 683 * @blkcg: the blk-cgroup to move to.
ea25da48086d3b Paolo Valente 2017-04-19 684 *
8f9bebc33dd718 Paolo Valente 2017-06-05 685 * Move bic to blkcg, assuming that bfqd->lock is held; which makes
8f9bebc33dd718 Paolo Valente 2017-06-05 686 * sure that the reference to cgroup is valid across the call (see
8f9bebc33dd718 Paolo Valente 2017-06-05 687 * comments in bfq_bic_update_cgroup on this issue)
ea25da48086d3b Paolo Valente 2017-04-19 688 */
b8fcf506e74286 Jan Kara 2022-11-21 689 static void *__bfq_bic_change_cgroup(struct bfq_data *bfqd,
ea25da48086d3b Paolo Valente 2017-04-19 690 struct bfq_io_cq *bic,
b8fcf506e74286 Jan Kara 2022-11-21 691 struct bfq_group *bfqg)
ea25da48086d3b Paolo Valente 2017-04-19 @692 {
ea25da48086d3b Paolo Valente 2017-04-19 693 struct bfq_queue *async_bfqq = bic_to_bfqq(bic, 0);
ea25da48086d3b Paolo Valente 2017-04-19 694 struct bfq_queue *sync_bfqq = bic_to_bfqq(bic, 1);
ea25da48086d3b Paolo Valente 2017-04-19 695 struct bfq_entity *entity;
ea25da48086d3b Paolo Valente 2017-04-19 696
ea25da48086d3b Paolo Valente 2017-04-19 697 if (async_bfqq) {
ea25da48086d3b Paolo Valente 2017-04-19 698 entity = &async_bfqq->entity;
ea25da48086d3b Paolo Valente 2017-04-19 699
ea25da48086d3b Paolo Valente 2017-04-19 700 if (entity->sched_data != &bfqg->sched_data) {
ea25da48086d3b Paolo Valente 2017-04-19 701 bic_set_bfqq(bic, NULL, 0);
c8997736650060 Paolo Valente 2020-03-21 702 bfq_release_process_ref(bfqd, async_bfqq);
ea25da48086d3b Paolo Valente 2017-04-19 703 }
ea25da48086d3b Paolo Valente 2017-04-19 704 }
ea25da48086d3b Paolo Valente 2017-04-19 705
ea25da48086d3b Paolo Valente 2017-04-19 706 if (sync_bfqq) {
0154382317ee69 Jan Kara 2022-09-29 707 if (!sync_bfqq->new_bfqq && !bfq_bfqq_coop(sync_bfqq)) {
0154382317ee69 Jan Kara 2022-09-29 708 /* We are the only user of this bfqq, just move it */
0154382317ee69 Jan Kara 2022-09-29 709 if (sync_bfqq->entity.sched_data != &bfqg->sched_data)
ea25da48086d3b Paolo Valente 2017-04-19 710 bfq_bfqq_move(bfqd, sync_bfqq, bfqg);
0154382317ee69 Jan Kara 2022-09-29 711 } else {
0154382317ee69 Jan Kara 2022-09-29 712 struct bfq_queue *bfqq;
0154382317ee69 Jan Kara 2022-09-29 713
0154382317ee69 Jan Kara 2022-09-29 714 /*
0154382317ee69 Jan Kara 2022-09-29 715 * The queue was merged to a different queue. Check
0154382317ee69 Jan Kara 2022-09-29 716 * that the merge chain still belongs to the same
0154382317ee69 Jan Kara 2022-09-29 717 * cgroup.
0154382317ee69 Jan Kara 2022-09-29 718 */
0154382317ee69 Jan Kara 2022-09-29 719 for (bfqq = sync_bfqq; bfqq; bfqq = bfqq->new_bfqq)
0154382317ee69 Jan Kara 2022-09-29 720 if (bfqq->entity.sched_data !=
0154382317ee69 Jan Kara 2022-09-29 721 &bfqg->sched_data)
0154382317ee69 Jan Kara 2022-09-29 722 break;
0154382317ee69 Jan Kara 2022-09-29 723 if (bfqq) {
0154382317ee69 Jan Kara 2022-09-29 724 /*
0154382317ee69 Jan Kara 2022-09-29 725 * Some queue changed cgroup so the merge is
0154382317ee69 Jan Kara 2022-09-29 726 * not valid anymore. We cannot easily just
0154382317ee69 Jan Kara 2022-09-29 727 * cancel the merge (by clearing new_bfqq) as
0154382317ee69 Jan Kara 2022-09-29 728 * there may be other processes using this
0154382317ee69 Jan Kara 2022-09-29 729 * queue and holding refs to all queues below
0154382317ee69 Jan Kara 2022-09-29 730 * sync_bfqq->new_bfqq. Similarly if the merge
0154382317ee69 Jan Kara 2022-09-29 731 * already happened, we need to detach from
0154382317ee69 Jan Kara 2022-09-29 732 * bfqq now so that we cannot merge bio to a
0154382317ee69 Jan Kara 2022-09-29 733 * request from the old cgroup.
0154382317ee69 Jan Kara 2022-09-29 734 */
0154382317ee69 Jan Kara 2022-09-29 735 bfq_put_cooperator(sync_bfqq);
0154382317ee69 Jan Kara 2022-09-29 736 bfq_release_process_ref(bfqd, sync_bfqq);
0154382317ee69 Jan Kara 2022-09-29 737 bic_set_bfqq(bic, NULL, 1);
0154382317ee69 Jan Kara 2022-09-29 738 }
0154382317ee69 Jan Kara 2022-09-29 739 }
ea25da48086d3b Paolo Valente 2017-04-19 740 }
ea25da48086d3b Paolo Valente 2017-04-19 741
ea25da48086d3b Paolo Valente 2017-04-19 742 return bfqg;
ea25da48086d3b Paolo Valente 2017-04-19 743 }
ea25da48086d3b Paolo Valente 2017-04-19 744
:::::: The code at line 692 was first introduced by commit
:::::: ea25da48086d3bbebf3a2eeff387ea00ed96f5c4 block, bfq: split bfq-iosched.c into multiple source files
:::::: TO: Paolo Valente <paolo.valente(a)linaro.org>
:::::: CC: Jens Axboe <axboe(a)fb.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 3106/3106] drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:752:6: warning: no previous prototype for 'ngbe_add_uc_addr'
by kernel test robot 06 Aug '25
by kernel test robot 06 Aug '25
06 Aug '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: a8c621aa031669a6835da1431d9765e3bbbc3621
commit: a5961b4bc6ce09a70902686ecc848a47493a9251 [3106/3106] openeuler: net: ngbe: add ngbe module support
config: x86_64-buildonly-randconfig-2003-20250806 (https://download.01.org/0day-ci/archive/20250806/202508061443.vbBAmdyk-lkp@…)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250806/202508061443.vbBAmdyk-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508061443.vbBAmdyk-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/net/ethernet/netswift/ngbe/ngbe_phy.h:8,
from drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:6:
drivers/net/ethernet/netswift/ngbe/ngbe.h: In function 'ngbe_misc_isb':
drivers/net/ethernet/netswift/ngbe/ngbe.h:741:13: warning: variable 'cur_diff' set but not used [-Wunused-but-set-variable]
741 | u32 cur_diff = 0;
| ^~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c: At top level:
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:752:6: warning: no previous prototype for 'ngbe_add_uc_addr' [-Wmissing-prototypes]
752 | void ngbe_add_uc_addr(struct ngbe_hw *hw, u8 *addr, u32 vmdq)
| ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:885:6: warning: no previous prototype for 'ngbe_set_mta' [-Wmissing-prototypes]
885 | void ngbe_set_mta(struct ngbe_hw *hw, u8 *mc_addr)
| ^~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:1889:5: warning: no previous prototype for 'ngbe_host_interface_pass_command' [-Wmissing-prototypes]
1889 | s32 ngbe_host_interface_pass_command(struct ngbe_hw *hw, u32 *buffer,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2186:5: warning: no previous prototype for 'ngbe_setup_mac_link_hostif' [-Wmissing-prototypes]
2186 | s32 ngbe_setup_mac_link_hostif(struct ngbe_hw *hw, u32 speed)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2222:5: warning: no previous prototype for 'ngbe_crc16_ccitt' [-Wmissing-prototypes]
2222 | u16 ngbe_crc16_ccitt(const u8 *buf, int size)
| ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2339:4: warning: no previous prototype for 'fmgr_cmd_op' [-Wmissing-prototypes]
2339 | u8 fmgr_cmd_op(struct ngbe_hw *hw, u32 cmd, u32 cmd_addr)
| ^~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2360:4: warning: no previous prototype for 'fmgr_usr_cmd_op' [-Wmissing-prototypes]
2360 | u8 fmgr_usr_cmd_op(struct ngbe_hw *hw, u32 usr_cmd)
| ^~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2370:4: warning: no previous prototype for 'flash_erase_chip' [-Wmissing-prototypes]
2370 | u8 flash_erase_chip(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2376:4: warning: no previous prototype for 'flash_erase_sector' [-Wmissing-prototypes]
2376 | u8 flash_erase_sector(struct ngbe_hw *hw, u32 sec_addr)
| ^~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2392:4: warning: no previous prototype for 'flash_write_dword' [-Wmissing-prototypes]
2392 | u8 flash_write_dword(struct ngbe_hw *hw, u32 addr, u32 dword)
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:3296:5: warning: no previous prototype for 'ngbe_get_copper_link_capabilities' [-Wmissing-prototypes]
3296 | s32 ngbe_get_copper_link_capabilities(struct ngbe_hw *hw,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:3456:5: warning: no previous prototype for 'ngbe_reset_misc' [-Wmissing-prototypes]
3456 | int ngbe_reset_misc(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:3910:5: warning: no previous prototype for 'ngbe_read_ee_hostif_data' [-Wmissing-prototypes]
3910 | s32 ngbe_read_ee_hostif_data(struct ngbe_hw *hw, u16 offset,
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:3981:5: warning: no previous prototype for 'ngbe_phy_led_oem_chk' [-Wmissing-prototypes]
3981 | s32 ngbe_phy_led_oem_chk(struct ngbe_hw *hw, u32 *data)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:4163:5: warning: no previous prototype for 'ngbe_read_ee_hostif_data32' [-Wmissing-prototypes]
4163 | s32 ngbe_read_ee_hostif_data32(struct ngbe_hw *hw, u16 offset,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:4225:5: warning: no previous prototype for 'ngbe_write_ee_hostif_data' [-Wmissing-prototypes]
4225 | s32 ngbe_write_ee_hostif_data(struct ngbe_hw *hw, u16 offset,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:4282:5: warning: no previous prototype for 'ngbe_write_ee_hostif_data32' [-Wmissing-prototypes]
4282 | s32 ngbe_write_ee_hostif_data32(struct ngbe_hw *hw, u16 offset,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2689:17: warning: 'ngbe_emc_therm_limit' defined but not used [-Wunused-const-variable=]
2689 | static const u8 ngbe_emc_therm_limit[4] = {
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2682:17: warning: 'ngbe_emc_temp_data' defined but not used [-Wunused-const-variable=]
2682 | static const u8 ngbe_emc_temp_data[4] = {
| ^~~~~~~~~~~~~~~~~~
--
In file included from drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:5:
drivers/net/ethernet/netswift/ngbe/ngbe.h: In function 'ngbe_misc_isb':
drivers/net/ethernet/netswift/ngbe/ngbe.h:741:13: warning: variable 'cur_diff' set but not used [-Wunused-but-set-variable]
741 | u32 cur_diff = 0;
| ^~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c: At top level:
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:113:5: warning: no previous prototype for 'ngbe_poll_for_msg' [-Wmissing-prototypes]
113 | int ngbe_poll_for_msg(struct ngbe_hw *hw, u16 mbx_id)
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:143:5: warning: no previous prototype for 'ngbe_poll_for_ack' [-Wmissing-prototypes]
143 | int ngbe_poll_for_ack(struct ngbe_hw *hw, u16 mbx_id)
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:244:5: warning: no previous prototype for 'ngbe_read_v2p_mailbox' [-Wmissing-prototypes]
244 | u32 ngbe_read_v2p_mailbox(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:262:5: warning: no previous prototype for 'ngbe_check_for_bit_vf' [-Wmissing-prototypes]
262 | int ngbe_check_for_bit_vf(struct ngbe_hw *hw, u32 mask)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:278:5: warning: no previous prototype for 'ngbe_check_for_msg_vf' [-Wmissing-prototypes]
278 | int ngbe_check_for_msg_vf(struct ngbe_hw *hw, u16 __always_unused mbx_id)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:298:5: warning: no previous prototype for 'ngbe_check_for_ack_vf' [-Wmissing-prototypes]
298 | int ngbe_check_for_ack_vf(struct ngbe_hw *hw, u16 __always_unused mbx_id)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:318:5: warning: no previous prototype for 'ngbe_check_for_rst_vf' [-Wmissing-prototypes]
318 | int ngbe_check_for_rst_vf(struct ngbe_hw *hw, u16 __always_unused mbx_id)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:337:5: warning: no previous prototype for 'ngbe_obtain_mbx_lock_vf' [-Wmissing-prototypes]
337 | int ngbe_obtain_mbx_lock_vf(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:365:5: warning: no previous prototype for 'ngbe_write_mbx_vf' [-Wmissing-prototypes]
365 | int ngbe_write_mbx_vf(struct ngbe_hw *hw, u32 *msg, u16 size,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:403:5: warning: no previous prototype for 'ngbe_read_mbx_vf' [-Wmissing-prototypes]
403 | int ngbe_read_mbx_vf(struct ngbe_hw *hw, u32 *msg, u16 size,
| ^~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:461:5: warning: no previous prototype for 'ngbe_check_for_bit_pf' [-Wmissing-prototypes]
461 | int ngbe_check_for_bit_pf(struct ngbe_hw *hw, u32 mask)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:481:5: warning: no previous prototype for 'ngbe_check_for_msg_pf' [-Wmissing-prototypes]
481 | int ngbe_check_for_msg_pf(struct ngbe_hw *hw, u16 vf)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:501:5: warning: no previous prototype for 'ngbe_check_for_ack_pf' [-Wmissing-prototypes]
501 | int ngbe_check_for_ack_pf(struct ngbe_hw *hw, u16 vf)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:521:5: warning: no previous prototype for 'ngbe_check_for_rst_pf' [-Wmissing-prototypes]
521 | int ngbe_check_for_rst_pf(struct ngbe_hw *hw, u16 vf)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:544:5: warning: no previous prototype for 'ngbe_obtain_mbx_lock_pf' [-Wmissing-prototypes]
544 | int ngbe_obtain_mbx_lock_pf(struct ngbe_hw *hw, u16 vf)
| ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:572:5: warning: no previous prototype for 'ngbe_write_mbx_pf' [-Wmissing-prototypes]
572 | int ngbe_write_mbx_pf(struct ngbe_hw *hw, u32 *msg, u16 size,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_mbx.c:612:5: warning: no previous prototype for 'ngbe_read_mbx_pf' [-Wmissing-prototypes]
612 | int ngbe_read_mbx_pf(struct ngbe_hw *hw, u32 *msg, u16 size,
| ^~~~~~~~~~~~~~~~
--
In file included from drivers/net/ethernet/netswift/ngbe/ngbe_ptp.c:4:
drivers/net/ethernet/netswift/ngbe/ngbe.h: In function 'ngbe_misc_isb':
drivers/net/ethernet/netswift/ngbe/ngbe.h:741:13: warning: variable 'cur_diff' set but not used [-Wunused-but-set-variable]
741 | u32 cur_diff = 0;
| ^~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_ptp.c: In function 'ngbe_ptp_check_pps_event':
>> drivers/net/ethernet/netswift/ngbe/ngbe_ptp.c:253:32: warning: variable 'event' set but not used [-Wunused-but-set-variable]
253 | struct ptp_clock_event event;
| ^~~~~
--
In file included from drivers/net/ethernet/netswift/ngbe/ngbe_phy.h:8,
from drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:4:
drivers/net/ethernet/netswift/ngbe/ngbe.h: In function 'ngbe_misc_isb':
drivers/net/ethernet/netswift/ngbe/ngbe.h:741:13: warning: variable 'cur_diff' set but not used [-Wunused-but-set-variable]
741 | u32 cur_diff = 0;
| ^~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_phy.c: At top level:
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:16:6: warning: no previous prototype for 'ngbe_check_reset_blocked' [-Wmissing-prototypes]
16 | bool ngbe_check_reset_blocked(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:33:5: warning: no previous prototype for 'ngbe_phy_read_reg' [-Wmissing-prototypes]
33 | s32 ngbe_phy_read_reg(struct ngbe_hw *hw,
| ^~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:56:5: warning: no previous prototype for 'ngbe_phy_write_reg' [-Wmissing-prototypes]
56 | s32 ngbe_phy_write_reg(struct ngbe_hw *hw,
| ^~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:74:5: warning: no previous prototype for 'ngbe_check_internal_phy_id' [-Wmissing-prototypes]
74 | s32 ngbe_check_internal_phy_id(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:273:5: warning: no previous prototype for 'ngbe_check_mdi_phy_id' [-Wmissing-prototypes]
273 | s32 ngbe_check_mdi_phy_id(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:337:6: warning: no previous prototype for 'ngbe_validate_phy_addr' [-Wmissing-prototypes]
337 | bool ngbe_validate_phy_addr(struct ngbe_hw *hw, u32 phy_addr)
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:353:5: warning: no previous prototype for 'ngbe_check_yt_phy_id' [-Wmissing-prototypes]
353 | s32 ngbe_check_yt_phy_id(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:1242:5: warning: no previous prototype for 'ngbe_phy_get_advertised_pause' [-Wmissing-prototypes]
1242 | s32 ngbe_phy_get_advertised_pause(struct ngbe_hw *hw, u8 *pause_bit)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:1279:5: warning: no previous prototype for 'ngbe_phy_get_lp_advertised_pause' [-Wmissing-prototypes]
1279 | s32 ngbe_phy_get_lp_advertised_pause(struct ngbe_hw *hw, u8 *pause_bit)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:1324:5: warning: no previous prototype for 'ngbe_phy_set_pause_advertisement' [-Wmissing-prototypes]
1324 | s32 ngbe_phy_set_pause_advertisement(struct ngbe_hw *hw, u16 pause_bit)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_phy.c:1450:5: warning: no previous prototype for 'ngbe_phy_setup' [-Wmissing-prototypes]
1450 | s32 ngbe_phy_setup(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~
--
In file included from drivers/net/ethernet/netswift/ngbe/ngbe_ethtool.c:15:
drivers/net/ethernet/netswift/ngbe/ngbe.h: In function 'ngbe_misc_isb':
drivers/net/ethernet/netswift/ngbe/ngbe.h:741:13: warning: variable 'cur_diff' set but not used [-Wunused-but-set-variable]
741 | u32 cur_diff = 0;
| ^~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_ethtool.c: At top level:
>> drivers/net/ethernet/netswift/ngbe/ngbe_ethtool.c:128:5: warning: no previous prototype for 'ngbe_get_link_ksettings' [-Wmissing-prototypes]
128 | int ngbe_get_link_ksettings(struct net_device *netdev,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_ethtool.c: In function 'ngbe_set_link_ksettings':
>> drivers/net/ethernet/netswift/ngbe/ngbe_ethtool.c:318:25: warning: variable 'old' set but not used [-Wunused-but-set-variable]
318 | u32 advertised, old;
| ^~~
--
In file included from drivers/net/ethernet/netswift/ngbe/ngbe_main.c:23:
drivers/net/ethernet/netswift/ngbe/ngbe.h: In function 'ngbe_misc_isb':
drivers/net/ethernet/netswift/ngbe/ngbe.h:741:13: warning: variable 'cur_diff' set but not used [-Wunused-but-set-variable]
741 | u32 cur_diff = 0;
| ^~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_main.c: At top level:
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:139:6: warning: no previous prototype for 'ngbe_service_event_schedule' [-Wmissing-prototypes]
139 | void ngbe_service_event_schedule(struct ngbe_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_main.c: In function 'ngbe_tx_timeout':
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:401:14: warning: variable 'real_tx_hang' set but not used [-Wunused-but-set-variable]
401 | bool real_tx_hang = false;
| ^~~~~~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_main.c: At top level:
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3159:6: warning: no previous prototype for 'ngbe_configure_isb' [-Wmissing-prototypes]
3159 | void ngbe_configure_isb(struct ngbe_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3173:6: warning: no previous prototype for 'ngbe_configure_port' [-Wmissing-prototypes]
3173 | void ngbe_configure_port(struct ngbe_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3529:6: warning: no previous prototype for 'ngbe_disable_device' [-Wmissing-prototypes]
3529 | void ngbe_disable_device(struct ngbe_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3644:5: warning: no previous prototype for 'ngbe_init_shared_code' [-Wmissing-prototypes]
3644 | s32 ngbe_init_shared_code(struct ngbe_hw *hw)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5791:5: warning: no previous prototype for 'ngbe_skb_pad_nonzero' [-Wmissing-prototypes]
5791 | int ngbe_skb_pad_nonzero(struct sk_buff *skb, int pad)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_main.c: In function 'ngbe_mii_ioctl':
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5989:20: warning: variable 'devad' set but not used [-Wunused-but-set-variable]
5989 | int prtad, devad, ret = 0;
| ^~~~~
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5989:13: warning: variable 'prtad' set but not used [-Wunused-but-set-variable]
5989 | int prtad, devad, ret = 0;
| ^~~~~
--
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:602: warning: Function parameter or member 'pools' not described in 'ngbe_set_rar'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:602: warning: Excess function parameter 'vmdq' description in 'ngbe_set_rar'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:753: warning: Function parameter or member 'vmdq' not described in 'ngbe_add_uc_addr'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:886: warning: Function parameter or member 'mc_addr' not described in 'ngbe_set_mta'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:886: warning: Excess function parameter 'hash_value' description in 'ngbe_set_mta'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:1505: warning: Function parameter or member 'pool' not described in 'ngbe_set_vmdq'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:1505: warning: Excess function parameter 'vmdq' description in 'ngbe_set_vmdq'
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2340: warning: Function parameter or member 'hw' not described in 'fmgr_cmd_op'
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2340: warning: Function parameter or member 'cmd' not described in 'fmgr_cmd_op'
>> drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2340: warning: Function parameter or member 'cmd_addr' not described in 'fmgr_cmd_op'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2703: warning: bad line: (8.1542E-08)N^3 + (-1.6743E-11)N^4
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:2710: warning: Excess function parameter 'data' description in 'ngbe_get_thermal_sensor_data'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:3441: warning: Function parameter or member 'need_restart_AN' not described in 'ngbe_setup_copper_link'
drivers/net/ethernet/netswift/ngbe/ngbe_hw.c:3441: warning: Excess function parameter 'autoneg_wait_to_complete' description in 'ngbe_setup_copper_link'
--
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:226: warning: Function parameter or member 'quiet' not described in 'ngbe_read_reg'
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:398: warning: Function parameter or member 'txqueue' not described in 'ngbe_tx_timeout'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:1608: warning: Function parameter or member 'queues' not described in 'ngbe_irq_enable'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:1608: warning: Function parameter or member 'flush' not described in 'ngbe_irq_enable'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:1997: warning: Function parameter or member 'adapter' not described in 'ngbe_configure_msi_and_legacy'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:2389: warning: Function parameter or member 'adapter' not described in 'ngbe_configure_bridge_mode'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:2856: warning: Function parameter or member 'pool' not described in 'ngbe_write_uc_addr_list'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3684: warning: cannot understand function prototype: 'const u32 def_rss_key[10] = '
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4267: warning: Function parameter or member 'pdev' not described in '__ngbe_shutdown'
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4267: warning: Function parameter or member 'enable_wake' not described in '__ngbe_shutdown'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4558: warning: Function parameter or member 'adapter' not described in 'ngbe_check_hang_subtask'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4620: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_update_link_status'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4716: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_link_is_up'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4761: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_link_is_down'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4828: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_flush_tx'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4898: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_subtask'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4927: warning: Function parameter or member 't' not described in 'ngbe_service_timer'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4927: warning: Excess function parameter 'data' description in 'ngbe_service_timer'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6022: warning: Function parameter or member 'dev' not described in 'ngbe_setup_tc'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6022: warning: Excess function parameter 'netdev' description in 'ngbe_setup_tc'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6273: warning: Excess function parameter 'device_id' description in 'ngbe_wol_supported'
drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6273: warning: Excess function parameter 'subdev_id' description in 'ngbe_wol_supported'
vim +/ngbe_add_uc_addr +752 drivers/net/ethernet/netswift/ngbe/ngbe_hw.c
589
590 /**
591 * ngbe_set_rar - Set Rx address register
592 * @hw: pointer to hardware structure
593 * @index: Receive address register to write
594 * @addr: Address to put into receive address register
595 * @vmdq: VMDq "set" or "pool" index
596 * @enable_addr: set flag that address is active
597 *
598 * Puts an ethernet address into a receive address register.
599 **/
600 s32 ngbe_set_rar(struct ngbe_hw *hw, u32 index, u8 *addr, u64 pools,
601 u32 enable_addr)
> 602 {
603 u32 rar_low, rar_high;
604 u32 rar_entries = hw->mac.num_rar_entries;
605
606 /* Make sure we are using a valid rar index range */
607 if (index >= rar_entries) {
608 ERROR_REPORT2(NGBE_ERROR_ARGUMENT,
609 "RAR index %d is out of range.\n", index);
610 return NGBE_ERR_INVALID_ARGUMENT;
611 }
612
613 /* select the MAC address */
614 wr32(hw, NGBE_PSR_MAC_SWC_IDX, index);
615
616 /* setup VMDq pool mapping */
617 wr32(hw, NGBE_PSR_MAC_SWC_VM, pools & 0xFFFFFFFF);
618
619 /* HW expects these in little endian so we reverse the byte
620 * order from network order (big endian) to little endian
621 *
622 * Some parts put the VMDq setting in the extra RAH bits,
623 * so save everything except the lower 16 bits that hold part
624 * of the address and the address valid bit.
625 */
626 rar_low = ((u32)addr[5] |
627 ((u32)addr[4] << 8) |
628 ((u32)addr[3] << 16) |
629 ((u32)addr[2] << 24));
630 rar_high = ((u32)addr[1] |
631 ((u32)addr[0] << 8));
632 if (enable_addr != 0)
633 rar_high |= NGBE_PSR_MAC_SWC_AD_H_AV;
634
635 wr32(hw, NGBE_PSR_MAC_SWC_AD_L, rar_low);
636 wr32m(hw, NGBE_PSR_MAC_SWC_AD_H,
637 (NGBE_PSR_MAC_SWC_AD_H_AD(~0) |
638 NGBE_PSR_MAC_SWC_AD_H_ADTYPE(~0) |
639 NGBE_PSR_MAC_SWC_AD_H_AV),
640 rar_high);
641
642 return 0;
643 }
644
645 /**
646 * ngbe_clear_rar - Remove Rx address register
647 * @hw: pointer to hardware structure
648 * @index: Receive address register to write
649 *
650 * Clears an ethernet address from a receive address register.
651 **/
652 s32 ngbe_clear_rar(struct ngbe_hw *hw, u32 index)
653 {
654 u32 rar_entries = hw->mac.num_rar_entries;
655
656 /* Make sure we are using a valid rar index range */
657 if (index >= rar_entries) {
658 ERROR_REPORT2(NGBE_ERROR_ARGUMENT,
659 "RAR index %d is out of range.\n", index);
660 return NGBE_ERR_INVALID_ARGUMENT;
661 }
662
663 /* Some parts put the VMDq setting in the extra RAH bits,
664 * so save everything except the lower 16 bits that hold part
665 * of the address and the address valid bit.
666 */
667 wr32(hw, NGBE_PSR_MAC_SWC_IDX, index);
668
669 wr32(hw, NGBE_PSR_MAC_SWC_VM, 0);
670 wr32(hw, NGBE_PSR_MAC_SWC_AD_L, 0);
671 wr32m(hw, NGBE_PSR_MAC_SWC_AD_H,
672 (NGBE_PSR_MAC_SWC_AD_H_AD(~0) |
673 NGBE_PSR_MAC_SWC_AD_H_ADTYPE(~0) |
674 NGBE_PSR_MAC_SWC_AD_H_AV),
675 0);
676
677 return 0;
678 }
679
680 /**
681 * ngbe_init_rx_addrs - Initializes receive address filters.
682 * @hw: pointer to hardware structure
683 *
684 * Places the MAC address in receive address register 0 and clears the rest
685 * of the receive address registers. Clears the multicast table. Assumes
686 * the receiver is in reset when the routine is called.
687 **/
688 s32 ngbe_init_rx_addrs(struct ngbe_hw *hw)
689 {
690 u32 i;
691 u32 rar_entries = hw->mac.num_rar_entries;
692 u32 psrctl;
693
694 /* If the current mac address is valid, assume it is a software override
695 * to the permanent address.
696 * Otherwise, use the permanent address from the eeprom.
697 */
698 if (ngbe_validate_mac_addr(hw->mac.addr) ==
699 NGBE_ERR_INVALID_MAC_ADDR) {
700 /* Get the MAC address from the RAR0 for later reference */
701 TCALL(hw, mac.ops.get_mac_addr, hw->mac.addr);
702
703 DEBUGOUT3(" Keeping Current RAR0 Addr =%.2X %.2X %.2X %.2X %.2X %.2X\n",
704 hw->mac.addr[0], hw->mac.addr[1],
705 hw->mac.addr[2], hw->mac.addr[3],
706 hw->mac.addr[4], hw->mac.addr[5]);
707 } else {
708 /* Setup the receive address. */
709 DEBUGOUT("Overriding MAC Address in RAR[0]\n");
710 DEBUGOUT3(" New MAC Addr =%.2X %.2X %.2X %.2X %.2X %.2X\n",
711 hw->mac.addr[0], hw->mac.addr[1],
712 hw->mac.addr[2], hw->mac.addr[3],
713 hw->mac.addr[4], hw->mac.addr[5]);
714
715 TCALL(hw, mac.ops.set_rar, 0, hw->mac.addr, 0,
716 NGBE_PSR_MAC_SWC_AD_H_AV);
717 }
718 hw->addr_ctrl.overflow_promisc = 0;
719
720 hw->addr_ctrl.rar_used_count = 1;
721
722 /* Zero out the other receive addresses. */
723 DEBUGOUT1("Clearing RAR[1-%d]\n", rar_entries - 1);
724 for (i = 1; i < rar_entries; i++) {
725 wr32(hw, NGBE_PSR_MAC_SWC_IDX, i);
726 wr32(hw, NGBE_PSR_MAC_SWC_AD_L, 0);
727 wr32(hw, NGBE_PSR_MAC_SWC_AD_H, 0);
728 }
729
730 /* Clear the MTA */
731 hw->addr_ctrl.mta_in_use = 0;
732 psrctl = rd32(hw, NGBE_PSR_CTL);
733 psrctl &= ~(NGBE_PSR_CTL_MO | NGBE_PSR_CTL_MFE);
734 psrctl |= hw->mac.mc_filter_type << NGBE_PSR_CTL_MO_SHIFT;
735 wr32(hw, NGBE_PSR_CTL, psrctl);
736 DEBUGOUT(" Clearing MTA\n");
737 for (i = 0; i < hw->mac.mcft_size; i++)
738 wr32(hw, NGBE_PSR_MC_TBL(i), 0);
739
740 TCALL(hw, mac.ops.init_uta_tables);
741
742 return 0;
743 }
744
745 /**
746 * ngbe_add_uc_addr - Adds a secondary unicast address.
747 * @hw: pointer to hardware structure
748 * @addr: new address
749 *
750 * Adds it to unused receive address register or goes into promiscuous mode.
751 **/
> 752 void ngbe_add_uc_addr(struct ngbe_hw *hw, u8 *addr, u32 vmdq)
753 {
754 u32 rar_entries = hw->mac.num_rar_entries;
755 u32 rar;
756
757 DEBUGOUT6(" UC Addr = %.2X %.2X %.2X %.2X %.2X %.2X\n",
758 addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
759
760 /* Place this address in the RAR if there is room,
761 * else put the controller into promiscuous mode
762 */
763 if (hw->addr_ctrl.rar_used_count < rar_entries) {
764 rar = hw->addr_ctrl.rar_used_count;
765 TCALL(hw, mac.ops.set_rar, rar, addr, vmdq,
766 NGBE_PSR_MAC_SWC_AD_H_AV);
767 DEBUGOUT1("Added a secondary address to RAR[%d]\n", rar);
768 hw->addr_ctrl.rar_used_count++;
769 } else {
770 hw->addr_ctrl.overflow_promisc++;
771 }
772 }
773
774 /**
775 * ngbe_update_uc_addr_list - Updates MAC list of secondary addresses
776 * @hw: pointer to hardware structure
777 * @addr_list: the list of new addresses
778 * @addr_count: number of addresses
779 * @next: iterator function to walk the address list
780 *
781 * The given list replaces any existing list. Clears the secondary addrs from
782 * receive address registers. Uses unused receive address registers for the
783 * first secondary addresses, and falls back to promiscuous mode as needed.
784 *
785 * Drivers using secondary unicast addresses must set user_set_promisc when
786 * manually putting the device into promiscuous mode.
787 **/
788 s32 ngbe_update_uc_addr_list(struct ngbe_hw *hw, u8 *addr_list,
789 u32 addr_count, ngbe_mc_addr_itr next)
790 {
791 u8 *addr;
792 u32 i;
793 u32 old_promisc_setting = hw->addr_ctrl.overflow_promisc;
794 u32 uc_addr_in_use;
795 u32 vmdq;
796
797 /* Clear accounting of old secondary address list,
798 * don't count RAR[0]
799 */
800 uc_addr_in_use = hw->addr_ctrl.rar_used_count - 1;
801 hw->addr_ctrl.rar_used_count -= uc_addr_in_use;
802 hw->addr_ctrl.overflow_promisc = 0;
803
804 /* Zero out the other receive addresses */
805 DEBUGOUT1("Clearing RAR[1-%d]\n", uc_addr_in_use + 1);
806 for (i = 0; i < uc_addr_in_use; i++) {
807 wr32(hw, NGBE_PSR_MAC_SWC_IDX, 1 + i);
808 wr32(hw, NGBE_PSR_MAC_SWC_AD_L, 0);
809 wr32(hw, NGBE_PSR_MAC_SWC_AD_H, 0);
810 }
811
812 /* Add the new addresses */
813 for (i = 0; i < addr_count; i++) {
814 DEBUGOUT(" Adding the secondary addresses:\n");
815 addr = next(hw, &addr_list, &vmdq);
816 ngbe_add_uc_addr(hw, addr, vmdq);
817 }
818
819 if (hw->addr_ctrl.overflow_promisc) {
820 /* enable promisc if not already in overflow or set by user */
821 if (!old_promisc_setting && !hw->addr_ctrl.user_set_promisc) {
822 DEBUGOUT(" Entering address overflow promisc mode\n");
823 wr32m(hw, NGBE_PSR_CTL,
824 NGBE_PSR_CTL_UPE, NGBE_PSR_CTL_UPE);
825 }
826 } else {
827 /* only disable if set by overflow, not by user */
828 if (old_promisc_setting && !hw->addr_ctrl.user_set_promisc) {
829 DEBUGOUT(" Leaving address overflow promisc mode\n");
830 wr32m(hw, NGBE_PSR_CTL,
831 NGBE_PSR_CTL_UPE, 0);
832 }
833 }
834
835 return 0;
836 }
837
838 /**
839 * ngbe_mta_vector - Determines bit-vector in multicast table to set
840 * @hw: pointer to hardware structure
841 * @mc_addr: the multicast address
842 *
843 * Extracts the 12 bits, from a multicast address, to determine which
844 * bit-vector to set in the multicast table. The hardware uses 12 bits, from
845 * incoming rx multicast addresses, to determine the bit-vector to check in
846 * the MTA. Which of the 4 combination, of 12-bits, the hardware uses is set
847 * by the MO field of the MCSTCTRL. The MO field is set during initialization
848 * to mc_filter_type.
849 **/
850 static s32 ngbe_mta_vector(struct ngbe_hw *hw, u8 *mc_addr)
851 {
852 u32 vector = 0;
853
854 switch (hw->mac.mc_filter_type) {
855 case 0: /* use bits [47:36] of the address */
856 vector = ((mc_addr[4] >> 4) | (((u16)mc_addr[5]) << 4));
857 break;
858 case 1: /* use bits [46:35] of the address */
859 vector = ((mc_addr[4] >> 3) | (((u16)mc_addr[5]) << 5));
860 break;
861 case 2: /* use bits [45:34] of the address */
862 vector = ((mc_addr[4] >> 2) | (((u16)mc_addr[5]) << 6));
863 break;
864 case 3: /* use bits [43:32] of the address */
865 vector = ((mc_addr[4]) | (((u16)mc_addr[5]) << 8));
866 break;
867 default: /* Invalid mc_filter_type */
868 DEBUGOUT("MC filter type param set incorrectly\n");
869 ASSERT(0);
870 break;
871 }
872
873 /* vector can only be 12-bits or boundary will be exceeded */
874 vector &= 0xFFF;
875 return vector;
876 }
877
878 /**
879 * ngbe_set_mta - Set bit-vector in multicast table
880 * @hw: pointer to hardware structure
881 * @hash_value: Multicast address hash value
882 *
883 * Sets the bit-vector in the multicast table.
884 **/
> 885 void ngbe_set_mta(struct ngbe_hw *hw, u8 *mc_addr)
886 {
887 u32 vector;
888 u32 vector_bit;
889 u32 vector_reg;
890
891 hw->addr_ctrl.mta_in_use++;
892
893 vector = ngbe_mta_vector(hw, mc_addr);
894 DEBUGOUT1(" bit-vector = 0x%03X\n", vector);
895
896 /* The MTA is a register array of 128 32-bit registers. It is treated
897 * like an array of 4096 bits. We want to set bit
898 * BitArray[vector_value]. So we figure out what register the bit is
899 * in, read it, OR in the new bit, then write back the new value. The
900 * register is determined by the upper 7 bits of the vector value and
901 * the bit within that register are determined by the lower 5 bits of
902 * the value.
903 */
904 vector_reg = (vector >> 5) & 0x7F;
905 vector_bit = vector & 0x1F;
906 hw->mac.mta_shadow[vector_reg] |= (1 << vector_bit);
907 }
908
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 2658/2658] drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:545:5: error: no previous prototype for function 'ps3_pci_init'
by kernel test robot 06 Aug '25
by kernel test robot 06 Aug '25
06 Aug '25
Hi liujie_answer,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8551213150db5f8eebd27273dae93f6fe258d63a
commit: 97a2bb6ece556f3882263ee8df2b77f10c511311 [2658/2658] SCSI: Linkdata: Supports Linkdata HBA/RAID Controllers
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20250806/202508062054.9vtkPxs1-lkp@…)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250806/202508062054.9vtkPxs1-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508062054.9vtkPxs1-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:5:
In file included from include/linux/pci.h:38:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:307:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
307 | int ps3_hard_reset_to_ready(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:307:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
307 | int ps3_hard_reset_to_ready(struct ps3_instance *instance)
| ^
| static
6 errors generated.
--
In file included from drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:5:
In file included from include/linux/pci.h:38:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:876:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
876 | void ps3_set_task_manager_busy(struct ps3_instance *instance,
| ^
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:876:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
876 | void ps3_set_task_manager_busy(struct ps3_instance *instance,
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1110:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
1110 | int ps3_wait_for_outstanding_complete(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1110:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1110 | int ps3_wait_for_outstanding_complete(struct ps3_instance *instance)
| ^
| static
7 errors generated.
--
In file included from drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:14:
In file included from drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.h:6:
In file included from drivers/scsi/linkdata/ps3stor/ps3_irq.h:8:
In file included from include/scsi/scsi_host.h:5:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:131:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
131 | void ps3_trigger_irq_poll(struct ps3_irq *irq)
| ^
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:131:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
131 | void ps3_trigger_irq_poll(struct ps3_irq *irq)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:243:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
243 | int ps3_resp_status_convert(unsigned int resp_status)
| ^
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:243:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
243 | int ps3_resp_status_convert(unsigned int resp_status)
| ^
| static
7 errors generated.
--
In file included from drivers/scsi/linkdata/ps3stor/ps3_qos.c:7:
In file included from include/scsi/scsi_host.h:5:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:211:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
211 | ps3_qos_cmd_waitq_get(struct ps3_qos_tg_context *qos_tg_ctx,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:210:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
210 | struct qos_wait_queue *
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
335 | unsigned char ps3_qos_vd_cmdword_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:335:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
335 | unsigned char ps3_qos_vd_cmdword_get(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
351 | unsigned char ps3_qos_exclusive_cmdword_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:351:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
351 | unsigned char ps3_qos_exclusive_cmdword_get(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
363 | unsigned char ps3_qos_tg_decision(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:363:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
363 | unsigned char ps3_qos_tg_decision(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
749 | unsigned char ps3_qos_all_pd_rc_get(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:749:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
749 | unsigned char ps3_qos_all_pd_rc_get(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
876 | void ps3_pd_quota_waitq_clear_all(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:876:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
876 | void ps3_pd_quota_waitq_clear_all(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
892 | void ps3_pd_quota_waitq_clean(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:892:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
892 | void ps3_pd_quota_waitq_clean(struct ps3_qos_pd_mgr *qos_pd_mgr,
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
1058 | void ps3_qos_pd_waitq_ratio_update(struct ps3_qos_pd_mgr *qos_pd_mgr)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1058:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1058 | void ps3_qos_pd_waitq_ratio_update(struct ps3_qos_pd_mgr *qos_pd_mgr)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
2019 | unsigned char ps3_hba_qos_decision(struct ps3_cmd *cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2019:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2019 | unsigned char ps3_hba_qos_decision(struct ps3_cmd *cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
2040 | void ps3_hba_qos_waitq_notify(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2040:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2040 | void ps3_hba_qos_waitq_notify(struct ps3_instance *instance)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
2100 | bool ps3_cmd_waitq_abort(struct ps3_cmd *aborted_cmd)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2100:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2100 | bool ps3_cmd_waitq_abort(struct ps3_cmd *aborted_cmd)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
2463 | void ps3_hba_qos_waitq_clear_all(struct ps3_instance *instance, int resp_status)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2463:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2463 | void ps3_hba_qos_waitq_clear_all(struct ps3_instance *instance, int resp_status)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
2827 | void ps3_hba_qos_vd_init(struct ps3_instance *instance,
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2827:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2827 | void ps3_hba_qos_vd_init(struct ps3_instance *instance,
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
2936 | void ps3_hba_qos_vd_reset(struct ps3_instance *instance, unsigned short disk_id)
| ^
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2936:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2936 | void ps3_hba_qos_vd_reset(struct ps3_instance *instance, unsigned short disk_id)
| ^
| static
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
In file included from drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:6:
In file included from drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.h:7:
In file included from include/scsi/scsi_cmnd.h:5:
In file included from include/linux/dma-mapping.h:8:
In file included from include/linux/device.h:32:
In file included from include/linux/device/driver.h:21:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2253:
include/linux/vmstat.h:508:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:536:43: error: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Werror,-Wenum-enum-conversion]
536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
537 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:85:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
85 | void ps3_cmd_stat_content_clear(struct ps3_instance *instance)
| ^
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:85:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
85 | void ps3_cmd_stat_content_clear(struct ps3_instance *instance)
| ^
| static
>> drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:403:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
403 | void ps3_io_recv_ok_stat_inc(struct ps3_instance *ins,
| ^
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:403:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
403 | void ps3_io_recv_ok_stat_inc(struct ps3_instance *ins,
| ^
| static
7 errors generated.
..
vim +/ps3_pci_init +545 drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c
544
> 545 int ps3_pci_init(struct pci_dev *pdev, struct ps3_instance *instance)
546 {
547 resource_size_t base_addr = 0;
548 int ret = PS3_SUCCESS;
549
550 ret = pci_enable_device_mem(pdev);
551 if (ret != PS3_SUCCESS) {
552 LOG_ERROR("hno:%u pci id[%u] pci enable failed\n",
553 PS3_HOST(instance), pdev->dev.id);
554 goto l_pci_enable_device_mem_failed;
555 }
556
557 pci_set_master(pdev);
558
559 instance->reg_bar = PS3_REGISTER_BAR_INDEX;
560 ret = (pci_resource_flags(pdev, instance->reg_bar) & IORESOURCE_MEM);
561 if (!ret) {
562 LOG_ERROR("hno:%u Bar %lu isnot IORESOURCE_MEM\n",
563 PS3_HOST(instance), instance->reg_bar);
564 goto l_bar_check_failed;
565 }
566 ret = pci_request_selected_regions(pdev, 1 << instance->reg_bar,
567 "PS3 pci regions");
568 if (ret != PS3_SUCCESS) {
569 LOG_ERROR("hno:%u IO memory region busy\n", PS3_HOST(instance));
570 goto l_pci_request_selected_regions_failed;
571 }
572 #if defined(PS3_SUPPORT_PCIE_REPORT)
573 pci_enable_pcie_error_reporting(pdev);
574 #endif
575 if (instance->ioc_adpter->reg_set) {
576 instance->reg_set =
577 (struct Ps3Fifo __iomem *)instance->ioc_adpter->reg_set(
578 pdev, instance->reg_bar);
579 } else {
580 instance->reg_set = (struct Ps3Fifo __iomem *)ioremap(
581 pci_resource_start(pdev, instance->reg_bar),
582 PS3_REGISTER_SET_SIZE);
583 }
584 if (instance->reg_set == NULL) {
585 LOG_ERROR("hno:%u ioremap failed\n", PS3_HOST(instance));
586 goto l_ioremap_failed;
587 } else {
588 pci_set_drvdata(pdev, instance);
589 }
590
591 ps3_atomic_set(&instance->watchdog_reg_read_fail_count, 0);
592 LOG_INFO(
593 "reg_bar_idx = %lu, bar_base_paddr = 0x%llx, reg_set_vaddr = 0x%p\n",
594 instance->reg_bar, (unsigned long long)base_addr, instance->reg_set);
595
596 return PS3_SUCCESS;
597 l_ioremap_failed:
598 pci_release_selected_regions(instance->pdev, 1 << instance->reg_bar);
599 #if defined(PS3_SUPPORT_PCIE_REPORT)
600 pci_disable_pcie_error_reporting(pdev);
601 #endif
602 l_pci_request_selected_regions_failed:
603 pci_disable_device(instance->pdev);
604 l_bar_check_failed:
605 l_pci_enable_device_mem_failed:
606 return -PS3_FAILED;
607 }
608
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6 2658/2658] drivers/char/ipmi/ipmi_si_ls2k500.c:92:5: warning: no previous prototype for function 'ipmi_si_sim_setup'
by kernel test robot 06 Aug '25
by kernel test robot 06 Aug '25
06 Aug '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 8551213150db5f8eebd27273dae93f6fe258d63a
commit: 4fbeaa84ef36adce930088074f8c088e5dd780c0 [2658/2658] ipmi: add ls2k500 bmc ipmi support.
config: loongarch-randconfig-2005-20250806 (https://download.01.org/0day-ci/archive/20250806/202508061418.ItIqDS25-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project faa4c4c2dc804c31845d8f036345fac00e016f2d)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250806/202508061418.ItIqDS25-lkp@…)
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(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508061418.ItIqDS25-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/char/ipmi/ipmi_si_ls2k500.c:10:
In file included from include/linux/module.h:19:
In file included from include/linux/elf.h:6:
In file included from arch/loongarch/include/asm/elf.h:13:
In file included from arch/loongarch/include/asm/vdso.h:10:
In file included from include/linux/mm.h:2174:
include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
509 | item];
| ~~~~
include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
516 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
528 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/char/ipmi/ipmi_si_ls2k500.c:92:5: warning: no previous prototype for function 'ipmi_si_sim_setup' [-Wmissing-prototypes]
92 | int ipmi_si_sim_setup(struct si_sm_io *io)
| ^
drivers/char/ipmi/ipmi_si_ls2k500.c:92:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
92 | int ipmi_si_sim_setup(struct si_sm_io *io)
| ^
| static
5 warnings generated.
vim +/ipmi_si_sim_setup +92 drivers/char/ipmi/ipmi_si_ls2k500.c
91
> 92 int ipmi_si_sim_setup(struct si_sm_io *io)
93 {
94 io->inputb = intf_sim_inb;
95 io->outputb = intf_sim_outb;
96 io->io_cleanup = ipmi_ls2k500_cleanup;
97 return 0;
98 }
99
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0