#include <drm/drm_mipi_dsi.h>
#include <drm/drm_modes.h>
#include <drm/drm_panel.h>
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/regulator/consumer.h>
#define FEIYANG_INIT_CMD_LEN …
struct feiyang { … };
static inline struct feiyang *panel_to_feiyang(struct drm_panel *panel)
{ … }
struct feiyang_init_cmd { … };
static const struct feiyang_init_cmd feiyang_init_cmds[] = …;
static int feiyang_prepare(struct drm_panel *panel)
{ … }
static int feiyang_enable(struct drm_panel *panel)
{ … }
static int feiyang_disable(struct drm_panel *panel)
{ … }
static int feiyang_unprepare(struct drm_panel *panel)
{ … }
static const struct drm_display_mode feiyang_default_mode = …;
static int feiyang_get_modes(struct drm_panel *panel,
struct drm_connector *connector)
{ … }
static const struct drm_panel_funcs feiyang_funcs = …;
static int feiyang_dsi_probe(struct mipi_dsi_device *dsi)
{ … }
static void feiyang_dsi_remove(struct mipi_dsi_device *dsi)
{ … }
static const struct of_device_id feiyang_of_match[] = …;
MODULE_DEVICE_TABLE(of, feiyang_of_match);
static struct mipi_dsi_driver feiyang_driver = …;
module_mipi_dsi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;