static int s6e63m0_panel_send_sequence(struct s5p_lcd *lcd, const u16 *wbuf) { int i = 0; int ret = 0; while ((wbuf[i] & DEFMASK) != ENDDEF) { if ((wbuf[i] & DEFMASK) != SLEEPMSEC) { s6e63m0_spi_write_driver(lcd, wbuf[i]); i += 1; } else { msleep(wbuf[i+1]); i += 2; } } return ret; }
static void s6e63m0_panel_send_sequence(struct s5p_lcd *lcd, const u16 *wbuf) { int i = 0; short unsigned int commands_record[256]; gprintk("Begin sending commands to the Super AMOLED panel:\n"); while ((wbuf[i] & DEFMASK) != ENDDEF) { if ((wbuf[i] & DEFMASK) != SLEEPMSEC) { s6e63m0_spi_write_driver(lcd, wbuf[i]); gprintk("%3d = %5d - 0x%X\n", i, wbuf[i], wbuf[i]); commands_record[i] = wbuf[i]; i += 1; } else { msleep(wbuf[i+1]); i += 2; } } print_decoded_commands(commands_record, i); }
static int s6e63m0_spi_write_driver(struct s5p_lcd *lcd, u16 reg) { u16 buf[1]; int ret; struct spi_message msg; struct spi_transfer xfer = { .len = 2, .tx_buf = buf, }; buf[0] = reg; spi_message_init(&msg); spi_message_add_tail(&xfer, &msg); ret = spi_sync(lcd->g_spi, &msg); if (ret < 0) pr_err("%s error\n", __func__); return ret ; } static void s6e63m0_panel_send_sequence(struct s5p_lcd *lcd, const u16 *wbuf) { int i = 0; while ((wbuf[i] & DEFMASK) != ENDDEF) { if ((wbuf[i] & DEFMASK) != SLEEPMSEC) { s6e63m0_spi_write_driver(lcd, wbuf[i]); i += 1; } else { msleep(wbuf[i+1]); i += 2; } } }