Skip to content

Commit 4081868

Browse files
cristicclumag
authored andcommitted
drm/bridge: adv7511: Fix DRM_BRIDGE_OP_HDMI_{AUDIO|CEC_ADAPTER} setup
When driver is built with either CONFIG_DRM_I2C_ADV7511_AUDIO or CONFIG_DRM_I2C_ADV7511_CEC disabled, drm_bridge_connector_init() is expected to fail with -EINVAL. That is because all required audio (or CEC) related callbacks in adv7511_bridge_funcs ended up being NULL. Set DRM_BRIDGE_OP_HDMI_AUDIO and DRM_BRIDGE_OP_HDMI_CEC_ADAPTER bridge ops only when the aforementioned kernel config options have been enabled. Fixes: ae01d31 ("drm/bridge: adv7511: switch to the HDMI connector helpers") Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250704-adv7511-bridge-ops-fix-v1-1-c1385922066e@collabora.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
1 parent b78287c commit 4081868

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

drivers/gpu/drm/bridge/adv7511/adv7511_drv.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,16 +1262,15 @@ static int adv7511_probe(struct i2c_client *i2c)
12621262

12631263
adv7511->bridge.ops = DRM_BRIDGE_OP_DETECT |
12641264
DRM_BRIDGE_OP_EDID |
1265-
DRM_BRIDGE_OP_HDMI |
1266-
DRM_BRIDGE_OP_HDMI_AUDIO |
1267-
DRM_BRIDGE_OP_HDMI_CEC_ADAPTER;
1265+
DRM_BRIDGE_OP_HDMI;
12681266
if (adv7511->i2c_main->irq)
12691267
adv7511->bridge.ops |= DRM_BRIDGE_OP_HPD;
12701268

12711269
adv7511->bridge.vendor = "Analog";
12721270
adv7511->bridge.product = adv7511->info->name;
12731271

12741272
#ifdef CONFIG_DRM_I2C_ADV7511_AUDIO
1273+
adv7511->bridge.ops |= DRM_BRIDGE_OP_HDMI_AUDIO;
12751274
adv7511->bridge.hdmi_audio_dev = dev;
12761275
adv7511->bridge.hdmi_audio_max_i2s_playback_channels = 2;
12771276
adv7511->bridge.hdmi_audio_i2s_formats = (SNDRV_PCM_FMTBIT_S16_LE |
@@ -1284,6 +1283,7 @@ static int adv7511_probe(struct i2c_client *i2c)
12841283
#endif
12851284

12861285
#ifdef CONFIG_DRM_I2C_ADV7511_CEC
1286+
adv7511->bridge.ops |= DRM_BRIDGE_OP_HDMI_CEC_ADAPTER;
12871287
adv7511->bridge.hdmi_cec_dev = dev;
12881288
adv7511->bridge.hdmi_cec_adapter_name = dev_name(dev);
12891289
adv7511->bridge.hdmi_cec_available_las = ADV7511_MAX_ADDRS;

0 commit comments

Comments
 (0)