[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250219030226.535893-1-changhuang.liang@starfivetech.com>
Date: Tue, 18 Feb 2025 19:02:26 -0800
From: Changhuang Liang <changhuang.liang@...rfivetech.com>
To: y-abhilashchandra@...com
Cc: conor+dt@...nel.org,
devarsht@...com,
devicetree@...r.kernel.org,
jai.luthra@...ux.dev,
krzk+dt@...nel.org,
linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org,
mchehab@...nel.org,
mripard@...nel.org,
r-donadkar@...com,
robh@...nel.org,
u-kumar1@...com,
vaishnav.a@...com
Subject: [PATCH v2 2/2] media: cadence: csi2rx: Enable csi2rx_err_irq interrupt and add support for VIDIOC_LOG_STATUS
> Enable the csi2rx_err_irq interrupt to record any errors during streaming
> and also add support for VIDIOC_LOG_STATUS ioctl. The VIDIOC_LOG_STATUS
> ioctl can be invoked from user space to retrieve the device status,
> including details about any errors.
>
> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@...com>
> ---
[...]
> @@ -665,7 +752,7 @@ static int csi2rx_probe(struct platform_device *pdev)
> {
> struct csi2rx_priv *csi2rx;
> unsigned int i;
> - int ret;
> + int irq, ret;
>
> csi2rx = kzalloc(sizeof(*csi2rx), GFP_KERNEL);
> if (!csi2rx)
> @@ -703,6 +790,19 @@ static int csi2rx_probe(struct platform_device *pdev)
> if (ret)
> goto err_cleanup;
>
> + irq = platform_get_irq_byname_optional(to_platform_device(csi2rx->dev), "error");
Can use the "pdev" directly ?
> + if (irq < 0) {
> + dev_dbg(csi2rx->dev, "Optional interrupt not defined, proceeding without it\n");
> + } else {
> + ret = devm_request_irq(csi2rx->dev, irq, csi2rx_irq_handler, 0,
> + "csi2rx-irq", csi2rx);
> + if (ret) {
> + dev_err(csi2rx->dev, "Unable to request interrupt: %d\n", ret);
> + return ret;
> + }
> + }
> +
> ret = v4l2_subdev_init_finalize(&csi2rx->subdev);
> if (ret)
> goto err_cleanup;
> --
> 2.34.1
>
Powered by blists - more mailing lists