mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
Add a directory by kernel instead of a common root, add qnap-301w and rpi4 kernel 6.1 suppport
This commit is contained in:
parent
e910436a7a
commit
46837ec4c0
9459 changed files with 362648 additions and 116345 deletions
|
|
@ -0,0 +1,127 @@
|
|||
From b9412c0cb9b2626d274534a3dadd04c49e1455b2 Mon Sep 17 00:00:00 2001
|
||||
From: Maxime Ripard <maxime@cerno.tech>
|
||||
Date: Mon, 14 Nov 2022 14:00:21 +0100
|
||||
Subject: [PATCH 489/726] drm/tests: Add Kunit Helpers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
As the number of kunit tests in KMS grows further, we start to have
|
||||
multiple test suites that, for example, need to register a mock DRM
|
||||
driver to interact with the KMS function they are supposed to test.
|
||||
|
||||
Let's add a file meant to provide those kind of helpers to avoid
|
||||
duplication.
|
||||
|
||||
Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
Tested-by: Mateusz Kwiatkowski <kfyatek+publicgit@gmail.com>
|
||||
Link: https://lore.kernel.org/r/20220728-rpi-analog-tv-properties-v9-2-24b168e5bcd5@cerno.tech
|
||||
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
---
|
||||
drivers/gpu/drm/tests/Makefile | 1 +
|
||||
drivers/gpu/drm/tests/drm_kunit_helpers.c | 64 +++++++++++++++++++++++
|
||||
drivers/gpu/drm/tests/drm_kunit_helpers.h | 9 ++++
|
||||
3 files changed, 74 insertions(+)
|
||||
create mode 100644 drivers/gpu/drm/tests/drm_kunit_helpers.c
|
||||
create mode 100644 drivers/gpu/drm/tests/drm_kunit_helpers.h
|
||||
|
||||
diff --git a/drivers/gpu/drm/tests/Makefile b/drivers/gpu/drm/tests/Makefile
|
||||
index 2d9f49b62ecb..b29ef1085cad 100644
|
||||
--- a/drivers/gpu/drm/tests/Makefile
|
||||
+++ b/drivers/gpu/drm/tests/Makefile
|
||||
@@ -8,6 +8,7 @@ obj-$(CONFIG_DRM_KUNIT_TEST) += \
|
||||
drm_format_helper_test.o \
|
||||
drm_format_test.o \
|
||||
drm_framebuffer_test.o \
|
||||
+ drm_kunit_helpers.o \
|
||||
drm_mm_test.o \
|
||||
drm_plane_helper_test.o \
|
||||
drm_rect_test.o
|
||||
diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.c b/drivers/gpu/drm/tests/drm_kunit_helpers.c
|
||||
new file mode 100644
|
||||
index 000000000000..d3f0d681b685
|
||||
--- /dev/null
|
||||
+++ b/drivers/gpu/drm/tests/drm_kunit_helpers.c
|
||||
@@ -0,0 +1,64 @@
|
||||
+#include <drm/drm_drv.h>
|
||||
+#include <drm/drm_managed.h>
|
||||
+
|
||||
+#include <kunit/resource.h>
|
||||
+
|
||||
+#include <linux/device.h>
|
||||
+
|
||||
+struct kunit_dev {
|
||||
+ struct drm_device base;
|
||||
+};
|
||||
+
|
||||
+static const struct drm_mode_config_funcs drm_mode_config_funcs = {
|
||||
+};
|
||||
+
|
||||
+static int dev_init(struct kunit_resource *res, void *ptr)
|
||||
+{
|
||||
+ char *name = ptr;
|
||||
+ struct device *dev;
|
||||
+
|
||||
+ dev = root_device_register(name);
|
||||
+ if (IS_ERR(dev))
|
||||
+ return PTR_ERR(dev);
|
||||
+
|
||||
+ res->data = dev;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void dev_free(struct kunit_resource *res)
|
||||
+{
|
||||
+ struct device *dev = res->data;
|
||||
+
|
||||
+ root_device_unregister(dev);
|
||||
+}
|
||||
+
|
||||
+struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name)
|
||||
+{
|
||||
+ struct kunit_dev *kdev;
|
||||
+ struct drm_device *drm;
|
||||
+ struct drm_driver *driver;
|
||||
+ struct device *dev;
|
||||
+ int ret;
|
||||
+
|
||||
+ dev = kunit_alloc_resource(test, dev_init, dev_free, GFP_KERNEL, name);
|
||||
+ if (!dev)
|
||||
+ return ERR_PTR(-ENOMEM);
|
||||
+
|
||||
+ driver = kunit_kzalloc(test, sizeof(*driver), GFP_KERNEL);
|
||||
+ if (!driver)
|
||||
+ return ERR_PTR(-ENOMEM);
|
||||
+
|
||||
+ driver->driver_features = features;
|
||||
+ kdev = devm_drm_dev_alloc(dev, driver, struct kunit_dev, base);
|
||||
+ if (IS_ERR(kdev))
|
||||
+ return ERR_CAST(kdev);
|
||||
+
|
||||
+ drm = &kdev->base;
|
||||
+ drm->mode_config.funcs = &drm_mode_config_funcs;
|
||||
+
|
||||
+ ret = drmm_mode_config_init(drm);
|
||||
+ if (ret)
|
||||
+ return ERR_PTR(ret);
|
||||
+
|
||||
+ return drm;
|
||||
+}
|
||||
diff --git a/drivers/gpu/drm/tests/drm_kunit_helpers.h b/drivers/gpu/drm/tests/drm_kunit_helpers.h
|
||||
new file mode 100644
|
||||
index 000000000000..f13a18dd1c6d
|
||||
--- /dev/null
|
||||
+++ b/drivers/gpu/drm/tests/drm_kunit_helpers.h
|
||||
@@ -0,0 +1,9 @@
|
||||
+#ifndef DRM_KUNIT_HELPERS_H_
|
||||
+#define DRM_KUNIT_HELPERS_H_
|
||||
+
|
||||
+struct drm_device;
|
||||
+struct kunit;
|
||||
+
|
||||
+struct drm_device *drm_kunit_device_init(struct kunit *test, u32 features, char *name);
|
||||
+
|
||||
+#endif // DRM_KUNIT_HELPERS_H_
|
||||
--
|
||||
2.33.1
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue