mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
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: ae01d3183d ("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>
This commit is contained in:
parent
b78287c54b
commit
40818680d8
|
|
@ -1262,9 +1262,7 @@ static int adv7511_probe(struct i2c_client *i2c)
|
|||
|
||||
adv7511->bridge.ops = DRM_BRIDGE_OP_DETECT |
|
||||
DRM_BRIDGE_OP_EDID |
|
||||
DRM_BRIDGE_OP_HDMI |
|
||||
DRM_BRIDGE_OP_HDMI_AUDIO |
|
||||
DRM_BRIDGE_OP_HDMI_CEC_ADAPTER;
|
||||
DRM_BRIDGE_OP_HDMI;
|
||||
if (adv7511->i2c_main->irq)
|
||||
adv7511->bridge.ops |= DRM_BRIDGE_OP_HPD;
|
||||
|
||||
|
|
@ -1272,6 +1270,7 @@ static int adv7511_probe(struct i2c_client *i2c)
|
|||
adv7511->bridge.product = adv7511->info->name;
|
||||
|
||||
#ifdef CONFIG_DRM_I2C_ADV7511_AUDIO
|
||||
adv7511->bridge.ops |= DRM_BRIDGE_OP_HDMI_AUDIO;
|
||||
adv7511->bridge.hdmi_audio_dev = dev;
|
||||
adv7511->bridge.hdmi_audio_max_i2s_playback_channels = 2;
|
||||
adv7511->bridge.hdmi_audio_i2s_formats = (SNDRV_PCM_FMTBIT_S16_LE |
|
||||
|
|
@ -1284,6 +1283,7 @@ static int adv7511_probe(struct i2c_client *i2c)
|
|||
#endif
|
||||
|
||||
#ifdef CONFIG_DRM_I2C_ADV7511_CEC
|
||||
adv7511->bridge.ops |= DRM_BRIDGE_OP_HDMI_CEC_ADAPTER;
|
||||
adv7511->bridge.hdmi_cec_dev = dev;
|
||||
adv7511->bridge.hdmi_cec_adapter_name = dev_name(dev);
|
||||
adv7511->bridge.hdmi_cec_available_las = ADV7511_MAX_ADDRS;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user