/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright (C) 2023 Linaro Ltd. * * Author: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> */ #ifndef DRM_AUX_BRIDGE_H #define DRM_AUX_BRIDGE_H #include <drm/drm_connector.h> struct auxiliary_device; #if IS_ENABLED(CONFIG_DRM_AUX_BRIDGE) int drm_aux_bridge_register(struct device *parent); #else static inline int drm_aux_bridge_register(struct device *parent) { return 0; } #endif #if IS_ENABLED(CONFIG_DRM_AUX_HPD_BRIDGE) struct auxiliary_device *devm_drm_dp_hpd_bridge_alloc(struct device *parent, struct device_node *np); int devm_drm_dp_hpd_bridge_add(struct device *dev, struct auxiliary_device *adev); struct device *drm_dp_hpd_bridge_register(struct device *parent, struct device_node *np); void drm_aux_hpd_bridge_notify(struct device *dev, enum drm_connector_status status); #else static inline struct auxiliary_device *devm_drm_dp_hpd_bridge_alloc(struct device *parent, struct device_node *np) { return NULL; } static inline int devm_drm_dp_hpd_bridge_add(struct device *dev, struct auxiliary_device *adev) { return 0; } static inline struct device *drm_dp_hpd_bridge_register(struct device *parent, struct device_node *np) { return NULL; } static inline void drm_aux_hpd_bridge_notify(struct device *dev, enum drm_connector_status status) { } #endif #endif