This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: staging: media: starfive: camss: Add interrupt handling
Author:  Jack Zhu <jack....@starfivetech.com>
Date:    Wed Oct 25 11:14:20 2023 +0800

Parse interrupt resources and register interrupt handlers.

Signed-off-by: Jack Zhu <jack....@starfivetech.com>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 drivers/staging/media/starfive/camss/stf-camss.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

---

diff --git a/drivers/staging/media/starfive/camss/stf-camss.c 
b/drivers/staging/media/starfive/camss/stf-camss.c
index c9743ff23b81..7174a07732f2 100644
--- a/drivers/staging/media/starfive/camss/stf-camss.c
+++ b/drivers/staging/media/starfive/camss/stf-camss.c
@@ -35,6 +35,12 @@ static const char * const stfcamss_resets[] = {
        "isp_top_axi",
 };
 
+static const struct stf_isr_data stf_isrs[] = {
+       {"wr_irq", stf_wr_irq_handler},
+       {"isp_irq", stf_isp_irq_handler},
+       {"line_irq", stf_line_irq_handler},
+};
+
 static int stfcamss_get_mem_res(struct stfcamss *stfcamss)
 {
        struct platform_device *pdev = to_platform_device(stfcamss->dev);
@@ -160,6 +166,21 @@ static int stfcamss_probe(struct platform_device *pdev)
 
        stfcamss->dev = dev;
 
+       for (i = 0; i < ARRAY_SIZE(stf_isrs); ++i) {
+               int irq;
+
+               irq = platform_get_irq(pdev, i);
+               if (irq < 0)
+                       return irq;
+
+               ret = devm_request_irq(stfcamss->dev, irq, stf_isrs[i].isr, 0,
+                                      stf_isrs[i].name, stfcamss);
+               if (ret) {
+                       dev_err(dev, "request irq failed: %d\n", ret);
+                       return ret;
+               }
+       }
+
        stfcamss->nclks = ARRAY_SIZE(stfcamss->sys_clk);
        for (i = 0; i < stfcamss->nclks; ++i)
                stfcamss->sys_clk[i].id = stfcamss_clocks[i];

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to