LCM_DRIVER是我接触的第一个结构体,先来看看这个结构体的定义,除了第一个属于是const char *之外,其余的都属于是函数指针
typedef struct {
const char *name; // 只能一次进行初始化,初始化后不可改变
void (*set_util_funcs) (const LCM_UTIL_FUNCS *util);
void (*get_params) (LCM_PARAMS *params);
void (*init) (void);
void (*suspend) (void);
void (*resume) (void);
/* for power-on sequence refinement */
void (*init_power) (void);
void (*suspend_power) (void);
void (*resume_power) (void);
void (*update) (unsigned int x, unsigned int y, unsigned int width, unsigned int height);
unsigned int (*compare_id) (void);
#if defined(MTK_LCM_DEVICE_TREE_SUPPORT)
void (*parse_dts)(const LCM_DTS *DTS, unsigned char force_update);
#endif
/* /CABC backlight related function */
void (*set_backlight) (unsigned int level);
void (*set_backlight_cmdq) (void *handle, unsigned int level);
void (*set_pwm) (unsigned int divider);
unsigned int (*get_pwm) (unsigned int divider);
void (*set_ba