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
11struct drm_device;
12struct drm_i915_private;
13struct intel_fbdev;
14struct intel_framebuffer;
15
16#ifdef CONFIG_DRM_FBDEV_EMULATION
17int intel_fbdev_init(struct drm_device *dev);
18void intel_fbdev_initial_config_async(struct drm_i915_private *dev_priv);
19void intel_fbdev_unregister(struct drm_i915_private *dev_priv);
20void intel_fbdev_fini(struct drm_i915_private *dev_priv);
21void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous);
22void intel_fbdev_output_poll_changed(struct drm_device *dev);
23void intel_fbdev_restore_mode(struct drm_i915_private *dev_priv);
24struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev);
25#else
26static inline int intel_fbdev_init(struct drm_device *dev)
27{
28	return 0;
29}
30
31static inline void intel_fbdev_initial_config_async(struct drm_i915_private *dev_priv)
32{
33}
34
35static inline void intel_fbdev_unregister(struct drm_i915_private *dev_priv)
36{
37}
38
39static inline void intel_fbdev_fini(struct drm_i915_private *dev_priv)
40{
41}
42
43static inline void intel_fbdev_set_suspend(struct drm_device *dev, int state, bool synchronous)
44{
45}
46
47static inline void intel_fbdev_output_poll_changed(struct drm_device *dev)
48{
49}
50
51static inline void intel_fbdev_restore_mode(struct drm_i915_private *i915)
52{
53}
54static 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