[drm-xe:drm-xe-next 1/4] drivers/gpu/drm/xe/xe_bo.c:1635:2: error: call to undeclared function 'drmm_release_action'; ISO C99 and later do not support implicit function declarations
kernel test robot
lkp at intel.com
Mon Feb 5 23:34:35 UTC 2024
tree: https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
head: 897c5b367db8affee69823c7e639caf33187bdf2
commit: 30b71bce350e4ab5e495697838b1fb8478970140 [1/4] drm/xe/guc: Allocate GuC data structures in system memory for initial load
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20240206/202402060701.gySJwBBM-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240206/202402060701.gySJwBBM-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402060701.gySJwBBM-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/xe/xe_bo.c:1635:2: error: call to undeclared function 'drmm_release_action'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1635 | drmm_release_action(&xe->drm, __xe_bo_unpin_map_no_vm, *src);
| ^
drivers/gpu/drm/xe/xe_bo.c:1635:2: note: did you mean 'devm_release_action'?
include/linux/device.h:388:6: note: 'devm_release_action' declared here
388 | void devm_release_action(struct device *dev, void (*action)(void *), void *data);
| ^
1 error generated.
vim +/drmm_release_action +1635 drivers/gpu/drm/xe/xe_bo.c
1608
1609 /**
1610 * xe_managed_bo_reinit_in_vram
1611 * @xe: xe device
1612 * @tile: Tile where the new buffer will be created
1613 * @src: Managed buffer object allocated in system memory
1614 *
1615 * Replace a managed src buffer object allocated in system memory with a new
1616 * one allocated in vram, copying the data between them.
1617 * Buffer object in VRAM is not going to have the same GGTT address, the caller
1618 * is responsible for making sure that any old references to it are updated.
1619 *
1620 * Returns 0 for success, negative error code otherwise.
1621 */
1622 int xe_managed_bo_reinit_in_vram(struct xe_device *xe, struct xe_tile *tile, struct xe_bo **src)
1623 {
1624 struct xe_bo *bo;
1625
1626 xe_assert(xe, IS_DGFX(xe));
1627 xe_assert(xe, !(*src)->vmap.is_iomem);
1628
1629 bo = xe_managed_bo_create_from_data(xe, tile, (*src)->vmap.vaddr, (*src)->size,
1630 XE_BO_CREATE_VRAM_IF_DGFX(tile) |
1631 XE_BO_CREATE_GGTT_BIT);
1632 if (IS_ERR(bo))
1633 return PTR_ERR(bo);
1634
> 1635 drmm_release_action(&xe->drm, __xe_bo_unpin_map_no_vm, *src);
1636 *src = bo;
1637
1638 return 0;
1639 }
1640
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Intel-xe
mailing list