summaryrefslogtreecommitdiffstats
path: root/drivers/soc
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzk@kernel.org>2018-01-30 22:18:16 +0100
committerKrzysztof Kozlowski <krzk@kernel.org>2018-02-13 18:47:25 +0100
commit7353c54620732797dcc3b4b1fc6f3cc0c0d9b6ef (patch)
tree8cabd2c9837b9cb9990912d7d859c1bf58e96178 /drivers/soc
parentbcb41a53b0b075600cb821302e7177ca5ab62efd (diff)
downloadlinux-7353c54620732797dcc3b4b1fc6f3cc0c0d9b6ef.tar.bz2
soc: samsung: pmu: Populate children syscon nodes
The syscon poweroff and restart nodes logically belong to the Power Management Unit so populate possible children. This also requires providing compatibles for Exynos5410 and Exynos7 so the PMU device and its children will be instantiated for them as well. Just like Exynos5433, these chipsets are not yet supported by the PMU driver. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Diffstat (limited to 'drivers/soc')
-rw-r--r--drivers/soc/samsung/exynos-pmu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/soc/samsung/exynos-pmu.c b/drivers/soc/samsung/exynos-pmu.c
index f56adbd9fb8b..d34ca201b8b7 100644
--- a/drivers/soc/samsung/exynos-pmu.c
+++ b/drivers/soc/samsung/exynos-pmu.c
@@ -85,10 +85,14 @@ static const struct of_device_id exynos_pmu_of_device_ids[] = {
.compatible = "samsung,exynos5250-pmu",
.data = exynos_pmu_data_arm_ptr(exynos5250_pmu_data),
}, {
+ .compatible = "samsung,exynos5410-pmu",
+ }, {
.compatible = "samsung,exynos5420-pmu",
.data = exynos_pmu_data_arm_ptr(exynos5420_pmu_data),
}, {
.compatible = "samsung,exynos5433-pmu",
+ }, {
+ .compatible = "samsung,exynos7-pmu",
},
{ /*sentinel*/ },
};
@@ -126,6 +130,9 @@ static int exynos_pmu_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, pmu_context);
+ if (devm_of_platform_populate(dev))
+ dev_err(dev, "Error populating children, reboot and poweroff might not work properly\n");
+
dev_dbg(dev, "Exynos PMU Driver probe done\n");
return 0;
}