* [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'
@ 2025-12-12 1:11 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-12-12 1:11 UTC (permalink / raw)
To: kernel, Lin Yujun; +Cc: oe-kbuild-all
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@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-12-12 1:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-12 1:11 [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' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.