]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
dma-buf: Remove the old selftest
authorJason Gunthorpe <jgg@nvidia.com>
Sun, 1 Mar 2026 18:57:57 +0000 (14:57 -0400)
committerChristian König <christian.koenig@amd.com>
Thu, 16 Apr 2026 10:34:00 +0000 (12:34 +0200)
Nothing uses this framework anymore, remove it.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
Link: https://lore.kernel.org/r/5-v1-0a349a394eff+14110-dmabuf_kunit_jgg@nvidia.com
drivers/dma-buf/Kconfig
drivers/dma-buf/Makefile
drivers/dma-buf/selftest.c [deleted file]
drivers/dma-buf/selftest.h [deleted file]
drivers/dma-buf/selftests.h [deleted file]
drivers/gpu/drm/i915/Kconfig.debug

index 7d13c8f4484dd3840a1f6d5e1b1a9610660950e5..7efc0f0d07126cc58769e91945e0a0456c513bdd 100644 (file)
@@ -49,11 +49,6 @@ config DMABUF_DEBUG
          exporters. Specifically it validates that importers do not peek at the
          underlying struct page when they import a buffer.
 
-config DMABUF_SELFTESTS
-       tristate "Selftests for the dma-buf interfaces"
-       default n
-       depends on DMA_SHARED_BUFFER
-
 config DMABUF_KUNIT_TEST
        tristate "KUnit tests for DMA-BUF" if !KUNIT_ALL_TESTS
        depends on KUNIT
index c97ab2d01a7e68fcdae6e63463b1e4e1214c4b45..b25d7550bacfd57773f04e9886923032ff15c3f9 100644 (file)
@@ -7,11 +7,6 @@ obj-$(CONFIG_SYNC_FILE)                += sync_file.o
 obj-$(CONFIG_SW_SYNC)          += sw_sync.o sync_debug.o
 obj-$(CONFIG_UDMABUF)          += udmabuf.o
 
-dmabuf_selftests-y := \
-       selftest.o
-
-obj-$(CONFIG_DMABUF_SELFTESTS) += dmabuf_selftests.o
-
 dmabuf_kunit-y := \
        st-dma-fence.o \
        st-dma-fence-chain.o \
diff --git a/drivers/dma-buf/selftest.c b/drivers/dma-buf/selftest.c
deleted file mode 100644 (file)
index c60b694..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-
-/*
- * Copyright © 2019 Intel Corporation
- */
-
-#include <linux/compiler.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/sched/signal.h>
-#include <linux/slab.h>
-
-#include "selftest.h"
-
-enum {
-#define selftest(n, func) __idx_##n,
-#include "selftests.h"
-#undef selftest
-};
-
-#define selftest(n, f) [__idx_##n] = { .name = #n, .func = f },
-static struct selftest {
-       bool enabled;
-       const char *name;
-       int (*func)(void);
-} selftests[] = {
-#include "selftests.h"
-};
-#undef selftest
-
-/* Embed the line number into the parameter name so that we can order tests */
-#define param(n) __PASTE(igt__, __PASTE(__PASTE(__LINE__, __), n))
-#define selftest_0(n, func, id) \
-module_param_named(id, selftests[__idx_##n].enabled, bool, 0400);
-#define selftest(n, func) selftest_0(n, func, param(n))
-#include "selftests.h"
-#undef selftest
-
-int __sanitycheck__(void)
-{
-       pr_debug("Hello World!\n");
-       return 0;
-}
-
-static char *__st_filter;
-
-static bool apply_subtest_filter(const char *caller, const char *name)
-{
-       char *filter, *sep, *tok;
-       bool result = true;
-
-       filter = kstrdup(__st_filter, GFP_KERNEL);
-       for (sep = filter; (tok = strsep(&sep, ","));) {
-               bool allow = true;
-               char *sl;
-
-               if (*tok == '!') {
-                       allow = false;
-                       tok++;
-               }
-
-               if (*tok == '\0')
-                       continue;
-
-               sl = strchr(tok, '/');
-               if (sl) {
-                       *sl++ = '\0';
-                       if (strcmp(tok, caller)) {
-                               if (allow)
-                                       result = false;
-                               continue;
-                       }
-                       tok = sl;
-               }
-
-               if (strcmp(tok, name)) {
-                       if (allow)
-                               result = false;
-                       continue;
-               }
-
-               result = allow;
-               break;
-       }
-       kfree(filter);
-
-       return result;
-}
-
-int
-__subtests(const char *caller, const struct subtest *st, int count, void *data)
-{
-       int err;
-
-       for (; count--; st++) {
-               cond_resched();
-               if (signal_pending(current))
-                       return -EINTR;
-
-               if (!apply_subtest_filter(caller, st->name))
-                       continue;
-
-               pr_info("dma-buf: Running %s/%s\n", caller, st->name);
-
-               err = st->func(data);
-               if (err && err != -EINTR) {
-                       pr_err("dma-buf/%s: %s failed with error %d\n",
-                              caller, st->name, err);
-                       return err;
-               }
-       }
-
-       return 0;
-}
-
-static void set_default_test_all(struct selftest *st, unsigned long count)
-{
-       unsigned long i;
-
-       for (i = 0; i < count; i++)
-               if (st[i].enabled)
-                       return;
-
-       for (i = 0; i < count; i++)
-               st[i].enabled = true;
-}
-
-static int run_selftests(struct selftest *st, unsigned long count)
-{
-       int err = 0;
-
-       set_default_test_all(st, count);
-
-       /* Tests are listed in natural order in selftests.h */
-       for (; count--; st++) {
-               if (!st->enabled)
-                       continue;
-
-               pr_info("dma-buf: Running %s\n", st->name);
-               err = st->func();
-               if (err)
-                       break;
-       }
-
-       if (WARN(err > 0 || err == -ENOTTY,
-                "%s returned %d, conflicting with selftest's magic values!\n",
-                st->name, err))
-               err = -1;
-
-       return err;
-}
-
-static int __init st_init(void)
-{
-       return run_selftests(selftests, ARRAY_SIZE(selftests));
-}
-
-static void __exit st_exit(void)
-{
-}
-
-module_param_named(st_filter, __st_filter, charp, 0400);
-module_init(st_init);
-module_exit(st_exit);
-
-MODULE_DESCRIPTION("Self-test harness for dma-buf");
-MODULE_LICENSE("GPL and additional rights");
diff --git a/drivers/dma-buf/selftest.h b/drivers/dma-buf/selftest.h
deleted file mode 100644 (file)
index 45793af..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-/*
- * Copyright © 2019 Intel Corporation
- */
-
-#ifndef __SELFTEST_H__
-#define __SELFTEST_H__
-
-#include <linux/compiler.h>
-
-#define selftest(name, func) int func(void);
-#include "selftests.h"
-#undef selftest
-
-struct subtest {
-       int (*func)(void *data);
-       const char *name;
-};
-
-int __subtests(const char *caller,
-              const struct subtest *st,
-              int count,
-              void *data);
-#define subtests(T, data) \
-       __subtests(__func__, T, ARRAY_SIZE(T), data)
-
-#define SUBTEST(x) { x, #x }
-
-#endif /* __SELFTEST_H__ */
diff --git a/drivers/dma-buf/selftests.h b/drivers/dma-buf/selftests.h
deleted file mode 100644 (file)
index 37b7251..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/* List each unit test as selftest(name, function)
- *
- * The name is used as both an enum and expanded as subtest__name to create
- * a module parameter. It must be unique and legal for a C identifier.
- *
- * The function should be of type int function(void). It may be conditionally
- * compiled using #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST).
- *
- * Tests are executed in order by igt/dmabuf_selftest
- */
-selftest(sanitycheck, __sanitycheck__) /* keep first (igt selfcheck) */
index 3562a02ef7adcab607e0b4494e6f8de01454cd3e..52a3a59b4ba2c3aed8650eb30b09b094823303d9 100644 (file)
@@ -51,7 +51,7 @@ config DRM_I915_DEBUG
        select DRM_DEBUG_MM if DRM=y
        select DRM_EXPORT_FOR_TESTS if m
        select DRM_KUNIT_TEST if KUNIT
-       select DMABUF_SELFTESTS
+       select DMABUF_KUNIT_TEST if KUNIT
        select SW_SYNC # signaling validation framework (igt/syncobj*)
        select DRM_I915_WERROR
        select DRM_I915_DEBUG_GEM