[openeuler:OLK-6.6 3508/3508] htmldocs: ./include/drm/drm_gem.h:224: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_gem_object_funcs'
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 5930fa3740c518a9f6ba688fd0c1873d6f3adbce commit: 594c8ec1c427b74f7bba885787c6e41732e32dba [3508/3508] drm: drm_gem.h: Add kabi_reserve reproduce: (https://download.01.org/0day-ci/archive/20251212/202512120202.QFuhMvmE-lkp@i...) 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@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512120202.QFuhMvmE-lkp@intel.com/ All warnings (new ones prefixed by >>): ./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
./include/drm/drm_gem.h:224: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_gem_object_funcs' ./include/drm/drm_gem.h:432: warning: Function parameter or member 'KABI_RESERVE(1' not described in 'drm_gem_object' 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 Error: Cannot open file ./include/linux/vga_switcheroo.h Error: Cannot open file ./include/linux/vga_switcheroo.h
vim +224 ./include/drm/drm_gem.h 686b21b5f6ca2f Rob Clark 2023-05-24 67 b39b5394fabc79 Noralf Trønnes 2018-11-10 68 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 69 * struct drm_gem_object_funcs - GEM object functions b39b5394fabc79 Noralf Trønnes 2018-11-10 70 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 71 struct drm_gem_object_funcs { b39b5394fabc79 Noralf Trønnes 2018-11-10 72 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 73 * @free: b39b5394fabc79 Noralf Trønnes 2018-11-10 74 * b39b5394fabc79 Noralf Trønnes 2018-11-10 75 * Deconstructor for drm_gem_objects. b39b5394fabc79 Noralf Trønnes 2018-11-10 76 * b39b5394fabc79 Noralf Trønnes 2018-11-10 77 * This callback is mandatory. b39b5394fabc79 Noralf Trønnes 2018-11-10 78 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 79 void (*free)(struct drm_gem_object *obj); b39b5394fabc79 Noralf Trønnes 2018-11-10 80 b39b5394fabc79 Noralf Trønnes 2018-11-10 81 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 82 * @open: b39b5394fabc79 Noralf Trønnes 2018-11-10 83 * b39b5394fabc79 Noralf Trønnes 2018-11-10 84 * Called upon GEM handle creation. b39b5394fabc79 Noralf Trønnes 2018-11-10 85 * b39b5394fabc79 Noralf Trønnes 2018-11-10 86 * This callback is optional. b39b5394fabc79 Noralf Trønnes 2018-11-10 87 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 88 int (*open)(struct drm_gem_object *obj, struct drm_file *file); b39b5394fabc79 Noralf Trønnes 2018-11-10 89 b39b5394fabc79 Noralf Trønnes 2018-11-10 90 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 91 * @close: b39b5394fabc79 Noralf Trønnes 2018-11-10 92 * b39b5394fabc79 Noralf Trønnes 2018-11-10 93 * Called upon GEM handle release. b39b5394fabc79 Noralf Trønnes 2018-11-10 94 * b39b5394fabc79 Noralf Trønnes 2018-11-10 95 * This callback is optional. b39b5394fabc79 Noralf Trønnes 2018-11-10 96 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 97 void (*close)(struct drm_gem_object *obj, struct drm_file *file); b39b5394fabc79 Noralf Trønnes 2018-11-10 98 b39b5394fabc79 Noralf Trønnes 2018-11-10 99 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 100 * @print_info: b39b5394fabc79 Noralf Trønnes 2018-11-10 101 * b39b5394fabc79 Noralf Trønnes 2018-11-10 102 * If driver subclasses struct &drm_gem_object, it can implement this b39b5394fabc79 Noralf Trønnes 2018-11-10 103 * optional hook for printing additional driver specific info. b39b5394fabc79 Noralf Trønnes 2018-11-10 104 * b39b5394fabc79 Noralf Trønnes 2018-11-10 105 * drm_printf_indent() should be used in the callback passing it the b39b5394fabc79 Noralf Trønnes 2018-11-10 106 * indent argument. b39b5394fabc79 Noralf Trønnes 2018-11-10 107 * b39b5394fabc79 Noralf Trønnes 2018-11-10 108 * This callback is called from drm_gem_print_info(). b39b5394fabc79 Noralf Trønnes 2018-11-10 109 * b39b5394fabc79 Noralf Trønnes 2018-11-10 110 * This callback is optional. b39b5394fabc79 Noralf Trønnes 2018-11-10 111 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 112 void (*print_info)(struct drm_printer *p, unsigned int indent, b39b5394fabc79 Noralf Trønnes 2018-11-10 113 const struct drm_gem_object *obj); b39b5394fabc79 Noralf Trønnes 2018-11-10 114 b39b5394fabc79 Noralf Trønnes 2018-11-10 115 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 116 * @export: b39b5394fabc79 Noralf Trønnes 2018-11-10 117 * b39b5394fabc79 Noralf Trønnes 2018-11-10 118 * Export backing buffer as a &dma_buf. b39b5394fabc79 Noralf Trønnes 2018-11-10 119 * If this is not set drm_gem_prime_export() is used. b39b5394fabc79 Noralf Trønnes 2018-11-10 120 * b39b5394fabc79 Noralf Trønnes 2018-11-10 121 * This callback is optional. b39b5394fabc79 Noralf Trønnes 2018-11-10 122 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 123 struct dma_buf *(*export)(struct drm_gem_object *obj, int flags); b39b5394fabc79 Noralf Trønnes 2018-11-10 124 b39b5394fabc79 Noralf Trønnes 2018-11-10 125 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 126 * @pin: b39b5394fabc79 Noralf Trønnes 2018-11-10 127 * 805dc614d58a8f Daniel Vetter 2019-06-20 128 * Pin backing buffer in memory. Used by the drm_gem_map_attach() helper. b39b5394fabc79 Noralf Trønnes 2018-11-10 129 * b39b5394fabc79 Noralf Trønnes 2018-11-10 130 * This callback is optional. b39b5394fabc79 Noralf Trønnes 2018-11-10 131 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 132 int (*pin)(struct drm_gem_object *obj); b39b5394fabc79 Noralf Trønnes 2018-11-10 133 b39b5394fabc79 Noralf Trønnes 2018-11-10 134 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 135 * @unpin: b39b5394fabc79 Noralf Trønnes 2018-11-10 136 * 805dc614d58a8f Daniel Vetter 2019-06-20 137 * Unpin backing buffer. Used by the drm_gem_map_detach() helper. b39b5394fabc79 Noralf Trønnes 2018-11-10 138 * b39b5394fabc79 Noralf Trønnes 2018-11-10 139 * This callback is optional. b39b5394fabc79 Noralf Trønnes 2018-11-10 140 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 141 void (*unpin)(struct drm_gem_object *obj); b39b5394fabc79 Noralf Trønnes 2018-11-10 142 b39b5394fabc79 Noralf Trønnes 2018-11-10 143 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 144 * @get_sg_table: b39b5394fabc79 Noralf Trønnes 2018-11-10 145 * b39b5394fabc79 Noralf Trønnes 2018-11-10 146 * Returns a Scatter-Gather table representation of the buffer. 805dc614d58a8f Daniel Vetter 2019-06-20 147 * Used when exporting a buffer by the drm_gem_map_dma_buf() helper. 805dc614d58a8f Daniel Vetter 2019-06-20 148 * Releasing is done by calling dma_unmap_sg_attrs() and sg_free_table() 805dc614d58a8f Daniel Vetter 2019-06-20 149 * in drm_gem_unmap_buf(), therefore these helpers and this callback 805dc614d58a8f Daniel Vetter 2019-06-20 150 * here cannot be used for sg tables pointing at driver private memory 805dc614d58a8f Daniel Vetter 2019-06-20 151 * ranges. b39b5394fabc79 Noralf Trønnes 2018-11-10 152 * 805dc614d58a8f Daniel Vetter 2019-06-20 153 * See also drm_prime_pages_to_sg(). b39b5394fabc79 Noralf Trønnes 2018-11-10 154 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 155 struct sg_table *(*get_sg_table)(struct drm_gem_object *obj); b39b5394fabc79 Noralf Trønnes 2018-11-10 156 b39b5394fabc79 Noralf Trønnes 2018-11-10 157 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 158 * @vmap: b39b5394fabc79 Noralf Trønnes 2018-11-10 159 * 805dc614d58a8f Daniel Vetter 2019-06-20 160 * Returns a virtual address for the buffer. Used by the 805dc614d58a8f Daniel Vetter 2019-06-20 161 * drm_gem_dmabuf_vmap() helper. b39b5394fabc79 Noralf Trønnes 2018-11-10 162 * b39b5394fabc79 Noralf Trønnes 2018-11-10 163 * This callback is optional. b39b5394fabc79 Noralf Trønnes 2018-11-10 164 */ 7938f4218168ae Lucas De Marchi 2022-02-04 165 int (*vmap)(struct drm_gem_object *obj, struct iosys_map *map); b39b5394fabc79 Noralf Trønnes 2018-11-10 166 b39b5394fabc79 Noralf Trønnes 2018-11-10 167 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 168 * @vunmap: b39b5394fabc79 Noralf Trønnes 2018-11-10 169 * f621f3bb33af0f Randy Dunlap 2020-07-14 170 * Releases the address previously returned by @vmap. Used by the 805dc614d58a8f Daniel Vetter 2019-06-20 171 * drm_gem_dmabuf_vunmap() helper. b39b5394fabc79 Noralf Trønnes 2018-11-10 172 * b39b5394fabc79 Noralf Trønnes 2018-11-10 173 * This callback is optional. b39b5394fabc79 Noralf Trønnes 2018-11-10 174 */ 7938f4218168ae Lucas De Marchi 2022-02-04 175 void (*vunmap)(struct drm_gem_object *obj, struct iosys_map *map); b39b5394fabc79 Noralf Trønnes 2018-11-10 176 c40069cb7bd649 Gerd Hoffmann 2019-10-16 177 /** c40069cb7bd649 Gerd Hoffmann 2019-10-16 178 * @mmap: c40069cb7bd649 Gerd Hoffmann 2019-10-16 179 * c40069cb7bd649 Gerd Hoffmann 2019-10-16 180 * Handle mmap() of the gem object, setup vma accordingly. c40069cb7bd649 Gerd Hoffmann 2019-10-16 181 * c40069cb7bd649 Gerd Hoffmann 2019-10-16 182 * This callback is optional. c40069cb7bd649 Gerd Hoffmann 2019-10-16 183 * f621f3bb33af0f Randy Dunlap 2020-07-14 184 * The callback is used by both drm_gem_mmap_obj() and c40069cb7bd649 Gerd Hoffmann 2019-10-16 185 * drm_gem_prime_mmap(). When @mmap is present @vm_ops is not e5516553999f73 Gerd Hoffmann 2019-11-27 186 * used, the @mmap callback must set vma->vm_ops instead. c40069cb7bd649 Gerd Hoffmann 2019-10-16 187 */ c40069cb7bd649 Gerd Hoffmann 2019-10-16 188 int (*mmap)(struct drm_gem_object *obj, struct vm_area_struct *vma); c40069cb7bd649 Gerd Hoffmann 2019-10-16 189 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 190 /** 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 191 * @evict: 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 192 * 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 193 * Evicts gem object out from memory. Used by the drm_gem_object_evict() 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 194 * helper. Returns 0 on success, -errno otherwise. 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 195 * 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 196 * This callback is optional. 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 197 */ 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 198 int (*evict)(struct drm_gem_object *obj); 7eabaa892d9c57 Dmitry Osipenko 2022-11-16 199 686b21b5f6ca2f Rob Clark 2023-05-24 200 /** 686b21b5f6ca2f Rob Clark 2023-05-24 201 * @status: 686b21b5f6ca2f Rob Clark 2023-05-24 202 * 686b21b5f6ca2f Rob Clark 2023-05-24 203 * The optional status callback can return additional object state 686b21b5f6ca2f Rob Clark 2023-05-24 204 * which determines which stats the object is counted against. The 686b21b5f6ca2f Rob Clark 2023-05-24 205 * callback is called under table_lock. Racing against object status 686b21b5f6ca2f Rob Clark 2023-05-24 206 * change is "harmless", and the callback can expect to not race 686b21b5f6ca2f Rob Clark 2023-05-24 207 * against object destruction. 686b21b5f6ca2f Rob Clark 2023-05-24 208 * 686b21b5f6ca2f Rob Clark 2023-05-24 209 * Called by drm_show_memory_stats(). 686b21b5f6ca2f Rob Clark 2023-05-24 210 */ 686b21b5f6ca2f Rob Clark 2023-05-24 211 enum drm_gem_object_status (*status)(struct drm_gem_object *obj); 686b21b5f6ca2f Rob Clark 2023-05-24 212 b39b5394fabc79 Noralf Trønnes 2018-11-10 213 /** b39b5394fabc79 Noralf Trønnes 2018-11-10 214 * @vm_ops: b39b5394fabc79 Noralf Trønnes 2018-11-10 215 * b39b5394fabc79 Noralf Trønnes 2018-11-10 216 * Virtual memory operations used with mmap. b39b5394fabc79 Noralf Trønnes 2018-11-10 217 * b39b5394fabc79 Noralf Trønnes 2018-11-10 218 * This is optional but necessary for mmap support. b39b5394fabc79 Noralf Trønnes 2018-11-10 219 */ b39b5394fabc79 Noralf Trønnes 2018-11-10 220 const struct vm_operations_struct *vm_ops; 594c8ec1c427b7 Lin Yujun 2024-02-04 221 594c8ec1c427b7 Lin Yujun 2024-02-04 222 KABI_RESERVE(1) 594c8ec1c427b7 Lin Yujun 2024-02-04 223 KABI_RESERVE(2) b39b5394fabc79 Noralf Trønnes 2018-11-10 @224 }; b39b5394fabc79 Noralf Trønnes 2018-11-10 225 :::::: The code at line 224 was first introduced by commit :::::: b39b5394fabc79acbaafb26b777fd348c868bf7e drm/gem: Add drm_gem_object_funcs :::::: TO: Noralf Trønnes <noralf@tronnes.org> :::::: CC: Noralf Trønnes <noralf@tronnes.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
participants (1)
-
kernel test robot