diff options
author | Dilip Kota <dkota@codeaurora.org> | 2016-02-09 12:44:55 +0530 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:21:18 -0700 |
commit | 53ae191724fa6d2ed08819c6885d775514104b6c (patch) | |
tree | 990245d01eac152d9306afda1391274782040bfa /drivers | |
parent | abab157fa9dedd8bee08ae5a9115599ee977f803 (diff) |
slim-msm-ngd: Register with specific subsystem
Slimbus master is present in different subsystem
on different tragets.
Register with specific subsystem as mentioned in
the device tree.
Change-Id: I1bee7fdd7578deedca8e4e43af9055b41b96d652
Signed-off-by: Dilip Kota <dkota@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/slimbus/slim-msm-ngd.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/slimbus/slim-msm-ngd.c b/drivers/slimbus/slim-msm-ngd.c index 7cb2dcef80ef..2fbfd4c258df 100644 --- a/drivers/slimbus/slim-msm-ngd.c +++ b/drivers/slimbus/slim-msm-ngd.c @@ -1496,7 +1496,7 @@ static int ngd_slim_probe(struct platform_device *pdev) struct resource *irq, *bam_irq; bool rxreg_access = false; bool slim_mdm = false; - const char *ext_modem_id = NULL; + const char *ext_modem_id = NULL, *subsys_name = NULL; slim_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, "slimbus_physical"); @@ -1679,9 +1679,17 @@ static int ngd_slim_probe(struct platform_device *pdev) pm_runtime_set_suspended(dev->dev); pm_runtime_enable(dev->dev); - dev->dsp.nb.notifier_call = dsp_ssr_notify_cb; - dev->dsp.ssr = subsys_notif_register_notifier("adsp", - &dev->dsp.nb); + ret = of_property_read_string(pdev->dev.of_node, + "qcom,subsys-name", &subsys_name); + if (ret) { + dev->dsp.nb.notifier_call = dsp_ssr_notify_cb; + dev->dsp.ssr = subsys_notif_register_notifier("adsp", + &dev->dsp.nb); + } else { + dev->dsp.nb.notifier_call = dsp_ssr_notify_cb; + dev->dsp.ssr = subsys_notif_register_notifier(subsys_name, + &dev->dsp.nb); + } if (IS_ERR_OR_NULL(dev->dsp.ssr)) dev_err(dev->dev, "subsys_notif_register_notifier failed %p", |