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 10 static void hmem_test_work(struct work_struct *work) 11 { 12 } 13 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 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 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