Re: [PATCH v2 1/5] drm/ttm: Update Makefile for KUnit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 11 Sep 2023, Karolina Stolarek <karolina.stolarek@xxxxxxxxx> wrote:
> Update Makefile so it can produce a module that consists of TTM tests.
> This will allow us to test non-exported functions when KUnit tests
> are built as a module. Remove the tests' Makefile.

I'm asking questions instead of making assertions, because I'm not 100%
confident, but I don't feel like this Makefile could work right.

>
> Signed-off-by: Karolina Stolarek <karolina.stolarek@xxxxxxxxx>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202309010358.50gYLkmw-lkp@xxxxxxxxx/
> Closes: https://lore.kernel.org/oe-kbuild-all/202309011134.bwvpuyOj-lkp@xxxxxxxxx/
> Closes: https://lore.kernel.org/oe-kbuild-all/202309011935.bBpezbUQ-lkp@xxxxxxxxx/
> ---
>  drivers/gpu/drm/ttm/Makefile       | 18 +++++++++++++-----
>  drivers/gpu/drm/ttm/tests/Makefile |  6 ------
>  2 files changed, 13 insertions(+), 11 deletions(-)
>  delete mode 100644 drivers/gpu/drm/ttm/tests/Makefile
>
> diff --git a/drivers/gpu/drm/ttm/Makefile b/drivers/gpu/drm/ttm/Makefile
> index dad298127226..6322a33e65ed 100644
> --- a/drivers/gpu/drm/ttm/Makefile
> +++ b/drivers/gpu/drm/ttm/Makefile
> @@ -2,10 +2,18 @@
>  #
>  # Makefile for the drm device driver.  This driver provides support for the
>  
> -ttm-y := ttm_tt.o ttm_bo.o ttm_bo_util.o ttm_bo_vm.o ttm_module.o \
> -	ttm_execbuf_util.o ttm_range_manager.o ttm_resource.o ttm_pool.o \
> -	ttm_device.o ttm_sys_manager.o
> +ttm := ttm_tt.o ttm_bo.o ttm_bo_util.o ttm_bo_vm.o ttm_module.o \
> +       ttm_execbuf_util.o ttm_range_manager.o ttm_resource.o ttm_pool.o \
> +       ttm_device.o ttm_sys_manager.o
> +obj-$(CONFIG_DRM_TTM) += $(ttm)

Does that not lead to each object in $(ttm) becoming its own module?

>  ttm-$(CONFIG_AGP) += ttm_agp_backend.o

Does this not create a ttm.o with just one object, depending on
CONFIG_AGP?

>  
> -obj-$(CONFIG_DRM_TTM) += ttm.o
> -obj-$(CONFIG_DRM_TTM_KUNIT_TEST) += tests/
> +ttm-tests := tests/ttm_kunit_helpers.o tests/ttm_device_test.o \
> +             tests/ttm_pool_test.o

I'd preserve the one object per line syntax. It's nicer for the diffs in
subsequent updates.

> +
> +ifeq ($(CONFIG_DRM_TTM_KUNIT_TEST),m)
> +    ttm-test-objs := $(ttm) $(ttm-tests)

Isn't the -objs syntax for host/userspace programs? And if not, doesn't
it lead to objects with exported symbols being present in two places?

Confused.

BR,
Jani.

> +    obj-m := ttm-test.o
> +else
> +    obj-$(CONFIG_DRM_TTM_KUNIT_TEST) += $(ttm-tests)
> +endif
> diff --git a/drivers/gpu/drm/ttm/tests/Makefile b/drivers/gpu/drm/ttm/tests/Makefile
> deleted file mode 100644
> index ec87c4fc1ad5..000000000000
> --- a/drivers/gpu/drm/ttm/tests/Makefile
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -# SPDX-License-Identifier: GPL-2.0 AND MIT
> -
> -obj-$(CONFIG_DRM_TTM_KUNIT_TEST) += \
> -        ttm_device_test.o \
> -        ttm_pool_test.o \
> -        ttm_kunit_helpers.o

-- 
Jani Nikula, Intel Open Source Graphics Center



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux