diff options
Diffstat (limited to 'drivers/pmdomain/ti')
-rw-r--r-- | drivers/pmdomain/ti/Kconfig | 22 | ||||
-rw-r--r-- | drivers/pmdomain/ti/Makefile | 2 | ||||
-rw-r--r-- | drivers/pmdomain/ti/ti_sci_pm_domains.c | 8 |
3 files changed, 29 insertions, 3 deletions
diff --git a/drivers/pmdomain/ti/Kconfig b/drivers/pmdomain/ti/Kconfig new file mode 100644 index 0000000000..67c608bf7e --- /dev/null +++ b/drivers/pmdomain/ti/Kconfig @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: GPL-2.0-only + +config OMAP2PLUS_PRM + bool + depends on ARCH_OMAP2PLUS + default ARCH_OMAP2PLUS + +if SOC_TI + +config TI_SCI_PM_DOMAINS + tristate "TI SCI PM Domains Driver" + depends on TI_SCI_PROTOCOL + depends on PM_GENERIC_DOMAINS + help + Generic power domain implementation for TI device implementing + the TI SCI protocol. + + To compile this as a module, choose M here. The module will be + called ti_sci_pm_domains. Note this is needed early in boot before + rootfs may be available. + +endif diff --git a/drivers/pmdomain/ti/Makefile b/drivers/pmdomain/ti/Makefile index 69580afbb4..af6cd056c1 100644 --- a/drivers/pmdomain/ti/Makefile +++ b/drivers/pmdomain/ti/Makefile @@ -1,3 +1,3 @@ # SPDX-License-Identifier: GPL-2.0 -obj-$(CONFIG_ARCH_OMAP2PLUS) += omap_prm.o +obj-$(CONFIG_OMAP2PLUS_PRM) += omap_prm.o obj-$(CONFIG_TI_SCI_PM_DOMAINS) += ti_sci_pm_domains.o diff --git a/drivers/pmdomain/ti/ti_sci_pm_domains.c b/drivers/pmdomain/ti/ti_sci_pm_domains.c index 34645104fe..c091d569ec 100644 --- a/drivers/pmdomain/ti/ti_sci_pm_domains.c +++ b/drivers/pmdomain/ti/ti_sci_pm_domains.c @@ -153,14 +153,18 @@ static int ti_sci_pm_domain_probe(struct platform_device *pdev) max_id = args.args[0]; pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL); - if (!pd) + if (!pd) { + of_node_put(np); return -ENOMEM; + } pd->pd.name = devm_kasprintf(dev, GFP_KERNEL, "pd:%d", args.args[0]); - if (!pd->pd.name) + if (!pd->pd.name) { + of_node_put(np); return -ENOMEM; + } pd->pd.power_off = ti_sci_pd_power_off; pd->pd.power_on = ti_sci_pd_power_on; |