#include <drm/drm_modes.h>
#include <drm/drm_panel.h>
#include <linux/backlight.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/regulator/consumer.h>
#include <linux/media-bus-format.h>
#include <video/mipi_display.h>
#include "panel-samsung-s6e63m0.h"
#define S6E63M0_LCD_ID_VALUE_M2 …
#define S6E63M0_LCD_ID_VALUE_SM2 …
#define S6E63M0_LCD_ID_VALUE_SM2_1 …
#define NUM_GAMMA_LEVELS …
#define GAMMA_TABLE_COUNT …
#define MAX_BRIGHTNESS …
static u8 const s6e63m0_gamma_22[NUM_GAMMA_LEVELS][GAMMA_TABLE_COUNT] = …;
#define NUM_ACL_LEVELS …
#define ACL_TABLE_COUNT …
static u8 const s6e63m0_acl[NUM_ACL_LEVELS][ACL_TABLE_COUNT] = …;
static u8 const s6e63m0_acl_per_gamma[NUM_GAMMA_LEVELS] = …;
#define S6E63M0_ELVSS_LEVELS …
static u8 const s6e63m0_elvss_offsets[S6E63M0_ELVSS_LEVELS] = …;
static u8 const s6e63m0_elvss_per_gamma[NUM_GAMMA_LEVELS] = …;
struct s6e63m0 { … };
static const struct drm_display_mode default_mode = …;
static inline struct s6e63m0 *panel_to_s6e63m0(struct drm_panel *panel)
{ … }
static int s6e63m0_clear_error(struct s6e63m0 *ctx)
{ … }
static void s6e63m0_dcs_read(struct s6e63m0 *ctx, const u8 cmd, u8 *data)
{ … }
static void s6e63m0_dcs_write(struct s6e63m0 *ctx, const u8 *data, size_t len)
{ … }
#define s6e63m0_dcs_write_seq_static(ctx, seq ...) …
static int s6e63m0_check_lcd_type(struct s6e63m0 *ctx)
{ … }
static void s6e63m0_init(struct s6e63m0 *ctx)
{ … }
static int s6e63m0_power_on(struct s6e63m0 *ctx)
{ … }
static int s6e63m0_power_off(struct s6e63m0 *ctx)
{ … }
static int s6e63m0_disable(struct drm_panel *panel)
{ … }
static int s6e63m0_unprepare(struct drm_panel *panel)
{ … }
static int s6e63m0_prepare(struct drm_panel *panel)
{ … }
static int s6e63m0_enable(struct drm_panel *panel)
{ … }
static int s6e63m0_get_modes(struct drm_panel *panel,
struct drm_connector *connector)
{ … }
static const struct drm_panel_funcs s6e63m0_drm_funcs = …;
static int s6e63m0_set_brightness(struct backlight_device *bd)
{ … }
static const struct backlight_ops s6e63m0_backlight_ops = …;
static int s6e63m0_backlight_register(struct s6e63m0 *ctx, u32 max_brightness)
{ … }
int s6e63m0_probe(struct device *dev, void *trsp,
int (*dcs_read)(struct device *dev, void *trsp, const u8 cmd, u8 *val),
int (*dcs_write)(struct device *dev, void *trsp, const u8 *data, size_t len),
bool dsi_mode)
{ … }
EXPORT_SYMBOL_GPL(…);
void s6e63m0_remove(struct device *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;