diff --git a/drivers/dax/dax.c b/drivers/dax/dax.c
index 03bb54f..e7d8a39 100644
--- a/drivers/dax/dax.c
+++ b/drivers/dax/dax.c
@@ -558,8 +558,8 @@
 	device_unregister(dev);
 }
 
-int devm_create_dax_dev(struct dax_region *dax_region, struct resource *res,
-		int count)
+struct dax_dev *devm_create_dax_dev(struct dax_region *dax_region,
+		struct resource *res, int count)
 {
 	struct device *parent = dax_region->dev;
 	struct dax_dev *dax_dev;
@@ -570,7 +570,7 @@
 
 	dax_dev = kzalloc(sizeof(*dax_dev) + sizeof(*res) * count, GFP_KERNEL);
 	if (!dax_dev)
-		return -ENOMEM;
+		return ERR_PTR(-ENOMEM);
 
 	for (i = 0; i < count; i++) {
 		if (!IS_ALIGNED(res[i].start, dax_region->align)
@@ -632,10 +632,14 @@
 	rc = device_add(dev);
 	if (rc) {
 		put_device(dev);
-		return rc;
+		return ERR_PTR(rc);
 	}
 
-	return devm_add_action_or_reset(dax_region->dev, unregister_dax_dev, dev);
+	rc = devm_add_action_or_reset(dax_region->dev, unregister_dax_dev, dev);
+	if (rc)
+		return ERR_PTR(rc);
+
+	return dax_dev;
 
  err_cdev:
 	iput(dax_dev->inode);
@@ -646,7 +650,7 @@
  err_id:
 	kfree(dax_dev);
 
-	return rc;
+	return ERR_PTR(rc);
 }
 EXPORT_SYMBOL_GPL(devm_create_dax_dev);
 
