10b35375a0097ee52d66319c1eb57579c0f337c9
[platform/kernel/linux-rpi.git] / include / drm / tinydrm / tinydrm-helpers.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright (C) 2016 Noralf Trønnes
4  */
5
6 #ifndef __LINUX_TINYDRM_HELPERS_H
7 #define __LINUX_TINYDRM_HELPERS_H
8
9 struct backlight_device;
10 struct drm_device;
11 struct drm_display_mode;
12 struct drm_framebuffer;
13 struct drm_rect;
14 struct drm_simple_display_pipe;
15 struct drm_simple_display_pipe_funcs;
16 struct spi_transfer;
17 struct spi_device;
18 struct device;
19
20 /**
21  * tinydrm_machine_little_endian - Machine is little endian
22  *
23  * Returns:
24  * true if *defined(__LITTLE_ENDIAN)*, false otherwise
25  */
26 static inline bool tinydrm_machine_little_endian(void)
27 {
28 #if defined(__LITTLE_ENDIAN)
29         return true;
30 #else
31         return false;
32 #endif
33 }
34
35 int tinydrm_display_pipe_init(struct drm_device *drm,
36                               struct drm_simple_display_pipe *pipe,
37                               const struct drm_simple_display_pipe_funcs *funcs,
38                               int connector_type,
39                               const uint32_t *formats,
40                               unsigned int format_count,
41                               const struct drm_display_mode *mode,
42                               unsigned int rotation);
43
44 int tinydrm_spi_transfer(struct spi_device *spi, u32 speed_hz,
45                          struct spi_transfer *header, u8 bpw, const void *buf,
46                          size_t len);
47
48 #endif /* __LINUX_TINYDRM_HELPERS_H */