1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2019 Intel Corporation
4  */
5 
6 #ifndef __INTEL_FBDEV_H__
7 #define __INTEL_FBDEV_H__
8 
9 #include <linux/types.h>
10 
11 struct drm_device;
12 struct drm_i915_private;
13 struct intel_fbdev;
14 struct intel_framebuffer;
15 
16 #ifdef CONFIG_DRM_FBDEV_EMULATION
17 int intel_fbdev_init(struct drm_device *dev);
18 void intel_fbdev_initial_config_async(struct drm_i915_private *dev_priv);
19 void intel_fbdev_unregister(struct drm_i915_private *dev_priv);
20 void intel_fbdev_fini(struct drm_i915_private *dev_priv);
21 void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous);
22 void intel_fbdev_output_poll_changed(struct drm_device *dev);
23 void intel_fbdev_restore_mode(struct drm_i915_private *dev_priv);
24 struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev);
25 #else
26 static inline int intel_fbdev_init(struct drm_device *dev)
27 {
28 	return 0;
29 }
30 
31 static inline void intel_fbdev_initial_config_async(struct drm_i915_private *dev_priv)
32 {
33 }
34 
35 static inline void intel_fbdev_unregister(struct drm_i915_private *dev_priv)
36 {
37 }
38 
39 static inline void intel_fbdev_fini(struct drm_i915_private *dev_priv)
40 {
41 }
42 
43 static inline void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous)
44 {
45 }
46 
47 static inline void intel_fbdev_output_poll_changed(struct drm_device *dev)
48 {
49 }
50 
51 static inline void intel_fbdev_restore_mode(struct drm_i915_private *i915)
52 {
53 }
54 static inline struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev)
55 {
56 	return NULL;
57 }
58 #endif
59 
60 #endif /* __INTEL_FBDEV_H__ */
61