media: adv748x: only activate DAI if it is described in device tree
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 <alexander.riesen@cetitec.com>
diff --git a/drivers/media/i2c/adv748x/adv748x-dai.c b/drivers/media/i2c/adv748x/adv748x-dai.c
index 185f780..f9cc47f 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));