1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * R-Car LVDS Encoder
4  *
5  * Copyright (C) 2013-2018 Renesas Electronics Corporation
6  *
7  * Contact: Laurent Pinchart (laurent.pinchart@ideasonboard.com)
8  */
9 
10 #ifndef __RCAR_LVDS_H__
11 #define __RCAR_LVDS_H__
12 
13 struct drm_bridge;
14 
15 #if IS_ENABLED(CONFIG_DRM_RCAR_LVDS)
16 int rcar_lvds_pclk_enable(struct drm_bridge *bridge, unsigned long freq,
17 			  bool dot_clk_only);
18 void rcar_lvds_pclk_disable(struct drm_bridge *bridge, bool dot_clk_only);
19 bool rcar_lvds_dual_link(struct drm_bridge *bridge);
20 bool rcar_lvds_is_connected(struct drm_bridge *bridge);
21 #else
rcar_lvds_pclk_enable(struct drm_bridge * bridge,unsigned long freq,bool dot_clk_only)22 static inline int rcar_lvds_pclk_enable(struct drm_bridge *bridge,
23 					unsigned long freq, bool dot_clk_only)
24 {
25 	return -ENOSYS;
26 }
rcar_lvds_pclk_disable(struct drm_bridge * bridge,bool dot_clock_only)27 static inline void rcar_lvds_pclk_disable(struct drm_bridge *bridge,
28 					  bool dot_clock_only)
29 {
30 }
rcar_lvds_dual_link(struct drm_bridge * bridge)31 static inline bool rcar_lvds_dual_link(struct drm_bridge *bridge)
32 {
33 	return false;
34 }
rcar_lvds_is_connected(struct drm_bridge * bridge)35 static inline bool rcar_lvds_is_connected(struct drm_bridge *bridge)
36 {
37 	return false;
38 }
39 #endif /* CONFIG_DRM_RCAR_LVDS */
40 
41 #endif /* __RCAR_LVDS_H__ */
42