> 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@xxxxxx> > --- [...] > @@ -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 >