diff options
-rw-r--r-- | drivers/regulator/core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 9a09f3cdbabb..b97ffd2365d3 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c | |||
@@ -3447,7 +3447,7 @@ regulator_register(const struct regulator_desc *regulator_desc, | |||
3447 | 3447 | ||
3448 | /* register with sysfs */ | 3448 | /* register with sysfs */ |
3449 | rdev->dev.class = ®ulator_class; | 3449 | rdev->dev.class = ®ulator_class; |
3450 | rdev->dev.of_node = config->of_node; | 3450 | rdev->dev.of_node = of_node_get(config->of_node); |
3451 | rdev->dev.parent = dev; | 3451 | rdev->dev.parent = dev; |
3452 | dev_set_name(&rdev->dev, "regulator.%d", | 3452 | dev_set_name(&rdev->dev, "regulator.%d", |
3453 | atomic_inc_return(®ulator_no) - 1); | 3453 | atomic_inc_return(®ulator_no) - 1); |
@@ -3589,6 +3589,7 @@ void regulator_unregister(struct regulator_dev *rdev) | |||
3589 | list_del(&rdev->list); | 3589 | list_del(&rdev->list); |
3590 | kfree(rdev->constraints); | 3590 | kfree(rdev->constraints); |
3591 | regulator_ena_gpio_free(rdev); | 3591 | regulator_ena_gpio_free(rdev); |
3592 | of_node_put(rdev->dev.of_node); | ||
3592 | device_unregister(&rdev->dev); | 3593 | device_unregister(&rdev->dev); |
3593 | mutex_unlock(®ulator_list_mutex); | 3594 | mutex_unlock(®ulator_list_mutex); |
3594 | } | 3595 | } |