コード例 #1
0
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;
}
コード例 #2
0
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);
}
コード例 #3
0
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;
		}
	}
}