Hi Jitao. > + > +enum dsi_cmd_type { > + INIT_GENENIC_CMD, > + INIT_DCS_CMD, > + DELAY_CMD, > +}; > + > +struct panel_init_cmd { > + enum dsi_cmd_type type; > + size_t len; > + const char *data; > +}; > + > +#define _INIT_CMD(...) { \ > + .type = INIT_GENENIC_CMD,\ > + .len = sizeof((char[]){__VA_ARGS__}), \ > + .data = (char[]){__VA_ARGS__} } This macro is not used - so all code around INIT_GENENIC_CMD can be deleted. Sam