xref: /linux/tools/testing/cxl/test/hmem_test.c (revision 920f27122cbacfd3b540a3f2f67b0145203d5581)
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (C) 2026 Intel Corporation */
3 #include <linux/moduleparam.h>
4 #include <linux/workqueue.h>
5 #include "../../../drivers/dax/bus.h"
6 #include "mock.h"
7 
8 bool hmem_test;
9 
hmem_test_work(struct work_struct * work)10 static void hmem_test_work(struct work_struct *work)
11 {
12 }
13 
hmem_test_release(struct device * dev)14 static void hmem_test_release(struct device *dev)
15 {
16 	struct hmem_platform_device *hpdev =
17 		container_of(dev, typeof(*hpdev), pdev.dev);
18 
19 	memset(hpdev, 0, sizeof(*hpdev));
20 }
21 
22 static struct hmem_platform_device hmem_test_device = {
23 	.pdev = {
24 		.name = "hmem_platform",
25 		.id = 1,
26 		.dev = {
27 			.release = hmem_test_release,
28 		},
29 	},
30 	.work = __WORK_INITIALIZER(hmem_test_device.work, hmem_test_work),
31 };
32 
hmem_test_init(void)33 int hmem_test_init(void)
34 {
35 	if (!hmem_test)
36 		return 0;
37 
38 	return platform_device_register(&hmem_test_device.pdev);
39 }
40 
hmem_test_exit(void)41 void hmem_test_exit(void)
42 {
43 	if (hmem_test)
44 		platform_device_unregister(&hmem_test_device.pdev);
45 }
46 
47 module_param(hmem_test, bool, 0444);
48 MODULE_PARM_DESC(hmem_test, "Enable/disable the dax_hmem test platform device");
49