]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mailbox: qcom-ipcc: Support more IPCC instance
authorHuang Yiwei <quic_hyiwei@quicinc.com>
Mon, 22 Nov 2021 05:05:07 +0000 (13:05 +0800)
committerJassi Brar <jaswinder.singh@linaro.org>
Wed, 12 Jan 2022 05:47:33 +0000 (23:47 -0600)
Since hardware is supporting multiple IPCC instance,
use ipcc_%d instead of ipcc as the irq name to support
in driver.

Signed-off-by: Huang Yiwei <quic_hyiwei@quicinc.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
drivers/mailbox/qcom-ipcc.c

index 10cb0b5461090efc728400190edfd41038e04241..e80aaf83a0890759724b7b68dc1205de0a42bc84 100644 (file)
@@ -257,6 +257,8 @@ static int qcom_ipcc_setup_mbox(struct qcom_ipcc *ipcc,
 static int qcom_ipcc_probe(struct platform_device *pdev)
 {
        struct qcom_ipcc *ipcc;
+       static int id;
+       char *name;
        int ret;
 
        ipcc = devm_kzalloc(&pdev->dev, sizeof(*ipcc), GFP_KERNEL);
@@ -273,6 +275,10 @@ static int qcom_ipcc_probe(struct platform_device *pdev)
        if (ipcc->irq < 0)
                return ipcc->irq;
 
+       name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "ipcc_%d", id++);
+       if (!name)
+               return -ENOMEM;
+
        ipcc->irq_domain = irq_domain_add_tree(pdev->dev.of_node,
                                               &qcom_ipcc_irq_ops, ipcc);
        if (!ipcc->irq_domain)
@@ -283,7 +289,7 @@ static int qcom_ipcc_probe(struct platform_device *pdev)
                goto err_mbox;
 
        ret = devm_request_irq(&pdev->dev, ipcc->irq, qcom_ipcc_irq_fn,
-                              IRQF_TRIGGER_HIGH, "ipcc", ipcc);
+                              IRQF_TRIGGER_HIGH, name, ipcc);
        if (ret < 0) {
                dev_err(&pdev->dev, "Failed to register the irq: %d\n", ret);
                goto err_req_irq;