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