diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 57946d80b02d..82172f539d9e 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -379,6 +379,13 @@ config DRM_TI_TPD12S015 Texas Instruments TPD12S015 HDMI level shifter and ESD protection driver. +config DRM_I2C_TI_983 + tristate "TI DS90UB983/DS90UB984/DS90UBMCU Serdes serializer deserializer support" + depends on DRM_BRIDGE + default y + help + Texas Instruments DS90UB983 and DS90UB984 Serdes driver + source "drivers/gpu/drm/bridge/analogix/Kconfig" source "drivers/gpu/drm/bridge/adv7511/Kconfig" diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile index bb30ed34e4a8..1b6ade119056 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -38,4 +38,4 @@ obj-y += analogix/ obj-y += cadence/ obj-y += imx/ obj-y += synopsys/ -obj-y += ti/ +obj-$(CONFIG_DRM_I2C_TI_983) += ti/ diff --git a/drivers/gpu/drm/bridge/ti/Makefile b/drivers/gpu/drm/bridge/ti/Makefile index 46b40713d279..1d320d4b73ba 100644 --- a/drivers/gpu/drm/bridge/ti/Makefile +++ b/drivers/gpu/drm/bridge/ti/Makefile @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 # Makefile for max serdes/deserdes i2c drivers. # -CONFIG_DRM_I2C_TI_983=y -ccflags-y +=-DDEBUG +ccflags-y += -DDEBUG fpd_dp_ser_drv-obj := fpd_dp_ser_drv.o -obj-$(CONFIG_DRM_I2C_TI_983)+=fpd_dp_ser_drv.o +obj-$(CONFIG_DRM_I2C_TI_983) += fpd_dp_ser_drv.o diff --git a/drivers/gpu/drm/i915/display/intel_backlight.c b/drivers/gpu/drm/i915/display/intel_backlight.c index 156138b5b257..5b263efaf0aa 100644 --- a/drivers/gpu/drm/i915/display/intel_backlight.c +++ b/drivers/gpu/drm/i915/display/intel_backlight.c @@ -1798,8 +1798,10 @@ void intel_backlight_init_funcs(struct intel_panel *panel) connector->panel.backlight.power = intel_pps_backlight_power; } +#ifdef CONFIG_DRM_I2C_TI_983 if (intel_dp_mcu_init_backlight_funcs(connector) == 0) return; +#endif /* We're using a standard PWM backlight interface */ panel->backlight.funcs = &pwm_bl_funcs; diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index b3d4383641cc..dbdd5950921a 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -5494,6 +5494,8 @@ void intel_dp_mst_resume(struct drm_i915_private *dev_priv) } } + +#ifdef CONFIG_DRM_I2C_TI_983 extern struct i2c_adapter *i2c_adap_mcu; char intel_dp_ser_mcu_read_reg(struct drm_device *dev, struct i2c_adapter *adapter, u8 reg_addr, u8 *val) @@ -5683,3 +5685,4 @@ int intel_dp_mcu_init_backlight_funcs(struct intel_connector *intel_connector) return 0; } +#endif diff --git a/drivers/gpu/drm/i915/display/intel_panel.h b/drivers/gpu/drm/i915/display/intel_panel.h index 6f3322a2cfd9..0ffb2fb9916e 100644 --- a/drivers/gpu/drm/i915/display/intel_panel.h +++ b/drivers/gpu/drm/i915/display/intel_panel.h @@ -50,6 +50,8 @@ void intel_panel_add_vbt_sdvo_fixed_mode(struct intel_connector *connector); void intel_panel_add_encoder_fixed_mode(struct intel_connector *connector, struct intel_encoder *encoder); +#ifdef CONFIG_DRM_I2C_TI_983 int intel_dp_mcu_init_backlight_funcs(struct intel_connector *intel_connector); +#endif #endif /* __INTEL_PANEL_H__ */