[PATCH v2 31/32] media: synopsys: csi2: Remove source pad connected check at dw_csi2_enable_streams()

From: Frank Li
Date: Fri Aug 08 2025 - 18:49:14 EST


link_setup() callback is not called if remote linked subdev use flag
MEDIA_LNK_FL_ENABLED.

Driver needn't track if source pad is connected since framework already do
that. So remove these check and related variable.

Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
---
drivers/media/platform/synopsys/mipi-csi2.c | 21 +++------------------
include/media/dw-mipi-csi2.h | 1 -
2 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/drivers/media/platform/synopsys/mipi-csi2.c b/drivers/media/platform/synopsys/mipi-csi2.c
index 48ae455a77b2365b6df8a79a366b37c7f1dfe590..01c590a953f3f89ebb56bc42e820b09a8afbf5b9 100644
--- a/drivers/media/platform/synopsys/mipi-csi2.c
+++ b/drivers/media/platform/synopsys/mipi-csi2.c
@@ -710,18 +710,12 @@ static int dw_csi2_enable_streams(struct v4l2_subdev *sd,
u64 streams_mask)
{
struct dw_mipi_csi2_dev *csi2 = sd_to_dev(sd);
- int i, ret = 0;
+ int ret = 0;

guard(mutex)(&csi2->lock);

- if (!csi2->src_sd)
- return -EPIPE;

- for (i = 0; i < csi2->num_sink_pads; i++) {
- if (csi2->sink_linked[i])
- break;
- }
- if (i >= csi2->num_sink_pads)
+ if (!csi2->src_sd)
return -EPIPE;

if (csi2->stream_count)
@@ -773,16 +767,7 @@ static int csi2_link_setup(struct media_entity *entity,

guard(mutex)(&csi2->lock);

- if (local->flags & MEDIA_PAD_FL_SOURCE) {
- if (flags & MEDIA_LNK_FL_ENABLED) {
- if (csi2->sink_linked[local->index - 1])
- return -EBUSY;
-
- csi2->sink_linked[local->index - 1] = true;
- } else {
- csi2->sink_linked[local->index - 1] = false;
- }
- } else {
+ if (local->flags & MEDIA_PAD_FL_SINK) {
if (flags & MEDIA_LNK_FL_ENABLED) {
if (csi2->src_sd)
return -EBUSY;
diff --git a/include/media/dw-mipi-csi2.h b/include/media/dw-mipi-csi2.h
index d1afd8c6d95457c28d7e1de6935908437372572d..977a9e27cc50ad6ecfb47ebf8d42f115bc51c1ae 100644
--- a/include/media/dw-mipi-csi2.h
+++ b/include/media/dw-mipi-csi2.h
@@ -75,7 +75,6 @@ struct dw_mipi_csi2_dev {

int stream_count;
struct v4l2_subdev *src_sd;
- bool sink_linked[DW_MAX_PAD_NUM];
const struct dw_mipi_csi2_config *config;

struct dw_csi2_event *event;

--
2.34.1