All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.