#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/of_graph.h>
#include <linux/regulator/consumer.h>
#include <video/mipi_display.h>
#include <drm/drm_atomic_helper.h>
#include <drm/drm_crtc.h>
#include <drm/drm_mipi_dsi.h>
#include <drm/drm_of.h>
#include <drm/drm_panel.h>
#include <drm/drm_print.h>
#include <drm/drm_probe_helper.h>
#define PPI_STARTPPI …
#define PPI_LPTXTIMECNT …
#define PPI_D0S_ATMR …
#define PPI_D1S_ATMR …
#define PPI_D0S_CLRSIPOCOUNT …
#define PPI_D1S_CLRSIPOCOUNT …
#define PPI_START_FUNCTION …
#define DSI_STARTDSI …
#define DSI_LANEENABLE …
#define DSI_RX_START …
#define LCDCTRL …
#define LCDCTRL_MSF …
#define LCDCTRL_VTGEN …
#define LCDCTRL_UNK6 …
#define LCDCTRL_EVTMODE …
#define LCDCTRL_RGB888 …
#define LCDCTRL_HSPOL …
#define LCDCTRL_DEPOL …
#define LCDCTRL_VSPOL …
#define LCDCTRL_VSDELAY(v) …
#define SPICMR …
#define SPITCR …
#define SYSCTRL …
#define LPX_PERIOD …
#define LANEENABLE_CLEN …
#define LANEENABLE_L0EN …
#define LANEENABLE_L1EN …
struct tc358762 { … };
static int tc358762_clear_error(struct tc358762 *ctx)
{ … }
static void tc358762_write(struct tc358762 *ctx, u16 addr, u32 val)
{ … }
static inline struct tc358762 *bridge_to_tc358762(struct drm_bridge *bridge)
{ … }
static int tc358762_init(struct tc358762 *ctx)
{ … }
static void tc358762_post_disable(struct drm_bridge *bridge, struct drm_bridge_state *state)
{ … }
static void tc358762_pre_enable(struct drm_bridge *bridge, struct drm_bridge_state *state)
{ … }
static void tc358762_enable(struct drm_bridge *bridge, struct drm_bridge_state *state)
{ … }
static int tc358762_attach(struct drm_bridge *bridge,
enum drm_bridge_attach_flags flags)
{ … }
static void tc358762_bridge_mode_set(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
const struct drm_display_mode *adj)
{ … }
static const struct drm_bridge_funcs tc358762_bridge_funcs = …;
static int tc358762_parse_dt(struct tc358762 *ctx)
{ … }
static int tc358762_configure_regulators(struct tc358762 *ctx)
{ … }
static int tc358762_probe(struct mipi_dsi_device *dsi)
{ … }
static void tc358762_remove(struct mipi_dsi_device *dsi)
{ … }
static const struct of_device_id tc358762_of_match[] = …;
MODULE_DEVICE_TABLE(of, tc358762_of_match);
static struct mipi_dsi_driver tc358762_driver = …;
module_mipi_dsi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;