#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/lcd.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/spi/spi.h>
#define HX8357_NUM_IM_PINS …
#define HX8357_SWRESET …
#define HX8357_GET_RED_CHANNEL …
#define HX8357_GET_GREEN_CHANNEL …
#define HX8357_GET_BLUE_CHANNEL …
#define HX8357_GET_POWER_MODE …
#define HX8357_GET_MADCTL …
#define HX8357_GET_PIXEL_FORMAT …
#define HX8357_GET_DISPLAY_MODE …
#define HX8357_GET_SIGNAL_MODE …
#define HX8357_GET_DIAGNOSTIC_RESULT …
#define HX8357_ENTER_SLEEP_MODE …
#define HX8357_EXIT_SLEEP_MODE …
#define HX8357_ENTER_PARTIAL_MODE …
#define HX8357_ENTER_NORMAL_MODE …
#define HX8357_EXIT_INVERSION_MODE …
#define HX8357_ENTER_INVERSION_MODE …
#define HX8357_SET_DISPLAY_OFF …
#define HX8357_SET_DISPLAY_ON …
#define HX8357_SET_COLUMN_ADDRESS …
#define HX8357_SET_PAGE_ADDRESS …
#define HX8357_WRITE_MEMORY_START …
#define HX8357_READ_MEMORY_START …
#define HX8357_SET_PARTIAL_AREA …
#define HX8357_SET_SCROLL_AREA …
#define HX8357_SET_TEAR_OFF …
#define HX8357_SET_TEAR_ON …
#define HX8357_SET_ADDRESS_MODE …
#define HX8357_SET_SCROLL_START …
#define HX8357_EXIT_IDLE_MODE …
#define HX8357_ENTER_IDLE_MODE …
#define HX8357_SET_PIXEL_FORMAT …
#define HX8357_SET_PIXEL_FORMAT_DBI_3BIT …
#define HX8357_SET_PIXEL_FORMAT_DBI_16BIT …
#define HX8357_SET_PIXEL_FORMAT_DBI_18BIT …
#define HX8357_SET_PIXEL_FORMAT_DPI_3BIT …
#define HX8357_SET_PIXEL_FORMAT_DPI_16BIT …
#define HX8357_SET_PIXEL_FORMAT_DPI_18BIT …
#define HX8357_WRITE_MEMORY_CONTINUE …
#define HX8357_READ_MEMORY_CONTINUE …
#define HX8357_SET_TEAR_SCAN_LINES …
#define HX8357_GET_SCAN_LINES …
#define HX8357_READ_DDB_START …
#define HX8357_SET_DISPLAY_MODE …
#define HX8357_SET_DISPLAY_MODE_RGB_THROUGH …
#define HX8357_SET_DISPLAY_MODE_RGB_INTERFACE …
#define HX8357_SET_PANEL_DRIVING …
#define HX8357_SET_DISPLAY_FRAME …
#define HX8357_SET_RGB …
#define HX8357_SET_RGB_ENABLE_HIGH …
#define HX8357_SET_GAMMA …
#define HX8357_SET_POWER …
#define HX8357_SET_VCOM …
#define HX8357_SET_POWER_NORMAL …
#define HX8357_SET_PANEL_RELATED …
#define HX8369_SET_DISPLAY_BRIGHTNESS …
#define HX8369_WRITE_CABC_DISPLAY_VALUE …
#define HX8369_WRITE_CABC_BRIGHT_CTRL …
#define HX8369_WRITE_CABC_MIN_BRIGHTNESS …
#define HX8369_SET_POWER …
#define HX8369_SET_DISPLAY_MODE …
#define HX8369_SET_DISPLAY_WAVEFORM_CYC …
#define HX8369_SET_VCOM …
#define HX8369_SET_EXTENSION_COMMAND …
#define HX8369_SET_GIP …
#define HX8369_SET_GAMMA_CURVE_RELATED …
struct hx8357_data { … };
static u8 hx8357_seq_power[] = …;
static u8 hx8357_seq_vcom[] = …;
static u8 hx8357_seq_power_normal[] = …;
static u8 hx8357_seq_panel_driving[] = …;
static u8 hx8357_seq_display_frame[] = …;
static u8 hx8357_seq_panel_related[] = …;
static u8 hx8357_seq_undefined1[] = …;
static u8 hx8357_seq_undefined2[] = …;
static u8 hx8357_seq_gamma[] = …;
static u8 hx8357_seq_address_mode[] = …;
static u8 hx8357_seq_pixel_format[] = …;
static u8 hx8357_seq_column_address[] = …;
static u8 hx8357_seq_page_address[] = …;
static u8 hx8357_seq_rgb[] = …;
static u8 hx8357_seq_display_mode[] = …;
static u8 hx8369_seq_write_CABC_min_brightness[] = …;
static u8 hx8369_seq_write_CABC_control[] = …;
static u8 hx8369_seq_set_display_brightness[] = …;
static u8 hx8369_seq_write_CABC_control_setting[] = …;
static u8 hx8369_seq_extension_command[] = …;
static u8 hx8369_seq_display_related[] = …;
static u8 hx8369_seq_panel_waveform_cycle[] = …;
static u8 hx8369_seq_set_address_mode[] = …;
static u8 hx8369_seq_vcom[] = …;
static u8 hx8369_seq_gip[] = …;
static u8 hx8369_seq_power[] = …;
static u8 hx8369_seq_gamma_curve_related[] = …;
static int hx8357_spi_write_then_read(struct lcd_device *lcdev,
u8 *txbuf, u16 txlen,
u8 *rxbuf, u16 rxlen)
{ … }
static inline int hx8357_spi_write_array(struct lcd_device *lcdev,
u8 *value, u8 len)
{ … }
static inline int hx8357_spi_write_byte(struct lcd_device *lcdev,
u8 value)
{ … }
static int hx8357_enter_standby(struct lcd_device *lcdev)
{ … }
static int hx8357_exit_standby(struct lcd_device *lcdev)
{ … }
static void hx8357_lcd_reset(struct lcd_device *lcdev)
{ … }
static int hx8357_lcd_init(struct lcd_device *lcdev)
{ … }
static int hx8369_lcd_init(struct lcd_device *lcdev)
{ … }
#define POWER_IS_ON(pwr) …
static int hx8357_set_power(struct lcd_device *lcdev, int power)
{ … }
static int hx8357_get_power(struct lcd_device *lcdev)
{ … }
static const struct lcd_ops hx8357_ops = …;
hx8357_init_fn;
static int hx8357_probe(struct spi_device *spi)
{ … }
static const struct of_device_id hx8357_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, hx8357_dt_ids);
static struct spi_driver hx8357_driver = …;
module_spi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;