#include <linux/delay.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/gpio/consumer.h>
#include <linux/regulator/consumer.h>
#include <drm/drm_mipi_dsi.h>
#include <drm/drm_modes.h>
#include <drm/drm_panel.h>
#include <video/mipi_display.h>
enum ili9881c_op { … };
struct ili9881c_instr { … };
struct ili9881c_desc { … };
struct ili9881c { … };
#define ILI9881C_SWITCH_PAGE_INSTR(_page) …
#define ILI9881C_COMMAND_INSTR(_cmd, _data) …
static const struct ili9881c_instr lhr050h41_init[] = …;
static const struct ili9881c_instr k101_im2byl02_init[] = …;
static const struct ili9881c_instr kd050hdfia020_init[] = …;
static const struct ili9881c_instr tl050hdv35_init[] = …;
static const struct ili9881c_instr w552946ab_init[] = …;
static const struct ili9881c_instr am8001280g_init[] = …;
static inline struct ili9881c *panel_to_ili9881c(struct drm_panel *panel)
{ … }
static int ili9881c_switch_page(struct ili9881c *ctx, u8 page)
{ … }
static int ili9881c_send_cmd_data(struct ili9881c *ctx, u8 cmd, u8 data)
{ … }
static int ili9881c_prepare(struct drm_panel *panel)
{ … }
static int ili9881c_enable(struct drm_panel *panel)
{ … }
static int ili9881c_disable(struct drm_panel *panel)
{ … }
static int ili9881c_unprepare(struct drm_panel *panel)
{ … }
static const struct drm_display_mode lhr050h41_default_mode = …;
static const struct drm_display_mode k101_im2byl02_default_mode = …;
static const struct drm_display_mode kd050hdfia020_default_mode = …;
static const struct drm_display_mode tl050hdv35_default_mode = …;
static const struct drm_display_mode w552946aba_default_mode = …;
static const struct drm_display_mode am8001280g_default_mode = …;
static int ili9881c_get_modes(struct drm_panel *panel,
struct drm_connector *connector)
{ … }
static enum drm_panel_orientation ili9881c_get_orientation(struct drm_panel *panel)
{ … }
static const struct drm_panel_funcs ili9881c_funcs = …;
static int ili9881c_dsi_probe(struct mipi_dsi_device *dsi)
{ … }
static void ili9881c_dsi_remove(struct mipi_dsi_device *dsi)
{ … }
static const struct ili9881c_desc lhr050h41_desc = …;
static const struct ili9881c_desc k101_im2byl02_desc = …;
static const struct ili9881c_desc kd050hdfia020_desc = …;
static const struct ili9881c_desc tl050hdv35_desc = …;
static const struct ili9881c_desc w552946aba_desc = …;
static const struct ili9881c_desc am8001280g_desc = …;
static const struct of_device_id ili9881c_of_match[] = …;
MODULE_DEVICE_TABLE(of, ili9881c_of_match);
static struct mipi_dsi_driver ili9881c_dsi_driver = …;
module_mipi_dsi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;