To avoid setting it up even if the hardware is not actually connected
to anything physically.

Besides, the bindings explicitly notes that port definitions are
"optional if they are not connected to anything at the hardware level".

Signed-off-by: Alexander Riesen <[email protected]>
---
 drivers/media/i2c/adv748x/adv748x-dai.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/media/i2c/adv748x/adv748x-dai.c 
b/drivers/media/i2c/adv748x/adv748x-dai.c
index 185f78023e91..f9cc47fa9ad1 100644
--- a/drivers/media/i2c/adv748x/adv748x-dai.c
+++ b/drivers/media/i2c/adv748x/adv748x-dai.c
@@ -216,6 +216,11 @@ int adv748x_dai_init(struct adv748x_dai *dai)
        int ret;
        struct adv748x_state *state = adv748x_dai_to_state(dai);
 
+       if (!state->endpoints[ADV748X_PORT_I2S]) {
+               adv_info(state, "no I2S port, DAI disabled\n");
+               ret = 0;
+               goto fail;
+       }
        dai->mclk_name = kasprintf(GFP_KERNEL, "%s.%s-i2s-mclk",
                                   state->dev->driver->name,
                                   dev_name(state->dev));
-- 
2.25.1.25.g9ecbe7eb18


_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to