#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/spi/spi.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_drv.h>
#include <drm/drm_fbdev_dma.h>
#include <drm/drm_gem_atomic_helper.h>
#include <drm/drm_gem_dma_helper.h>
#include <drm/drm_managed.h>
#include <drm/drm_mipi_dbi.h>
#include <drm/drm_modeset_helper.h>
#include <video/mipi_display.h>
#define HX8357D_SETOSC …
#define HX8357D_SETPOWER …
#define HX8357D_SETRGB …
#define HX8357D_SETCYC …
#define HX8357D_SETCOM …
#define HX8357D_SETEXTC …
#define HX8357D_SETSTBA …
#define HX8357D_SETPANEL …
#define HX8357D_SETGAMMA …
#define HX8357D_MADCTL_MY …
#define HX8357D_MADCTL_MX …
#define HX8357D_MADCTL_MV …
#define HX8357D_MADCTL_ML …
#define HX8357D_MADCTL_RGB …
#define HX8357D_MADCTL_BGR …
#define HX8357D_MADCTL_MH …
static void yx240qv29_enable(struct drm_simple_display_pipe *pipe,
struct drm_crtc_state *crtc_state,
struct drm_plane_state *plane_state)
{ … }
static const struct drm_simple_display_pipe_funcs hx8357d_pipe_funcs = …;
static const struct drm_display_mode yx350hv15_mode = …;
DEFINE_DRM_GEM_DMA_FOPS(hx8357d_fops);
static const struct drm_driver hx8357d_driver = …;
static const struct of_device_id hx8357d_of_match[] = …;
MODULE_DEVICE_TABLE(of, hx8357d_of_match);
static const struct spi_device_id hx8357d_id[] = …;
MODULE_DEVICE_TABLE(spi, hx8357d_id);
static int hx8357d_probe(struct spi_device *spi)
{ … }
static void hx8357d_remove(struct spi_device *spi)
{ … }
static void hx8357d_shutdown(struct spi_device *spi)
{ … }
static struct spi_driver hx8357d_spi_driver = …;
module_spi_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;