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 -----
  • December
  • November
  • October
  • September
  • 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
  • 21842 discussions
[openeuler:OLK-6.6 3508/3508] drivers/dax/super.c:45: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'dax_device'
by kernel test robot 12 Dec '25

12 Dec '25
Hi Long, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: 63101913bbd057cea31fb598eeb4a4c91584f0f0 [3508/3508] dax: kabi: Reserve KABI slots for dax_* struct config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251211/202512112304.Mi0KvHRe-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 4125e73cdc6188cca4c1c72b72e2b2d85c157483) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251211/202512112304.Mi0KvHRe-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/202512112304.Mi0KvHRe-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/dax/super.c:45: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'dax_device' vim +45 drivers/dax/super.c 7b6be8444e0f0d Dan Williams 2017-04-11 17 1b7646014e0d83 Christoph Hellwig 2021-08-26 18 /** 1b7646014e0d83 Christoph Hellwig 2021-08-26 19 * struct dax_device - anchor object for dax services 1b7646014e0d83 Christoph Hellwig 2021-08-26 20 * @inode: core vfs 1b7646014e0d83 Christoph Hellwig 2021-08-26 21 * @cdev: optional character interface for "device dax" 1b7646014e0d83 Christoph Hellwig 2021-08-26 22 * @private: dax driver private data 1b7646014e0d83 Christoph Hellwig 2021-08-26 23 * @flags: state and boolean properties db8cd5efeebc49 Ira Weiny 2022-03-04 24 * @ops: operations for this device 8012b866085523 Shiyang Ruan 2022-06-03 25 * @holder_data: holder of a dax_device: could be filesystem or mapped device 8012b866085523 Shiyang Ruan 2022-06-03 26 * @holder_ops: operations for the inner holder 1b7646014e0d83 Christoph Hellwig 2021-08-26 27 */ 1b7646014e0d83 Christoph Hellwig 2021-08-26 28 struct dax_device { 1b7646014e0d83 Christoph Hellwig 2021-08-26 29 struct inode inode; 1b7646014e0d83 Christoph Hellwig 2021-08-26 30 struct cdev cdev; 1b7646014e0d83 Christoph Hellwig 2021-08-26 31 void *private; 1b7646014e0d83 Christoph Hellwig 2021-08-26 32 unsigned long flags; 1b7646014e0d83 Christoph Hellwig 2021-08-26 33 const struct dax_operations *ops; 8012b866085523 Shiyang Ruan 2022-06-03 34 void *holder_data; 8012b866085523 Shiyang Ruan 2022-06-03 35 const struct dax_holder_operations *holder_ops; 63101913bbd057 Long Li 2024-02-07 36 63101913bbd057 Long Li 2024-02-07 37 KABI_RESERVE(1) 63101913bbd057 Long Li 2024-02-07 38 KABI_RESERVE(2) 63101913bbd057 Long Li 2024-02-07 39 KABI_RESERVE(3) 63101913bbd057 Long Li 2024-02-07 40 KABI_RESERVE(4) 63101913bbd057 Long Li 2024-02-07 41 KABI_RESERVE(5) 63101913bbd057 Long Li 2024-02-07 42 KABI_RESERVE(6) 63101913bbd057 Long Li 2024-02-07 43 KABI_RESERVE(7) 63101913bbd057 Long Li 2024-02-07 44 KABI_RESERVE(8) 1b7646014e0d83 Christoph Hellwig 2021-08-26 @45 }; 1b7646014e0d83 Christoph Hellwig 2021-08-26 46 :::::: The code at line 45 was first introduced by commit :::::: 1b7646014e0d838b06be7288e2dec3262948cc56 dax: mark dax_get_by_host static :::::: TO: Christoph Hellwig <hch(a)lst.de> :::::: CC: Dan Williams <dan.j.williams(a)intel.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3508/3508] drivers/firmware/uvb/odf/odf_trans.c:119:42: error: implicit declaration of function 'memremap'
by kernel test robot 12 Dec '25

12 Dec '25
Hi klmengkd, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: e440694adcf8b5ee8eab5914302130003d121a0e [3508/3508] uvb: change dir name config: arm64-randconfig-r112-20251210 (https://download.01.org/0day-ci/archive/20251212/202512120523.uRmzPGgB-lkp@…) compiler: aarch64-linux-gcc (GCC) 13.4.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251212/202512120523.uRmzPGgB-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/202512120523.uRmzPGgB-lkp@intel.com/ All error/warnings (new ones prefixed by >>): >> drivers/firmware/uvb/odf/odf_get_fdt.c:14:5: warning: no previous prototype for 'odf_get_fdt_ubiostbl' [-Wmissing-prototypes] 14 | int odf_get_fdt_ubiostbl(u64 *phys_addr, char *tbl) | ^~~~~~~~~~~~~~~~~~~~ -- >> drivers/firmware/uvb/odf/odf_trans.c:28:6: warning: no previous prototype for 'free_cis_info' [-Wmissing-prototypes] 28 | void free_cis_info(void) | ^~~~~~~~~~~~~ drivers/firmware/uvb/odf/odf_trans.c: In function 'create_cis_info_from_odf': >> drivers/firmware/uvb/odf/odf_trans.c:119:42: error: implicit declaration of function 'memremap' [-Werror=implicit-function-declaration] 119 | header = memremap(ubrt_table->sub_tables[i].pointer, | ^~~~~~~~ >> drivers/firmware/uvb/odf/odf_trans.c:120:73: error: 'MEMREMAP_WB' undeclared (first use in this function) 120 | sizeof(struct ubios_od_header), MEMREMAP_WB); | ^~~~~~~~~~~ drivers/firmware/uvb/odf/odf_trans.c:120:73: note: each undeclared identifier is reported only once for each function it appears in >> drivers/firmware/uvb/odf/odf_trans.c:126:33: error: implicit declaration of function 'memunmap'; did you mean 'memcmp'? [-Werror=implicit-function-declaration] 126 | memunmap(header); | ^~~~~~~~ | memcmp drivers/firmware/uvb/odf/odf_trans.c: In function 'create_uvb_info_from_odf': drivers/firmware/uvb/odf/odf_trans.c:304:73: error: 'MEMREMAP_WB' undeclared (first use in this function) 304 | sizeof(struct ubios_od_header), MEMREMAP_WB); | ^~~~~~~~~~~ drivers/firmware/uvb/odf/odf_trans.c: In function 'create_odf_info': drivers/firmware/uvb/odf/odf_trans.c:406:72: error: 'MEMREMAP_WB' undeclared (first use in this function) 406 | memremap(od_root_phys, sizeof(struct ubios_od_header), MEMREMAP_WB); | ^~~~~~~~~~~ cc1: some warnings being treated as errors -- >> drivers/firmware/uvb/odf/odf_helper.c:28:4: warning: no previous prototype for 'odf_read8' [-Wmissing-prototypes] 28 | u8 odf_read8(u8 *address) | ^~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:33:5: warning: no previous prototype for 'odf_read16' [-Wmissing-prototypes] 33 | u16 odf_read16(u8 *address) | ^~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:41:5: warning: no previous prototype for 'odf_read32' [-Wmissing-prototypes] 41 | u32 odf_read32(u8 *address) | ^~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:49:5: warning: no previous prototype for 'odf_read64' [-Wmissing-prototypes] 49 | u64 odf_read64(u8 *address) | ^~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:57:5: warning: no previous prototype for 'odf_checksum' [-Wmissing-prototypes] 57 | u32 odf_checksum(u8 *data, u32 size) | ^~~~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:86:6: warning: no previous prototype for 'odf_is_checksum_ok' [-Wmissing-prototypes] 86 | bool odf_is_checksum_ok(struct ubios_od_header *header) | ^~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:97:6: warning: no previous prototype for 'odf_update_checksum' [-Wmissing-prototypes] 97 | void odf_update_checksum(struct ubios_od_header *header) | ^~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:115:5: warning: no previous prototype for 'odf_separate_name' [-Wmissing-prototypes] 115 | int odf_separate_name(char **path, char *name, u64 max_len, u16 *index) | ^~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:179:6: warning: no previous prototype for 'odf_get_vs_by_pointer' [-Wmissing-prototypes] 179 | void odf_get_vs_by_pointer(u8 *data, struct ubios_od_value_struct *vs) | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:222:6: warning: no previous prototype for 'is_od_root_valid' [-Wmissing-prototypes] 222 | bool is_od_root_valid(struct ubios_od_root *root) | ^~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:242:6: warning: no previous prototype for 'is_od_file_valid' [-Wmissing-prototypes] 242 | bool is_od_file_valid(u8 *file) | ^~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/odf/odf_helper.c:267:5: warning: no previous prototype for 'odf_get_od_file' [-Wmissing-prototypes] 267 | u8 *odf_get_od_file(struct ubios_od_root *root, char *name) | ^~~~~~~~~~~~~~~ -- >> drivers/firmware/uvb/cis/cis_info_process.c:26:6: warning: no previous prototype for 'ubios_prepare_output_data' [-Wmissing-prototypes] 26 | void ubios_prepare_output_data(struct cis_message *io_param, void *output, u32 *output_size) | ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:45:5: warning: no previous prototype for 'get_cis_group_info' [-Wmissing-prototypes] 45 | int get_cis_group_info(u32 call_id, u32 receiver_id, | ^~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:87:23: warning: no previous prototype for 'search_local_cis_func_node' [-Wmissing-prototypes] 87 | struct cis_func_node *search_local_cis_func_node(u32 call_id, u32 receiver_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:163:32: warning: no previous prototype for 'uvb_occupy_window' [-Wmissing-prototypes] 163 | struct uvb_window_description *uvb_occupy_window(struct uvb *uvb, u32 sender_id, u64 *wd_obtain) | ^~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:225:6: warning: no previous prototype for 'uvb_free_wd_obtain' [-Wmissing-prototypes] 225 | void uvb_free_wd_obtain(u64 *wd_obtain) | ^~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:233:5: warning: no previous prototype for 'uvb_free_window' [-Wmissing-prototypes] 233 | int uvb_free_window(struct uvb_window *window) | ^~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:306:5: warning: no previous prototype for 'uvb_fill_window' [-Wmissing-prototypes] 306 | int uvb_fill_window(struct uvb_window_description *wd, struct uvb_window *wd_addr, | ^~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:331:5: warning: no previous prototype for 'uvb_poll_window_call' [-Wmissing-prototypes] 331 | int uvb_poll_window_call(struct uvb_window *window, u32 call_id) | ^~~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:353:5: warning: no previous prototype for 'uvb_poll_window_call_sync' [-Wmissing-prototypes] 353 | int uvb_poll_window_call_sync(struct uvb_window *window, u32 call_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:370:5: warning: no previous prototype for 'uvb_get_output_data' [-Wmissing-prototypes] 370 | int uvb_get_output_data(struct uvb_window *window, | ^~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:392:6: warning: no previous prototype for 'free_io_param_with_buffer' [-Wmissing-prototypes] 392 | void free_io_param_with_buffer(struct cis_message *io_param) | ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:402:5: warning: no previous prototype for 'cis_call_uvb' [-Wmissing-prototypes] 402 | int cis_call_uvb(u8 index, struct udfi_para *para) | ^~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_info_process.c:473:5: warning: no previous prototype for 'cis_call_uvb_sync' [-Wmissing-prototypes] 473 | int cis_call_uvb_sync(u8 index, struct udfi_para *para) | ^~~~~~~~~~~~~~~~~ -- >> drivers/firmware/uvb/cis/uvb_info_process.c:129:6: warning: no previous prototype for 'search_local_receiver_id' [-Wmissing-prototypes] 129 | bool search_local_receiver_id(u32 receiver_id) | ^~~~~~~~~~~~~~~~~~~~~~~~ -- >> drivers/firmware/uvb/cis/cis_core.c:25:5: warning: no previous prototype for 'create_uvb_poll_window_thread' [-Wmissing-prototypes] 25 | int create_uvb_poll_window_thread(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_core.c:38:6: warning: no previous prototype for 'uvb_poll_window_thread_stop' [-Wmissing-prototypes] 38 | void uvb_poll_window_thread_stop(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_core.c:86:5: warning: no previous prototype for 'init_uvb' [-Wmissing-prototypes] 86 | int init_uvb(void) | ^~~~~~~~ >> drivers/firmware/uvb/cis/cis_core.c:111:5: warning: no previous prototype for 'init_global_vars' [-Wmissing-prototypes] 111 | int init_global_vars(void) | ^~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_core.c:120:5: warning: no previous prototype for 'init_cis_table' [-Wmissing-prototypes] 120 | int init_cis_table(void) | ^~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_core.c:130:6: warning: no previous prototype for 'free_global_vars' [-Wmissing-prototypes] 130 | void free_global_vars(void) | ^~~~~~~~~~~~~~~~ >> drivers/firmware/uvb/cis/cis_core.c:136:6: warning: no previous prototype for 'uninit_uvb' [-Wmissing-prototypes] 136 | void uninit_uvb(void) | ^~~~~~~~~~ -- >> drivers/firmware/uvb/cis/uvb_info_process.c:18: warning: Cannot understand Calculate checksum in 4bytes, if size not aligned with 4bytes, padding with 0. on line 18 - I thought it was a doc line -- >> drivers/firmware/uvb/cis/cis_info_process.c:615: warning: expecting prototype for cis_call(). Prototype was for cis_call_by_uvb() instead -- >> drivers/firmware/uvb/odf/odf_helper.c:84: warning: Cannot understand Only calculate the valid data region on line 84 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_helper.c:175: warning: Cannot understand @brief Get a name/value structrue by the data pointer on line 175 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_helper.c:260: warning: Cannot understand @brief Search all pointer in od root, return the specific od file matched the input name. on line 260 - I thought it was a doc line -- >> drivers/firmware/uvb/odf/odf_data.c:16: warning: Cannot understand @brief Search and match one value name, return the pointer of value structrue if matched. on line 16 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:55: warning: Cannot understand Change value structure by index in a list, the name will not be changed, on line 55 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:70: warning: Cannot understand Change the value structure with index, move the pointer to the data indicated by index, on line 70 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:87: warning: Cannot understand Search one od file, input value path, output the value structure, contains value info on line 87 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:131: warning: Cannot understand Search all od file in the root, input value path, output the value structure, contains value info. on line 131 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:174: warning: Cannot understand @brief Get table information like row, colomn, sub types, .etc. on line 174 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:232: warning: Cannot understand @brief Get a value's offset in row of table, will check type first. on line 232 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:296: warning: Cannot understand @brief Get a value pointer from table according name and row, will check type first. on line 296 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:408: warning: Cannot understand @brief Get a ubios od value struct from od root according to the path on line 408 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:429: warning: Cannot understand @brief Get a list from od root, will return a list info structure. on line 429 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:473: warning: Cannot understand @brief Get a value structure from list by index. on line 473 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:546: warning: Cannot understand @brief Get next value of a list. on line 546 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:594: warning: Cannot understand Internal function, get data pointer by path and type. on line 594 - I thought it was a doc line >> drivers/firmware/uvb/odf/odf_data.c:686: warning: Cannot understand Get table in the value structure. on line 686 - I thought it was a doc line Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for HALTPOLL_CPUIDLE Depends on [n]: CPU_IDLE [=n] && ARCH_CPUIDLE_HALTPOLL [=y] && ARCH_HAS_OPTIMIZED_POLL [=y] Selected by [y]: - ARM64 [=y] sparse warnings: (new ones prefixed by >>) >> drivers/firmware/uvb/odf/odf_get_fdt.c:29:54: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __be32 const [usertype] *p @@ got unsigned int const [usertype] * @@ drivers/firmware/uvb/odf/odf_get_fdt.c:29:54: sparse: expected restricted __be32 const [usertype] *p drivers/firmware/uvb/odf/odf_get_fdt.c:29:54: sparse: got unsigned int const [usertype] * -- >> drivers/firmware/uvb/cis/uvb_info_process.c:129:6: sparse: sparse: symbol 'search_local_receiver_id' was not declared. Should it be static? -- >> drivers/firmware/uvb/cis/cis_core.c:25:5: sparse: sparse: symbol 'create_uvb_poll_window_thread' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_core.c:38:6: sparse: sparse: symbol 'uvb_poll_window_thread_stop' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_core.c:86:5: sparse: sparse: symbol 'init_uvb' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_core.c:111:5: sparse: sparse: symbol 'init_global_vars' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_core.c:120:5: sparse: sparse: symbol 'init_cis_table' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_core.c:130:6: sparse: sparse: symbol 'free_global_vars' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_core.c:136:6: sparse: sparse: symbol 'uninit_uvb' was not declared. Should it be static? -- >> drivers/firmware/uvb/cis/cis_info_process.c:23:1: sparse: sparse: symbol 'cis_register_lock' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:26:6: sparse: sparse: symbol 'ubios_prepare_output_data' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:45:5: sparse: sparse: symbol 'get_cis_group_info' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:87:22: sparse: sparse: symbol 'search_local_cis_func_node' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:163:31: sparse: sparse: symbol 'uvb_occupy_window' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:225:6: sparse: sparse: symbol 'uvb_free_wd_obtain' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:233:5: sparse: sparse: symbol 'uvb_free_window' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:306:5: sparse: sparse: symbol 'uvb_fill_window' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:331:5: sparse: sparse: symbol 'uvb_poll_window_call' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:353:5: sparse: sparse: symbol 'uvb_poll_window_call_sync' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:370:5: sparse: sparse: symbol 'uvb_get_output_data' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:392:6: sparse: sparse: symbol 'free_io_param_with_buffer' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:402:5: sparse: sparse: symbol 'cis_call_uvb' was not declared. Should it be static? >> drivers/firmware/uvb/cis/cis_info_process.c:473:5: sparse: sparse: symbol 'cis_call_uvb_sync' was not declared. Should it be static? vim +/memremap +119 drivers/firmware/uvb/odf/odf_trans.c 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 27 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 @28 void free_cis_info(void) 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 29 { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 30 u32 i; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 31 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 32 if (!g_cis_info) 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 33 return; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 34 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 35 for (i = 0; i < (g_cis_info)->group_count; i++) { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 36 if ((g_cis_info)->groups[i]) { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 37 kfree((g_cis_info)->groups[i]); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 38 (g_cis_info)->groups[i] = NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 39 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 40 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 41 kfree(g_cis_info); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 42 g_cis_info = NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 43 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 44 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 45 static struct cis_group *create_group_from_vs(struct ubios_od_value_struct *vs) 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 46 { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 47 struct ubios_od_list_info list; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 48 struct cis_group *group; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 49 int status; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 50 int i; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 51 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 52 status = odf_get_list_from_struct(vs, ODF_NAME_CIS_CALL_ID, &list); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 53 if (status) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 54 pr_err("create group: get [call id list] failed, err = %d\n", status); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 55 return NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 56 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 57 group = kzalloc(sizeof(struct cis_group) + (sizeof(u32) * list.count), GFP_KERNEL); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 58 if (!group) 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 59 return NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 60 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 61 status = odf_get_u32_from_struct(vs, ODF_NAME_CIS_OWNER, &(group->owner_user_id)); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 62 if (status) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 63 pr_err("create group: get [owner id] failed, err = %d\n", status); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 64 goto fail; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 65 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 66 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 67 status = odf_get_u8_from_struct(vs, ODF_NAME_CIS_USAGE, &(group->usage)); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 68 if (status) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 69 pr_err("create group: get [usage] failed, err = %d\n", status); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 70 goto fail; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 71 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 72 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 73 status = odf_get_u8_from_struct(vs, ODF_NAME_CIS_INDEX, &(group->index)); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 74 if (status) c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 75 pr_info("cis group not get [index], use default value\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 76 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 77 status = odf_get_u32_from_struct(vs, ODF_NAME_CIS_FORWARDER_ID, &(group->forwarder_id)); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 78 if (status) c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 79 pr_info("cis group not get forwarder, use default value\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 80 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 81 group->cis_count = list.count; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 82 for (i = 0; i < list.count; i++) { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 83 status = odf_get_u32_from_list(&list, i, &(group->call_id[i])); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 84 if (status) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 85 pr_err("create group: get each call id failed, err = %d\n", status); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 86 goto fail; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 87 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 88 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 89 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 90 return group; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 91 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 92 fail: 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 93 kfree(group); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 94 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 95 return NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 96 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 97 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 98 static int create_cis_info_from_odf(void) 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 99 { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 100 struct ubios_od_list_info list; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 101 struct ubios_od_value_struct vs; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 102 struct ubios_od_value_struct ub_vs; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 103 struct ubios_ubrt_table *ubrt_table = NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 104 struct acpi_table_header *table = NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 105 u8 *sub_table = NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 106 struct ubios_od_header *header = NULL; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 107 acpi_status status; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 108 int i = 0; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 109 int err = 0; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 110 u32 sub_table_size = 0; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 111 int ub_vs_err = 0; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 112 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 113 status = acpi_get_table(ACPI_SIG_UBRT, 0, &table); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 114 if (ACPI_SUCCESS(status)) { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 115 ubrt_table = (struct ubios_ubrt_table *)table; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 116 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 117 for (i = 0; i < ubrt_table->count; i++) { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 118 if (ubrt_table->sub_tables[i].type == UBRT_CALL_ID_SERVICE) { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 @119 header = memremap(ubrt_table->sub_tables[i].pointer, 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 @120 sizeof(struct ubios_od_header), MEMREMAP_WB); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 121 if (!header) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 122 pr_err("failed to map cis table to od header in ACPI\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 123 return -ENOMEM; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 124 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 125 sub_table_size = header->total_size; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 @126 memunmap(header); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 127 sub_table = (u8 *)memremap(ubrt_table->sub_tables[i].pointer, 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 128 sub_table_size, MEMREMAP_WB); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 129 break; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 130 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 131 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 132 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 133 if (!sub_table) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 134 pr_err("failed to get cis table address in ACPI\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 135 return -ENOMEM; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 136 } c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 137 pr_info("get cis sub table success\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 138 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 139 err = odf_get_list_from_table(sub_table, ODF_NAME_CIS_GROUP, &list); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 140 if (err) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 141 pr_err("create cis info from odf failed, group not found, err = %d\n", 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 142 err); c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 143 goto free_sub_table; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 144 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 145 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 146 ub_vs_err = odf_get_vs_from_table(sub_table, ODF_NAME_CIS_UB, &ub_vs); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 147 } else { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 148 err = odf_get_list(od_root, 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 149 ODF_FILE_NAME_CALL_ID_SERVICE "/" ODF_NAME_CIS_GROUP, &list); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 150 if (err) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 151 pr_err("create cis info from odf failed, group not found, err = %d\n", 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 152 err); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 153 return err; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 154 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 155 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 156 ub_vs_err = odf_get_struct(od_root, 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 157 ODF_FILE_NAME_CALL_ID_SERVICE "/" ODF_NAME_CIS_UB, &ub_vs); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 158 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 159 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 160 g_cis_info = kzalloc(sizeof(struct cis_info) + (sizeof(void *) * list.count), GFP_KERNEL); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 161 if (!g_cis_info) { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 162 err = -ENOMEM; c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 163 goto free_sub_table; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 164 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 165 g_cis_info->group_count = list.count; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 166 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 167 err = odf_get_data_from_list(&list, 0, &vs); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 168 if (err) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 169 pr_err("create cis info from odf failed: get data from CIS group failed, err = %d\n", 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 170 err); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 171 goto fail; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 172 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 173 for (i = 0; i < list.count; i++) { 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 174 g_cis_info->groups[i] = create_group_from_vs(&vs); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 175 if (!g_cis_info->groups[i]) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 176 pr_err("create cis group from odf failed\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 177 err = -ENODATA; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 178 goto fail; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 179 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 180 (void)odf_next_in_list(&list, &vs); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 181 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 182 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 183 if (!ub_vs_err) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 184 pr_info("found ub struct in cis info\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 185 err = odf_get_u8_from_struct(&ub_vs, ODF_NAME_CIS_USAGE, &(g_cis_info->ub.usage)); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 186 if (err) { c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 187 pr_err("create group: get [usage] failed, err = %d\n", status); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 188 goto fail; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 189 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 190 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 191 err = odf_get_u8_from_struct(&ub_vs, ODF_NAME_CIS_INDEX, &(g_cis_info->ub.index)); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 192 if (err) c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 193 pr_warn("ub struct not get [index], use default value\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 194 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 195 err = odf_get_u32_from_struct(&ub_vs, ODF_NAME_CIS_FORWARDER_ID, 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 196 &(g_cis_info->ub.forwarder_id)); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 197 if (err) c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 198 pr_warn("ub struct not get forwarder, use default value\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 199 } else c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 200 pr_warn("not found ub struct in cis info\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 201 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 202 if (sub_table) 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 203 memunmap(sub_table); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 204 c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 205 pr_info("get cis table from odf success\n"); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 206 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 207 return 0; c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 208 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 209 fail: c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 210 free_cis_info(); c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 211 free_sub_table: 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 212 if (sub_table) 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 213 memunmap(sub_table); 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 214 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 215 return err; 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 216 } 24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 217 :::::: The code at line 119 was first introduced by commit :::::: 24fa96b6e010d05e59d99562a415b1a64544e292 ubios_uvb: support UBIOS object description specification parse :::::: TO: Anonymous_Z <zhangrui182(a)huawei.com> :::::: CC: t30009442 <tangce1(a)huawei.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3534/3534] kernel/cpu.c:2684: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
by kernel test robot 12 Dec '25

12 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: b36171d783908f2ef26ccfcd757d4954a69955ab [3534/3534] cpu/SMT: Enable SMT only if a core is online config: x86_64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251211/202512112250.VVvi0O0a-lkp@…) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251211/202512112250.VVvi0O0a-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/202512112250.VVvi0O0a-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/cpu.c:2684: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst * Check if the core a CPU belongs to is online vim +2684 kernel/cpu.c 2682 2683 /** > 2684 * Check if the core a CPU belongs to is online 2685 */ 2686 #if !defined(topology_is_core_online) 2687 static inline bool topology_is_core_online(unsigned int cpu) 2688 { 2689 return true; 2690 } 2691 #endif 2692 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3508/3508] htmldocs: ./include/drm/drm_fourcc.h:149: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_format_info'
by kernel test robot 12 Dec '25

12 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: 2ca47cd62ebb51e337e558943c1d23e4a5f2fbcf [3508/3508] drm: drm_fourcc.h: Add kabi_reserve reproduce: (https://download.01.org/0day-ci/archive/20251211/202512112225.hE3xUWyq-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/202512112225.hE3xUWyq-lkp@intel.com/ All warnings (new ones prefixed by >>): ./include/drm/drm_client.h:163: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_client_buffer' ./include/drm/drm_atomic.h:246: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_private_state_funcs' ./include/drm/drm_atomic.h:347: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_private_state' ./include/drm/drm_crtc.h:392: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_crtc_state' ./include/drm/drm_crtc.h:1185: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_crtc' >> ./include/drm/drm_fourcc.h:149: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_format_info' ./include/drm/drm_connector.h:328: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_hdmi_info' ./include/drm/drm_connector.h:531: warning: Enum value 'DRM_MODE_COLORIMETRY_COUNT' not described in enum 'drm_colorspace' ./include/drm/drm_connector.h:826: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_display_info' ./include/drm/drm_connector.h:888: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_tv_connector_state' ./include/drm/drm_connector.h:1350: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_connector_funcs' vim +149 ./include/drm/drm_fourcc.h 6a0f9ebfc5e753 Ville Syrjälä 2017-03-21 59 84770cc24f3a51 Laurent Pinchart 2016-10-18 60 /** 84770cc24f3a51 Laurent Pinchart 2016-10-18 61 * struct drm_format_info - information about a DRM format 84770cc24f3a51 Laurent Pinchart 2016-10-18 62 */ 84770cc24f3a51 Laurent Pinchart 2016-10-18 63 struct drm_format_info { 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 64 /** @format: 4CC format identifier (DRM_FORMAT_*) */ 84770cc24f3a51 Laurent Pinchart 2016-10-18 65 u32 format; 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 66 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 67 /** 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 68 * @depth: 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 69 * 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 70 * Color depth (number of bits per pixel excluding padding bits), 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 71 * valid for a subset of RGB formats only. This is a legacy field, do 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 72 * not use in new code and set to 0 for new formats. 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 73 */ 84770cc24f3a51 Laurent Pinchart 2016-10-18 74 u8 depth; 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 75 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 76 /** @num_planes: Number of color planes (1 to 3) */ 84770cc24f3a51 Laurent Pinchart 2016-10-18 77 u8 num_planes; 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 78 042bf753842ddb Alexandru Gheorghe 2018-11-01 79 union { 042bf753842ddb Alexandru Gheorghe 2018-11-01 80 /** 042bf753842ddb Alexandru Gheorghe 2018-11-01 81 * @cpp: 042bf753842ddb Alexandru Gheorghe 2018-11-01 82 * 042bf753842ddb Alexandru Gheorghe 2018-11-01 83 * Number of bytes per pixel (per plane), this is aliased with 042bf753842ddb Alexandru Gheorghe 2018-11-01 84 * @char_per_block. It is deprecated in favour of using the 042bf753842ddb Alexandru Gheorghe 2018-11-01 85 * triplet @char_per_block, @block_w, @block_h for better 042bf753842ddb Alexandru Gheorghe 2018-11-01 86 * describing the pixel format. 042bf753842ddb Alexandru Gheorghe 2018-11-01 87 */ 279cc2e9543eb3 Thomas Zimmermann 2021-07-30 88 u8 cpp[DRM_FORMAT_MAX_PLANES]; 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 89 042bf753842ddb Alexandru Gheorghe 2018-11-01 90 /** 042bf753842ddb Alexandru Gheorghe 2018-11-01 91 * @char_per_block: 042bf753842ddb Alexandru Gheorghe 2018-11-01 92 * 042bf753842ddb Alexandru Gheorghe 2018-11-01 93 * Number of bytes per block (per plane), where blocks are 042bf753842ddb Alexandru Gheorghe 2018-11-01 94 * defined as a rectangle of pixels which are stored next to 042bf753842ddb Alexandru Gheorghe 2018-11-01 95 * each other in a byte aligned memory region. Together with 042bf753842ddb Alexandru Gheorghe 2018-11-01 96 * @block_w and @block_h this is used to properly describe tiles 042bf753842ddb Alexandru Gheorghe 2018-11-01 97 * in tiled formats or to describe groups of pixels in packed 042bf753842ddb Alexandru Gheorghe 2018-11-01 98 * formats for which the memory needed for a single pixel is not 042bf753842ddb Alexandru Gheorghe 2018-11-01 99 * byte aligned. 042bf753842ddb Alexandru Gheorghe 2018-11-01 100 * 042bf753842ddb Alexandru Gheorghe 2018-11-01 101 * @cpp has been kept for historical reasons because there are 042bf753842ddb Alexandru Gheorghe 2018-11-01 102 * a lot of places in drivers where it's used. In drm core for 042bf753842ddb Alexandru Gheorghe 2018-11-01 103 * generic code paths the preferred way is to use 042bf753842ddb Alexandru Gheorghe 2018-11-01 104 * @char_per_block, drm_format_info_block_width() and 042bf753842ddb Alexandru Gheorghe 2018-11-01 105 * drm_format_info_block_height() which allows handling both 042bf753842ddb Alexandru Gheorghe 2018-11-01 106 * block and non-block formats in the same way. 042bf753842ddb Alexandru Gheorghe 2018-11-01 107 * 042bf753842ddb Alexandru Gheorghe 2018-11-01 108 * For formats that are intended to be used only with non-linear 042bf753842ddb Alexandru Gheorghe 2018-11-01 109 * modifiers both @cpp and @char_per_block must be 0 in the 042bf753842ddb Alexandru Gheorghe 2018-11-01 110 * generic format table. Drivers could supply accurate 042bf753842ddb Alexandru Gheorghe 2018-11-01 111 * information from their drm_mode_config.get_format_info hook 042bf753842ddb Alexandru Gheorghe 2018-11-01 112 * if they want the core to be validating the pitch. 042bf753842ddb Alexandru Gheorghe 2018-11-01 113 */ 279cc2e9543eb3 Thomas Zimmermann 2021-07-30 114 u8 char_per_block[DRM_FORMAT_MAX_PLANES]; 042bf753842ddb Alexandru Gheorghe 2018-11-01 115 }; 042bf753842ddb Alexandru Gheorghe 2018-11-01 116 042bf753842ddb Alexandru Gheorghe 2018-11-01 117 /** 042bf753842ddb Alexandru Gheorghe 2018-11-01 118 * @block_w: 042bf753842ddb Alexandru Gheorghe 2018-11-01 119 * 042bf753842ddb Alexandru Gheorghe 2018-11-01 120 * Block width in pixels, this is intended to be accessed through 042bf753842ddb Alexandru Gheorghe 2018-11-01 121 * drm_format_info_block_width() 042bf753842ddb Alexandru Gheorghe 2018-11-01 122 */ 279cc2e9543eb3 Thomas Zimmermann 2021-07-30 123 u8 block_w[DRM_FORMAT_MAX_PLANES]; 042bf753842ddb Alexandru Gheorghe 2018-11-01 124 042bf753842ddb Alexandru Gheorghe 2018-11-01 125 /** 042bf753842ddb Alexandru Gheorghe 2018-11-01 126 * @block_h: 042bf753842ddb Alexandru Gheorghe 2018-11-01 127 * 042bf753842ddb Alexandru Gheorghe 2018-11-01 128 * Block height in pixels, this is intended to be accessed through 042bf753842ddb Alexandru Gheorghe 2018-11-01 129 * drm_format_info_block_height() 042bf753842ddb Alexandru Gheorghe 2018-11-01 130 */ 279cc2e9543eb3 Thomas Zimmermann 2021-07-30 131 u8 block_h[DRM_FORMAT_MAX_PLANES]; 042bf753842ddb Alexandru Gheorghe 2018-11-01 132 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 133 /** @hsub: Horizontal chroma subsampling factor */ 84770cc24f3a51 Laurent Pinchart 2016-10-18 134 u8 hsub; 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 135 /** @vsub: Vertical chroma subsampling factor */ 84770cc24f3a51 Laurent Pinchart 2016-10-18 136 u8 vsub; 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 137 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 138 /** @has_alpha: Does the format embeds an alpha component? */ 4cc4e1b40f3ff5 Maxime Ripard 2017-12-22 139 bool has_alpha; 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 140 9c71a6686bfa4b Alexandru Gheorghe 2018-10-19 141 /** @is_yuv: Is it a YUV format? */ ce2d54619a1078 Ayan Kumar Halder 2018-07-17 142 bool is_yuv; dc1dc76bd9a48c Geert Uytterhoeven 2022-07-08 143 dc1dc76bd9a48c Geert Uytterhoeven 2022-07-08 144 /** @is_color_indexed: Is it a color-indexed format? */ dc1dc76bd9a48c Geert Uytterhoeven 2022-07-08 145 bool is_color_indexed; 2ca47cd62ebb51 Lin Yujun 2024-02-04 146 2ca47cd62ebb51 Lin Yujun 2024-02-04 147 KABI_RESERVE(1) 2ca47cd62ebb51 Lin Yujun 2024-02-04 148 KABI_RESERVE(2) 84770cc24f3a51 Laurent Pinchart 2016-10-18 @149 }; 84770cc24f3a51 Laurent Pinchart 2016-10-18 150 :::::: The code at line 149 was first introduced by commit :::::: 84770cc24f3a51c05055665feeac1dcf22119d69 drm: Centralize format information :::::: TO: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com> :::::: CC: Archit Taneja <architt(a)codeaurora.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3534/3534] htmldocs: Documentation/translations/zh_TW/dev-tools/index.rst:21: WARNING: toctree contains reference to nonexisting document 'translations/zh_TW/dev-tools/sparse' [toc.not_readable]
by kernel test robot 12 Dec '25

12 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: b5ddf23d827cd42071866cc3bf265044c87e4ca9 [3534/3534] docs: kernel_feat.py: fix build error for missing files reproduce: (https://download.01.org/0day-ci/archive/20251211/202512112120.v8ybUBJh-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/202512112120.v8ybUBJh-lkp@intel.com/ All warnings (new ones prefixed by >>): KASLR for Freescale BookE32 ------------------------- [docutils] WARNING: kernel-doc './scripts/kernel-doc -rst -enable-lineno -sphinx-version 8.2.3 ./include/linux/fprobe.h' failed with return code 1 WARNING: kernel-doc './scripts/kernel-doc -rst -enable-lineno -sphinx-version 8.2.3 -internal ./include/linux/mutex.h' failed with return code 2 >> Documentation/translations/zh_TW/dev-tools/index.rst:21: WARNING: toctree contains reference to nonexisting document 'translations/zh_TW/dev-tools/sparse' [toc.not_readable] vim +21 Documentation/translations/zh_TW/dev-tools/index.rst a149733d00db3a Min-Hua Chen 2024-03-20 18 a149733d00db3a Min-Hua Chen 2024-03-20 19 目錄 a149733d00db3a Min-Hua Chen 2024-03-20 20 a149733d00db3a Min-Hua Chen 2024-03-20 @21 .. toctree:: :::::: The code at line 21 was first introduced by commit :::::: a149733d00db3a31a18e7818c361617daecdfa1f docs: sparse: add sparse.rst to toctree :::::: TO: Min-Hua Chen <minhuadotchen(a)gmail.com> :::::: CC: Ma Wupeng <mawupeng1(a)huawei.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3534/3534] kernel/locking/mutex.c:623:6: warning: variable 'ifs_clock' is used uninitialized whenever 'if' condition is true
by kernel test robot 12 Dec '25

12 Dec '25
Hi Pu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: a1ad9b2ed459a3e3a4a2de50e03f53036fc7ec96 [3534/3534] interference: Add mutex interference track support config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251211/202512112149.942egSDc-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 4125e73cdc6188cca4c1c72b72e2b2d85c157483) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251211/202512112149.942egSDc-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/202512112149.942egSDc-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from <built-in>:3: In file included from ././include/linux/compiler_types.h:150: ./include/linux/compiler-clang.h:33:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 33 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:367:9: note: previous definition is here 367 | #define __SANITIZE_ADDRESS__ 1 | ^ >> kernel/locking/mutex.c:623:6: warning: variable 'ifs_clock' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 623 | if (__mutex_trylock(lock)) { | ^~~~~~~~~~~~~~~~~~~~~ kernel/locking/mutex.c:725:24: note: uninitialized use occurs here 725 | cgroup_ifs_leave_lock(ifs_clock, IFS_MUTEX); | ^~~~~~~~~ kernel/locking/mutex.c:623:2: note: remove the 'if' if its condition is always false 623 | if (__mutex_trylock(lock)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 624 | if (ww_ctx) | ~~~~~~~~~~~ 625 | __ww_mutex_check_waiters(lock, ww_ctx); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 626 | 627 | goto skip_wait; | ~~~~~~~~~~~~~~~ 628 | } | ~ kernel/locking/mutex.c:576:15: note: initialize the variable 'ifs_clock' to silence this warning 576 | u64 ifs_clock; | ^ | = 0 2 warnings generated. vim +623 kernel/locking/mutex.c 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 565 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 566 /* 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 567 * Lock a mutex (possibly interruptible), slowpath: 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 568 */ 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 569 static __always_inline int __sched 2f064a59a11ff9 kernel/locking/mutex.c Peter Zijlstra 2021-06-11 570 __mutex_lock_common(struct mutex *lock, unsigned int state, unsigned int subclass, 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 571 struct lockdep_map *nest_lock, unsigned long ip, b0267507dfd018 kernel/mutex.c Tetsuo Handa 2013-10-17 572 struct ww_acquire_ctx *ww_ctx, const bool use_ww_ctx) 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 573 { 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 574 struct mutex_waiter waiter; a40ca56577f628 kernel/locking/mutex.c Waiman Long 2016-08-26 575 struct ww_mutex *ww; a1ad9b2ed459a3 kernel/locking/mutex.c Pu Lehui 2025-07-16 576 u64 ifs_clock; 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 577 int ret; 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 578 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 579 if (!use_ww_ctx) 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 580 ww_ctx = NULL; 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 581 427b18207a87f6 kernel/locking/mutex.c Peter Zijlstra 2016-12-23 582 might_sleep(); ea9e0fb8fe1bdf kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 583 e6b4457b05f36b kernel/locking/mutex.c Peter Zijlstra 2021-06-30 584 MUTEX_WARN_ON(lock->magic != lock); 6c11c6e3d5e9e5 kernel/locking/mutex.c Sebastian Andrzej Siewior 2019-07-03 585 a40ca56577f628 kernel/locking/mutex.c Waiman Long 2016-08-26 586 ww = container_of(lock, struct ww_mutex, base); 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 587 if (ww_ctx) { 0422e83d84ae24 kernel/locking/mutex.c Chris Wilson 2016-05-26 588 if (unlikely(ww_ctx == READ_ONCE(ww->ctx))) 0422e83d84ae24 kernel/locking/mutex.c Chris Wilson 2016-05-26 589 return -EALREADY; 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 590 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 591 /* 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 592 * Reset the wounded flag after a kill. No other process can 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 593 * race and wound us here since they can't have a valid owner 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 594 * pointer if we don't have any locks held. 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 595 */ 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 596 if (ww_ctx->acquired == 0) 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 597 ww_ctx->wounded = 0; cf702eddcd03dc kernel/locking/mutex.c Peter Zijlstra 2021-08-15 598 cf702eddcd03dc kernel/locking/mutex.c Peter Zijlstra 2021-08-15 599 #ifdef CONFIG_DEBUG_LOCK_ALLOC cf702eddcd03dc kernel/locking/mutex.c Peter Zijlstra 2021-08-15 600 nest_lock = &ww_ctx->dep_map; cf702eddcd03dc kernel/locking/mutex.c Peter Zijlstra 2021-08-15 601 #endif 0422e83d84ae24 kernel/locking/mutex.c Chris Wilson 2016-05-26 602 } 0422e83d84ae24 kernel/locking/mutex.c Chris Wilson 2016-05-26 603 41719b03091911 kernel/mutex.c Peter Zijlstra 2009-01-14 604 preempt_disable(); e4c70a6629f9c7 kernel/mutex.c Peter Zijlstra 2011-05-24 605 mutex_acquire_nest(&lock->dep_map, subclass, 0, nest_lock, ip); c02260277e4720 kernel/mutex.c Frederic Weisbecker 2009-12-02 606 dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 607 trace_contention_begin(lock, LCB_F_MUTEX | LCB_F_SPIN); e274795ea7b7ca kernel/locking/mutex.c Peter Zijlstra 2017-01-11 608 if (__mutex_trylock(lock) || 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 609 mutex_optimistic_spin(lock, ww_ctx, NULL)) { 76916515d9d84e kernel/locking/mutex.c Davidlohr Bueso 2014-07-30 610 /* got the lock, yay! */ 3ca0ff571b092e kernel/locking/mutex.c Peter Zijlstra 2016-08-23 611 lock_acquired(&lock->dep_map, ip); 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 612 if (ww_ctx) 3ca0ff571b092e kernel/locking/mutex.c Peter Zijlstra 2016-08-23 613 ww_mutex_set_context_fastpath(ww, ww_ctx); dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 614 trace_contention_end(lock, 0); ac6e60ee405aa3 kernel/mutex.c Chris Mason 2009-01-14 615 preempt_enable(); ac6e60ee405aa3 kernel/mutex.c Chris Mason 2009-01-14 616 return 0; ac6e60ee405aa3 kernel/mutex.c Chris Mason 2009-01-14 617 } ac6e60ee405aa3 kernel/mutex.c Chris Mason 2009-01-14 618 ebf4c55c1ddbab kernel/locking/mutex.c Thomas Gleixner 2021-08-15 619 raw_spin_lock(&lock->wait_lock); 1e820c9608eace kernel/locking/mutex.c Jason Low 2014-06-11 620 /* 3ca0ff571b092e kernel/locking/mutex.c Peter Zijlstra 2016-08-23 621 * After waiting to acquire the wait_lock, try again. 1e820c9608eace kernel/locking/mutex.c Jason Low 2014-06-11 622 */ 659cf9f5824a12 kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 @623 if (__mutex_trylock(lock)) { 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 624 if (ww_ctx) 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 625 __ww_mutex_check_waiters(lock, ww_ctx); 659cf9f5824a12 kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 626 ec83f425dbca47 kernel/mutex.c Davidlohr Bueso 2013-06-28 627 goto skip_wait; 659cf9f5824a12 kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 628 } ec83f425dbca47 kernel/mutex.c Davidlohr Bueso 2013-06-28 629 9a11b49a805665 kernel/mutex.c Ingo Molnar 2006-07-03 630 debug_mutex_lock_common(lock, &waiter); c0afb0ffc06e6b kernel/locking/mutex.c Peter Zijlstra 2021-08-15 631 waiter.task = current; b857174e68e26f kernel/locking/mutex.c Sebastian Andrzej Siewior 2021-08-19 632 if (use_ww_ctx) c0afb0ffc06e6b kernel/locking/mutex.c Peter Zijlstra 2021-08-15 633 waiter.ww_ctx = ww_ctx; 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 634 6baa5c60a97d7f kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 635 lock_contended(&lock->dep_map, ip); 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 636 6baa5c60a97d7f kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 637 if (!use_ww_ctx) { 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 638 /* add waiting tasks to the end of the waitqueue (FIFO): */ 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 639 __mutex_add_waiter(lock, &waiter, &lock->wait_list); 6baa5c60a97d7f kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 640 } else { 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 641 /* 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 642 * Add in stamp order, waking up waiters that must kill 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 643 * themselves. 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 644 */ 6baa5c60a97d7f kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 645 ret = __ww_mutex_add_waiter(&waiter, lock, ww_ctx); 6baa5c60a97d7f kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 646 if (ret) 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 647 goto err_early_kill; 6baa5c60a97d7f kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 648 } 6baa5c60a97d7f kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 649 642fa448ae6b3a kernel/locking/mutex.c Davidlohr Bueso 2017-01-03 650 set_current_state(state); dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 651 trace_contention_begin(lock, LCB_F_MUTEX); a1ad9b2ed459a3 kernel/locking/mutex.c Pu Lehui 2025-07-16 652 cgroup_ifs_enter_lock(&ifs_clock); 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 653 for (;;) { 048661a1f963e9 kernel/locking/mutex.c Peter Zijlstra 2021-06-30 654 bool first; 048661a1f963e9 kernel/locking/mutex.c Peter Zijlstra 2021-06-30 655 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 656 /* 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 657 * Once we hold wait_lock, we're serialized against 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 658 * mutex_unlock() handing the lock off to us, do a trylock 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 659 * before testing the error conditions to make sure we pick up 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 660 * the handoff. 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 661 */ e274795ea7b7ca kernel/locking/mutex.c Peter Zijlstra 2017-01-11 662 if (__mutex_trylock(lock)) 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 663 goto acquired; 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 664 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 665 /* 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 666 * Check for signals and kill conditions while holding 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 667 * wait_lock. This ensures the lock cancellation is ordered 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 668 * against mutex_unlock() and wake-ups do not go missing. 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 669 */ 3bb5f4ac55dd91 kernel/locking/mutex.c Davidlohr Bueso 2019-01-03 670 if (signal_pending_state(state, current)) { 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 671 ret = -EINTR; 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 672 goto err; 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 673 } 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 674 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 675 if (ww_ctx) { 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 676 ret = __ww_mutex_check_kill(lock, &waiter, ww_ctx); 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 677 if (ret) 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 678 goto err; 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 679 } 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 680 ebf4c55c1ddbab kernel/locking/mutex.c Thomas Gleixner 2021-08-15 681 raw_spin_unlock(&lock->wait_lock); bd2f55361f1834 kernel/mutex.c Thomas Gleixner 2011-03-21 682 schedule_preempt_disabled(); 9d659ae14b545c kernel/locking/mutex.c Peter Zijlstra 2016-08-23 683 6baa5c60a97d7f kernel/locking/mutex.c Nicolai Hähnle 2016-12-21 684 first = __mutex_waiter_is_first(lock, &waiter); 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 685 642fa448ae6b3a kernel/locking/mutex.c Davidlohr Bueso 2017-01-03 686 set_current_state(state); 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 687 /* 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 688 * Here we order against unlock; we must either see it change 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 689 * state back to RUNNING and fall through the next schedule(), 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 690 * or we must see its unlock and acquire. 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 691 */ dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 692 if (__mutex_trylock_or_handoff(lock, first)) dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 693 break; dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 694 dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 695 if (first) { dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 696 trace_contention_begin(lock, LCB_F_MUTEX | LCB_F_SPIN); dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 697 if (mutex_optimistic_spin(lock, ww_ctx, &waiter)) 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 698 break; dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 699 trace_contention_begin(lock, LCB_F_MUTEX); dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 700 } 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 701 ebf4c55c1ddbab kernel/locking/mutex.c Thomas Gleixner 2021-08-15 702 raw_spin_lock(&lock->wait_lock); 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 703 } ebf4c55c1ddbab kernel/locking/mutex.c Thomas Gleixner 2021-08-15 704 raw_spin_lock(&lock->wait_lock); 5bbd7e64437833 kernel/locking/mutex.c Peter Zijlstra 2016-09-02 705 acquired: 642fa448ae6b3a kernel/locking/mutex.c Davidlohr Bueso 2017-01-03 706 __set_current_state(TASK_RUNNING); 51587bcf31d070 kernel/locking/mutex.c Davidlohr Bueso 2015-01-19 707 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 708 if (ww_ctx) { 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 709 /* 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 710 * Wound-Wait; we stole the lock (!first_waiter), check the 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 711 * waiters as anyone might want to wound us. 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 712 */ 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 713 if (!ww_ctx->is_wait_die && 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 714 !__mutex_waiter_is_first(lock, &waiter)) 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 715 __ww_mutex_check_waiters(lock, ww_ctx); 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 716 } 08295b3b5beec9 kernel/locking/mutex.c Thomas Hellstrom 2018-06-15 717 3a010c493271f0 kernel/locking/mutex.c Zqiang 2021-05-17 718 __mutex_remove_waiter(lock, &waiter); 3ca0ff571b092e kernel/locking/mutex.c Peter Zijlstra 2016-08-23 719 ec83f425dbca47 kernel/mutex.c Davidlohr Bueso 2013-06-28 720 debug_mutex_free_waiter(&waiter); 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 721 ec83f425dbca47 kernel/mutex.c Davidlohr Bueso 2013-06-28 722 skip_wait: ec83f425dbca47 kernel/mutex.c Davidlohr Bueso 2013-06-28 723 /* got the lock - cleanup and rejoice! */ c7e78cff6b7518 kernel/mutex.c Peter Zijlstra 2008-10-16 724 lock_acquired(&lock->dep_map, ip); a1ad9b2ed459a3 kernel/locking/mutex.c Pu Lehui 2025-07-16 725 cgroup_ifs_leave_lock(ifs_clock, IFS_MUTEX); ee042be16cb455 kernel/locking/mutex.c Namhyung Kim 2022-03-22 726 trace_contention_end(lock, 0); 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 727 5de2055d31ea88 kernel/locking/mutex.c Waiman Long 2021-03-16 728 if (ww_ctx) 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 729 ww_mutex_lock_acquired(ww, ww_ctx); 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 730 ebf4c55c1ddbab kernel/locking/mutex.c Thomas Gleixner 2021-08-15 731 raw_spin_unlock(&lock->wait_lock); 41719b03091911 kernel/mutex.c Peter Zijlstra 2009-01-14 732 preempt_enable(); 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 733 return 0; 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 734 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 735 err: 642fa448ae6b3a kernel/locking/mutex.c Davidlohr Bueso 2017-01-03 736 __set_current_state(TASK_RUNNING); 3a010c493271f0 kernel/locking/mutex.c Zqiang 2021-05-17 737 __mutex_remove_waiter(lock, &waiter); 55f036ca7e74b8 kernel/locking/mutex.c Peter Ziljstra 2018-06-15 738 err_early_kill: a1ad9b2ed459a3 kernel/locking/mutex.c Pu Lehui 2025-07-16 739 cgroup_ifs_leave_lock(ifs_clock, IFS_MUTEX); dc1f7893a70fe4 kernel/locking/mutex.c Peter Zijlstra 2022-03-30 740 trace_contention_end(lock, ret); ebf4c55c1ddbab kernel/locking/mutex.c Thomas Gleixner 2021-08-15 741 raw_spin_unlock(&lock->wait_lock); 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 742 debug_mutex_free_waiter(&waiter); 5facae4f3549b5 kernel/locking/mutex.c Qian Cai 2019-09-19 743 mutex_release(&lock->dep_map, ip); 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 744 preempt_enable(); 040a0a37100563 kernel/mutex.c Maarten Lankhorst 2013-06-24 745 return ret; 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 746 } 6053ee3b32e343 kernel/mutex.c Ingo Molnar 2006-01-09 747 :::::: The code at line 623 was first introduced by commit :::::: 659cf9f5824a12e6b50785e4e9cf1adf8a3adbd0 locking/ww_mutex: Optimize ww-mutexes by waking at most one waiter for backoff when acquiring the lock :::::: TO: Nicolai Hähnle <Nicolai.Haehnle(a)amd.com> :::::: CC: Ingo Molnar <mingo(a)kernel.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3536/3536] net/ipv4/tcp_comp.c:740:6: warning: no previous prototype for function 'comp_stream_read'
by kernel test robot 12 Dec '25

12 Dec '25
Hi Lu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: c31dcf6c5ab41f07da38d3f270987807735ec93e [3536/3536] tcp_comp: implement tcp compression config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20251212/202512120305.ngE1OnFo-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/20251212/202512120305.ngE1OnFo-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/202512120305.ngE1OnFo-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:21: In file included from include/linux/kallsyms.h:13: 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 + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ >> 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
[openeuler:OLK-6.6 3534/3534] arch/x86/entry/common.c:163: warning: Function parameter or member 'regs' not described in 'do_int80_emulation'
by kernel test robot 12 Dec '25

12 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: 93117cefb1a33b3c93d9450d966ce333f5e4a4a8 [3534/3534] x86/bhi: Add support for clearing branch history at syscall entry config: x86_64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251211/202512111900.HRlObqRh-lkp@…) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251211/202512111900.HRlObqRh-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/202512111900.HRlObqRh-lkp@intel.com/ All warnings (new ones prefixed by >>): >> arch/x86/entry/common.c:163: warning: Function parameter or member 'regs' not described in 'do_int80_emulation' vim +163 arch/x86/entry/common.c ae4c9ae1882092 Thomas Gleixner 2024-01-02 142 e0df47ab7f352c Thomas Gleixner 2024-01-02 143 /** 93117cefb1a33b Pawan Gupta 2024-05-07 144 * do_int80_emulation - 32-bit legacy syscall C entry from asm e0df47ab7f352c Thomas Gleixner 2024-01-02 145 * e0df47ab7f352c Thomas Gleixner 2024-01-02 146 * This entry point can be used by 32-bit and 64-bit programs to perform e0df47ab7f352c Thomas Gleixner 2024-01-02 147 * 32-bit system calls. Instances of INT $0x80 can be found inline in e0df47ab7f352c Thomas Gleixner 2024-01-02 148 * various programs and libraries. It is also used by the vDSO's e0df47ab7f352c Thomas Gleixner 2024-01-02 149 * __kernel_vsyscall fallback for hardware that doesn't support a faster e0df47ab7f352c Thomas Gleixner 2024-01-02 150 * entry method. Restarted 32-bit system calls also fall back to INT e0df47ab7f352c Thomas Gleixner 2024-01-02 151 * $0x80 regardless of what instruction was originally used to do the e0df47ab7f352c Thomas Gleixner 2024-01-02 152 * system call. e0df47ab7f352c Thomas Gleixner 2024-01-02 153 * e0df47ab7f352c Thomas Gleixner 2024-01-02 154 * This is considered a slow path. It is not used by most libc e0df47ab7f352c Thomas Gleixner 2024-01-02 155 * implementations on modern hardware except during process startup. e0df47ab7f352c Thomas Gleixner 2024-01-02 156 * e0df47ab7f352c Thomas Gleixner 2024-01-02 157 * The arguments for the INT $0x80 based syscall are on stack in the e0df47ab7f352c Thomas Gleixner 2024-01-02 158 * pt_regs structure: e0df47ab7f352c Thomas Gleixner 2024-01-02 159 * eax: system call number e0df47ab7f352c Thomas Gleixner 2024-01-02 160 * ebx, ecx, edx, esi, edi, ebp: arg1 - arg 6 e0df47ab7f352c Thomas Gleixner 2024-01-02 161 */ 93117cefb1a33b Pawan Gupta 2024-05-07 162 __visible noinstr void do_int80_emulation(struct pt_regs *regs) e0df47ab7f352c Thomas Gleixner 2024-01-02 @163 { e0df47ab7f352c Thomas Gleixner 2024-01-02 164 int nr; e0df47ab7f352c Thomas Gleixner 2024-01-02 165 ae4c9ae1882092 Thomas Gleixner 2024-01-02 166 /* Kernel does not use INT $0x80! */ ae4c9ae1882092 Thomas Gleixner 2024-01-02 167 if (unlikely(!user_mode(regs))) { ae4c9ae1882092 Thomas Gleixner 2024-01-02 168 irqentry_enter(regs); ae4c9ae1882092 Thomas Gleixner 2024-01-02 169 instrumentation_begin(); ae4c9ae1882092 Thomas Gleixner 2024-01-02 170 panic("Unexpected external interrupt 0x80\n"); ae4c9ae1882092 Thomas Gleixner 2024-01-02 171 } ae4c9ae1882092 Thomas Gleixner 2024-01-02 172 ae4c9ae1882092 Thomas Gleixner 2024-01-02 173 /* ae4c9ae1882092 Thomas Gleixner 2024-01-02 174 * Establish kernel context for instrumentation, including for ae4c9ae1882092 Thomas Gleixner 2024-01-02 175 * int80_is_external() below which calls into the APIC driver. ae4c9ae1882092 Thomas Gleixner 2024-01-02 176 * Identical for soft and external interrupts. ae4c9ae1882092 Thomas Gleixner 2024-01-02 177 */ e0df47ab7f352c Thomas Gleixner 2024-01-02 178 enter_from_user_mode(regs); e0df47ab7f352c Thomas Gleixner 2024-01-02 179 e0df47ab7f352c Thomas Gleixner 2024-01-02 180 instrumentation_begin(); e0df47ab7f352c Thomas Gleixner 2024-01-02 181 add_random_kstack_offset(); e0df47ab7f352c Thomas Gleixner 2024-01-02 182 ae4c9ae1882092 Thomas Gleixner 2024-01-02 183 /* Validate that this is a soft interrupt to the extent possible */ ae4c9ae1882092 Thomas Gleixner 2024-01-02 184 if (unlikely(int80_is_external())) ae4c9ae1882092 Thomas Gleixner 2024-01-02 185 panic("Unexpected external interrupt 0x80\n"); ae4c9ae1882092 Thomas Gleixner 2024-01-02 186 e0df47ab7f352c Thomas Gleixner 2024-01-02 187 /* e0df47ab7f352c Thomas Gleixner 2024-01-02 188 * The low level idtentry code pushed -1 into regs::orig_ax e0df47ab7f352c Thomas Gleixner 2024-01-02 189 * and regs::ax contains the syscall number. e0df47ab7f352c Thomas Gleixner 2024-01-02 190 * e0df47ab7f352c Thomas Gleixner 2024-01-02 191 * User tracing code (ptrace or signal handlers) might assume e0df47ab7f352c Thomas Gleixner 2024-01-02 192 * that the regs::orig_ax contains a 32-bit number on invoking e0df47ab7f352c Thomas Gleixner 2024-01-02 193 * a 32-bit syscall. e0df47ab7f352c Thomas Gleixner 2024-01-02 194 * e0df47ab7f352c Thomas Gleixner 2024-01-02 195 * Establish the syscall convention by saving the 32bit truncated e0df47ab7f352c Thomas Gleixner 2024-01-02 196 * syscall number in regs::orig_ax and by invalidating regs::ax. e0df47ab7f352c Thomas Gleixner 2024-01-02 197 */ e0df47ab7f352c Thomas Gleixner 2024-01-02 198 regs->orig_ax = regs->ax & GENMASK(31, 0); e0df47ab7f352c Thomas Gleixner 2024-01-02 199 regs->ax = -ENOSYS; e0df47ab7f352c Thomas Gleixner 2024-01-02 200 e0df47ab7f352c Thomas Gleixner 2024-01-02 201 nr = syscall_32_enter(regs); e0df47ab7f352c Thomas Gleixner 2024-01-02 202 e0df47ab7f352c Thomas Gleixner 2024-01-02 203 local_irq_enable(); e0df47ab7f352c Thomas Gleixner 2024-01-02 204 nr = syscall_enter_from_user_mode_work(regs, nr); e0df47ab7f352c Thomas Gleixner 2024-01-02 205 do_syscall_32_irqs_on(regs, nr); e0df47ab7f352c Thomas Gleixner 2024-01-02 206 e0df47ab7f352c Thomas Gleixner 2024-01-02 207 instrumentation_end(); e0df47ab7f352c Thomas Gleixner 2024-01-02 208 syscall_exit_to_user_mode(regs); e0df47ab7f352c Thomas Gleixner 2024-01-02 209 } e0df47ab7f352c Thomas Gleixner 2024-01-02 210 #else /* CONFIG_IA32_EMULATION */ e0df47ab7f352c Thomas Gleixner 2024-01-02 211 :::::: The code at line 163 was first introduced by commit :::::: e0df47ab7f352c5f055d05102cc1dfcb43567ba8 x86/entry: Convert INT 0x80 emulation to IDTENTRY :::::: TO: Thomas Gleixner <tglx(a)linutronix.de> :::::: CC: Zheng Zengkai <zhengzengkai(a)huawei.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3508/3508] drivers/acpi/pptt.c:411: warning: Function parameter or member 'acpi_cpu_id' not described in 'acpi_pptt_get_cpus_from_container'
by kernel test robot 12 Dec '25

12 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: 45f065231c8fbabe4e1b4449425a0574287e2bbb [3508/3508] ACPI / PPTT: Add a helper to fill a cpumask from a processor container config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251211/202512111902.thfID0yT-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 4125e73cdc6188cca4c1c72b72e2b2d85c157483) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251211/202512111902.thfID0yT-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/202512111902.thfID0yT-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/acpi/pptt.c:342: warning: Function parameter or member 'callback' not described in 'acpi_pptt_for_each_container' drivers/acpi/pptt.c:342: warning: Function parameter or member 'arg' not described in 'acpi_pptt_for_each_container' >> drivers/acpi/pptt.c:411: warning: Function parameter or member 'acpi_cpu_id' not described in 'acpi_pptt_get_cpus_from_container' >> drivers/acpi/pptt.c:411: warning: Function parameter or member 'cpus' not described in 'acpi_pptt_get_cpus_from_container' vim +411 drivers/acpi/pptt.c 400 401 /** 402 * acpi_pptt_get_cpus_from_container() - Populate a cpumask with all CPUs in a 403 * processor containers 404 * 405 * Find the specified Processor Container, and fill cpus with all the cpus 406 * below it. 407 * 408 * Return: 0 for a complete walk, or an error if the mask is incomplete. 409 */ 410 int acpi_pptt_get_cpus_from_container(u32 acpi_cpu_id, cpumask_t *cpus) > 411 { 412 struct __cpus_from_container_arg params; 413 414 params.acpi_cpu_id = acpi_cpu_id; 415 params.cpus = cpus; 416 417 cpumask_clear(cpus); 418 return acpi_pptt_for_each_container(&__cpus_from_container, &params); 419 } 420 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3508/3508] htmldocs: ./include/drm/drm_fb_helper.h:107: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_fb_helper_funcs'
by kernel test robot 12 Dec '25

12 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: 544aacc8da43991ecec944d135d89335642d7b3c [3508/3508] drm: drm_fb_helper.h: Add kabi_reserve reproduce: (https://download.01.org/0day-ci/archive/20251211/202512111820.FOuZzKT5-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/202512111820.FOuZzKT5-lkp@intel.com/ All warnings (new ones prefixed by >>): ./include/drm/drm_connector.h:826: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_display_info' ./include/drm/drm_connector.h:888: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_tv_connector_state' ./include/drm/drm_connector.h:1350: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_connector_funcs' ./include/drm/drm_connector.h:1499: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_cmdline_mode' ./include/drm/drm_connector.h:1897: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_connector' >> ./include/drm/drm_fb_helper.h:107: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_fb_helper_funcs' >> ./include/drm/drm_fb_helper.h:217: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_fb_helper' Error: Cannot open file ./include/linux/hdmi.h Error: Cannot open file ./include/linux/hdmi.h Error: Cannot open file ./include/linux/host1x.h Error: Cannot open file ./include/linux/vga_switcheroo.h Error: Cannot open file ./include/linux/vga_switcheroo.h vim +107 ./include/drm/drm_fb_helper.h 386516744ba45d Dave Airlie 2010-03-30 67 207fd32970b1de Daniel Vetter 2013-01-20 68 /** 207fd32970b1de Daniel Vetter 2013-01-20 69 * struct drm_fb_helper_funcs - driver callbacks for the fbdev emulation library 207fd32970b1de Daniel Vetter 2013-01-20 70 * 207fd32970b1de Daniel Vetter 2013-01-20 71 * Driver callbacks used by the fbdev emulation helper library. 207fd32970b1de Daniel Vetter 2013-01-20 72 */ 4abe35204af82a Dave Airlie 2010-03-30 73 struct drm_fb_helper_funcs { 264d6970e16c68 Daniel Vetter 2015-12-04 74 /** 264d6970e16c68 Daniel Vetter 2015-12-04 75 * @fb_probe: 264d6970e16c68 Daniel Vetter 2015-12-04 76 * 264d6970e16c68 Daniel Vetter 2015-12-04 77 * Driver callback to allocate and initialize the fbdev info structure. 264d6970e16c68 Daniel Vetter 2015-12-04 78 * Furthermore it also needs to allocate the DRM framebuffer used to 264d6970e16c68 Daniel Vetter 2015-12-04 79 * back the fbdev. 264d6970e16c68 Daniel Vetter 2015-12-04 80 * 264d6970e16c68 Daniel Vetter 2015-12-04 81 * This callback is mandatory. 264d6970e16c68 Daniel Vetter 2015-12-04 82 * 264d6970e16c68 Daniel Vetter 2015-12-04 83 * RETURNS: 264d6970e16c68 Daniel Vetter 2015-12-04 84 * 264d6970e16c68 Daniel Vetter 2015-12-04 85 * The driver should return 0 on success and a negative error code on 264d6970e16c68 Daniel Vetter 2015-12-04 86 * failure. 264d6970e16c68 Daniel Vetter 2015-12-04 87 */ 4abe35204af82a Dave Airlie 2010-03-30 88 int (*fb_probe)(struct drm_fb_helper *helper, 4abe35204af82a Dave Airlie 2010-03-30 89 struct drm_fb_helper_surface_size *sizes); f231af498c29f3 Thomas Zimmermann 2022-11-03 90 f231af498c29f3 Thomas Zimmermann 2022-11-03 91 /** f231af498c29f3 Thomas Zimmermann 2022-11-03 92 * @fb_dirty: f231af498c29f3 Thomas Zimmermann 2022-11-03 93 * f231af498c29f3 Thomas Zimmermann 2022-11-03 94 * Driver callback to update the framebuffer memory. If set, fbdev f231af498c29f3 Thomas Zimmermann 2022-11-03 95 * emulation will invoke this callback in regular intervals after f231af498c29f3 Thomas Zimmermann 2022-11-03 96 * the framebuffer has been written. f231af498c29f3 Thomas Zimmermann 2022-11-03 97 * f231af498c29f3 Thomas Zimmermann 2022-11-03 98 * This callback is optional. f231af498c29f3 Thomas Zimmermann 2022-11-03 99 * f231af498c29f3 Thomas Zimmermann 2022-11-03 100 * Returns: f231af498c29f3 Thomas Zimmermann 2022-11-03 101 * 0 on success, or an error code otherwise. f231af498c29f3 Thomas Zimmermann 2022-11-03 102 */ f231af498c29f3 Thomas Zimmermann 2022-11-03 103 int (*fb_dirty)(struct drm_fb_helper *helper, struct drm_clip_rect *clip); 544aacc8da4399 Lin Yujun 2024-02-04 104 544aacc8da4399 Lin Yujun 2024-02-04 105 KABI_RESERVE(1) 544aacc8da4399 Lin Yujun 2024-02-04 106 KABI_RESERVE(2) 4abe35204af82a Dave Airlie 2010-03-30 @107 }; 4abe35204af82a Dave Airlie 2010-03-30 108 9685cd9df75c1f Rob Clark 2015-08-25 109 /** 264d6970e16c68 Daniel Vetter 2015-12-04 110 * struct drm_fb_helper - main structure to emulate fbdev on top of KMS 9685cd9df75c1f Rob Clark 2015-08-25 111 * @fb: Scanout framebuffer object 9685cd9df75c1f Rob Clark 2015-08-25 112 * @dev: DRM device 9685cd9df75c1f Rob Clark 2015-08-25 113 * @funcs: driver callbacks for fb helper 9877d8f6bc3749 Thomas Zimmermann 2022-11-03 114 * @info: emulated fbdev device info struct 9685cd9df75c1f Rob Clark 2015-08-25 115 * @pseudo_palette: fake palette of 16 colors 9622349ea1b623 Thomas Zimmermann 2020-11-20 116 * @damage_clip: clip rectangle used with deferred_io to accumulate damage to eaa434defaca17 Noralf Trønnes 2016-04-28 117 * the screen buffer 9622349ea1b623 Thomas Zimmermann 2020-11-20 118 * @damage_lock: spinlock protecting @damage_clip 7aa3d63e1ad56c Thomas Zimmermann 2022-11-18 119 * @damage_work: worker used to flush the framebuffer cfe63423d9be3e Noralf Trønnes 2016-08-23 120 * @resume_work: worker used during resume if the console lock is already taken 264d6970e16c68 Daniel Vetter 2015-12-04 121 * 264d6970e16c68 Daniel Vetter 2015-12-04 122 * This is the main structure used by the fbdev helpers. Drivers supporting 264d6970e16c68 Daniel Vetter 2015-12-04 123 * fbdev emulation should embedded this into their overall driver structure. ea0dd85a75f151 Daniel Vetter 2016-12-29 124 * Drivers must also fill out a &struct drm_fb_helper_funcs with a few 264d6970e16c68 Daniel Vetter 2015-12-04 125 * operations. 9685cd9df75c1f Rob Clark 2015-08-25 126 */ 785b93ef8c3097 Dave Airlie 2009-08-28 127 struct drm_fb_helper { d536540f304ce0 Noralf Trønnes 2018-07-03 128 /** d536540f304ce0 Noralf Trønnes 2018-07-03 129 * @client: d536540f304ce0 Noralf Trønnes 2018-07-03 130 * d536540f304ce0 Noralf Trønnes 2018-07-03 131 * DRM client used by the generic fbdev emulation. d536540f304ce0 Noralf Trønnes 2018-07-03 132 */ d536540f304ce0 Noralf Trønnes 2018-07-03 133 struct drm_client_dev client; d536540f304ce0 Noralf Trønnes 2018-07-03 134 d536540f304ce0 Noralf Trønnes 2018-07-03 135 /** d536540f304ce0 Noralf Trønnes 2018-07-03 136 * @buffer: d536540f304ce0 Noralf Trønnes 2018-07-03 137 * d536540f304ce0 Noralf Trønnes 2018-07-03 138 * Framebuffer used by the generic fbdev emulation. d536540f304ce0 Noralf Trønnes 2018-07-03 139 */ d536540f304ce0 Noralf Trønnes 2018-07-03 140 struct drm_client_buffer *buffer; d536540f304ce0 Noralf Trønnes 2018-07-03 141 785b93ef8c3097 Dave Airlie 2009-08-28 142 struct drm_framebuffer *fb; 785b93ef8c3097 Dave Airlie 2009-08-28 143 struct drm_device *dev; 3a4938799dec32 Thierry Reding 2014-06-27 144 const struct drm_fb_helper_funcs *funcs; 9877d8f6bc3749 Thomas Zimmermann 2022-11-03 145 struct fb_info *info; 386516744ba45d Dave Airlie 2010-03-30 146 u32 pseudo_palette[17]; 9622349ea1b623 Thomas Zimmermann 2020-11-20 147 struct drm_clip_rect damage_clip; 9622349ea1b623 Thomas Zimmermann 2020-11-20 148 spinlock_t damage_lock; 7aa3d63e1ad56c Thomas Zimmermann 2022-11-18 149 struct work_struct damage_work; cfe63423d9be3e Noralf Trønnes 2016-08-23 150 struct work_struct resume_work; 264d6970e16c68 Daniel Vetter 2015-12-04 151 e9827d8ea2142d Thierry Reding 2017-07-04 152 /** e9827d8ea2142d Thierry Reding 2017-07-04 153 * @lock: e9827d8ea2142d Thierry Reding 2017-07-04 154 * e9827d8ea2142d Thierry Reding 2017-07-04 155 * Top-level FBDEV helper lock. This protects all internal data e9827d8ea2142d Thierry Reding 2017-07-04 156 * structures and lists, such as @connector_info and @crtc_info. e9827d8ea2142d Thierry Reding 2017-07-04 157 * e9827d8ea2142d Thierry Reding 2017-07-04 158 * FIXME: fbdev emulation locking is a mess and long term we want to e9827d8ea2142d Thierry Reding 2017-07-04 159 * protect all helper internal state with this lock as well as reduce e9827d8ea2142d Thierry Reding 2017-07-04 160 * core KMS locking as much as possible. e9827d8ea2142d Thierry Reding 2017-07-04 161 */ e9827d8ea2142d Thierry Reding 2017-07-04 162 struct mutex lock; e9827d8ea2142d Thierry Reding 2017-07-04 163 264d6970e16c68 Daniel Vetter 2015-12-04 164 /** 264d6970e16c68 Daniel Vetter 2015-12-04 165 * @kernel_fb_list: 264d6970e16c68 Daniel Vetter 2015-12-04 166 * 264d6970e16c68 Daniel Vetter 2015-12-04 167 * Entry on the global kernel_fb_helper_list, used for kgdb entry/exit. 264d6970e16c68 Daniel Vetter 2015-12-04 168 */ 785b93ef8c3097 Dave Airlie 2009-08-28 169 struct list_head kernel_fb_list; 8be48d924c307e Dave Airlie 2010-03-30 170 264d6970e16c68 Daniel Vetter 2015-12-04 171 /** 264d6970e16c68 Daniel Vetter 2015-12-04 172 * @delayed_hotplug: 264d6970e16c68 Daniel Vetter 2015-12-04 173 * 264d6970e16c68 Daniel Vetter 2015-12-04 174 * A hotplug was received while fbdev wasn't in control of the DRM 264d6970e16c68 Daniel Vetter 2015-12-04 175 * device, i.e. another KMS master was active. The output configuration 264d6970e16c68 Daniel Vetter 2015-12-04 176 * needs to be reprobe when fbdev is in control again. 264d6970e16c68 Daniel Vetter 2015-12-04 177 */ 4abe35204af82a Dave Airlie 2010-03-30 178 bool delayed_hotplug; ca91a2758fcef6 Daniel Vetter 2017-07-06 179 ca91a2758fcef6 Daniel Vetter 2017-07-06 180 /** ca91a2758fcef6 Daniel Vetter 2017-07-06 181 * @deferred_setup: ca91a2758fcef6 Daniel Vetter 2017-07-06 182 * ca91a2758fcef6 Daniel Vetter 2017-07-06 183 * If no outputs are connected (disconnected or unknown) the FB helper ca91a2758fcef6 Daniel Vetter 2017-07-06 184 * code will defer setup until at least one of the outputs shows up. ca91a2758fcef6 Daniel Vetter 2017-07-06 185 * This field keeps track of the status so that setup can be retried ca91a2758fcef6 Daniel Vetter 2017-07-06 186 * at every hotplug event until it succeeds eventually. ca91a2758fcef6 Daniel Vetter 2017-07-06 187 * ca91a2758fcef6 Daniel Vetter 2017-07-06 188 * Protected by @lock. ca91a2758fcef6 Daniel Vetter 2017-07-06 189 */ ca91a2758fcef6 Daniel Vetter 2017-07-06 190 bool deferred_setup; ca91a2758fcef6 Daniel Vetter 2017-07-06 191 ca91a2758fcef6 Daniel Vetter 2017-07-06 192 /** ca91a2758fcef6 Daniel Vetter 2017-07-06 193 * @preferred_bpp: ca91a2758fcef6 Daniel Vetter 2017-07-06 194 * ca91a2758fcef6 Daniel Vetter 2017-07-06 195 * Temporary storage for the driver's preferred BPP setting passed to ca91a2758fcef6 Daniel Vetter 2017-07-06 196 * FB helper initialization. This needs to be tracked so that deferred ca91a2758fcef6 Daniel Vetter 2017-07-06 197 * FB helper setup can pass this on. ca91a2758fcef6 Daniel Vetter 2017-07-06 198 * ca91a2758fcef6 Daniel Vetter 2017-07-06 199 * See also: @deferred_setup ca91a2758fcef6 Daniel Vetter 2017-07-06 200 */ ca91a2758fcef6 Daniel Vetter 2017-07-06 201 int preferred_bpp; e7c5c29a9eb1c9 Thomas Zimmermann 2022-11-03 202 d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 203 #ifdef CONFIG_FB_DEFERRED_IO d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 204 /** d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 205 * @fbdefio: d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 206 * d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 207 * Temporary storage for the driver's FB deferred I/O handler. If the d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 208 * driver uses the DRM fbdev emulation layer, this is set by the core d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 209 * to a generic deferred I/O handler if a driver is preferring to use d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 210 * a shadow buffer. d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 211 */ d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 212 struct fb_deferred_io fbdefio; d6591da5f3ff28 Javier Martinez Canillas 2023-01-21 213 #endif 544aacc8da4399 Lin Yujun 2024-02-04 214 544aacc8da4399 Lin Yujun 2024-02-04 215 KABI_RESERVE(1) 544aacc8da4399 Lin Yujun 2024-02-04 216 KABI_RESERVE(2) 785b93ef8c3097 Dave Airlie 2009-08-28 @217 }; 785b93ef8c3097 Dave Airlie 2009-08-28 218 :::::: The code at line 107 was first introduced by commit :::::: 4abe35204af82a018ca3ce6db4102aa09719698e drm/kms/fb: use slow work mechanism for normal hotplug also. :::::: TO: Dave Airlie <airlied(a)redhat.com> :::::: CC: Dave Airlie <airlied(a)redhat.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • ...
  • 2185
  • Older →

HyperKitty Powered by HyperKitty