diff options
Diffstat (limited to 'drivers/cxl/acpi.c')
| -rw-r--r-- | drivers/cxl/acpi.c | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c index d15a6aec0331..40286f5df812 100644 --- a/drivers/cxl/acpi.c +++ b/drivers/cxl/acpi.c @@ -275,6 +275,13 @@ static int add_root_nvdimm_bridge(struct device *match, void *data)  	return 1;  } +static struct lock_class_key cxl_root_key; + +static void cxl_acpi_lock_reset_class(void *dev) +{ +	device_lock_reset_class(dev); +} +  static int cxl_acpi_probe(struct platform_device *pdev)  {  	int rc; @@ -283,6 +290,12 @@ static int cxl_acpi_probe(struct platform_device *pdev)  	struct acpi_device *adev = ACPI_COMPANION(host);  	struct cxl_cfmws_context ctx; +	device_lock_set_class(&pdev->dev, &cxl_root_key); +	rc = devm_add_action_or_reset(&pdev->dev, cxl_acpi_lock_reset_class, +				      &pdev->dev); +	if (rc) +		return rc; +  	root_port = devm_cxl_add_port(host, host, CXL_RESOURCE_NONE, NULL);  	if (IS_ERR(root_port))  		return PTR_ERR(root_port); | 
