#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/dma-buf.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/spi/spi.h>
#include <video/mipi_display.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>
#define ST7735R_FRMCTR1 …
#define ST7735R_FRMCTR2 …
#define ST7735R_FRMCTR3 …
#define ST7735R_INVCTR …
#define ST7735R_PWCTR1 …
#define ST7735R_PWCTR2 …
#define ST7735R_PWCTR3 …
#define ST7735R_PWCTR4 …
#define ST7735R_PWCTR5 …
#define ST7735R_VMCTR1 …
#define ST7735R_GAMCTRP1 …
#define ST7735R_GAMCTRN1 …
#define ST7735R_MY …
#define ST7735R_MX …
#define ST7735R_MV …
#define ST7735R_RGB …
struct st7735r_cfg { … };
struct st7735r_priv { … };
static void st7735r_pipe_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 st7735r_pipe_funcs = …;
static const struct st7735r_cfg jd_t18003_t01_cfg = …;
static const struct st7735r_cfg rh128128t_cfg = …;
DEFINE_DRM_GEM_DMA_FOPS(st7735r_fops);
static const struct drm_driver st7735r_driver = …;
static const struct of_device_id st7735r_of_match[] = …;
MODULE_DEVICE_TABLE(of, st7735r_of_match);
static const struct spi_device_id st7735r_id[] = …;
MODULE_DEVICE_TABLE(spi, st7735r_id);
static int st7735r_probe(struct spi_device *spi)
{ … }
static void st7735r_remove(struct spi_device *spi)
{ … }
static void st7735r_shutdown(struct spi_device *spi)
{ … }
static struct spi_driver st7735r_spi_driver = …;
module_spi_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;