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