mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

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
kernel@openeuler.org

  • 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

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
0 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

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
0 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

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
0 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

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
0 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

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
0 0
[PATCH OLK-6.6] kbuild: userprogs: use correct linker when mixing clang and GNU ld
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
0 0
[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

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
0 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

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
0 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

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
0 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

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
0 0
  • ← Newer
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • ...
  • 1978
  • Older →

HyperKitty Powered by HyperKitty