static ssize_t ct36x_ts_write(struct file *file, const char __user *buffer, size_t count, loff_t *offset) { int cmd = 0; int rslt = 0; if ( CT36X_TS_CORE_DEBUG ) { printk(">>>>> %s() called <<<<< \n", __FUNCTION__); } /* search cmd */ cmd = ct36x_ts_cmd(ct36x_cmd_list_cmd, buffer[0]); /* execute cmd */ if ( ct36x_ts.state == CT36X_STATE_NORMAL ) switch ( cmd ) { case CT36X_TS_CHIP_ID: break; case CT36X_TS_CHIP_RESET: printk("%s(): CT36X_TS_CHIP_RESET\n", __FUNCTION__); #ifdef CONFIG_OF ct36x_platform_hw_reset(&ct36x_ts); #else ct36x_platform_hw_reset(plat_data); #endif break; case CT36X_TS_FW_VER: break; case CT36X_TS_FW_CHKSUM: printk("%s(): CT36X_TS_FW_CHKSUM\n", __FUNCTION__); rslt = ct36x_chip_get_fwchksum(ct36x_ts.client, ct36x_ts.data.buf); printk("%s(): Fw checksum: 0x%x\n", __FUNCTION__, rslt); break; case CT36X_TS_FW_UPDATE: printk("%s(): CT36X_TS_FW_UPDATE\n", __FUNCTION__); ct36x_chip_go_bootloader(ct36x_ts.client, ct36x_ts.data.buf); break; case CT36X_TS_BIN_VER: break; case CT36X_TS_BIN_CHKSUM: printk("%s(): CT36X_TS_BIN_CHKSUM\n", __FUNCTION__); rslt = ct36x_chip_get_binchksum(ct36x_ts.data.buf); printk("%s(): bin checksum: 0x%x\n", __FUNCTION__, rslt); break; default: printk("%s(): No such command (0x%x). \n", __FUNCTION__, buffer[0]); break; } return count; }
static ssize_t ct36x_ts_write(struct file *file, const char __user *buffer, size_t count, loff_t *offset) { int cmd = 0; int rslt = 0; if ( CT36X_TS_CORE_DEBUG ) { printk(">>>>> %s() called <<<<< \n", __FUNCTION__); printk("%s(): count=0x%x \n", __FUNCTION__, count); } // search cmd cmd = ct36x_ts_cmd(ct36x_cmd_list_cmd, buffer[0]); switch ( cmd ) { case CT36X_TS_CHIP_ID: break; case CT36X_TS_CHIP_RESET: printk("%s(): CT36X_TS_CHIP_RESET\n", __FUNCTION__); ct36x_platform_hw_reset(&ct36x_ts); break; case CT36X_TS_FW_VER: break; case CT36X_TS_FW_CHKSUM: printk("%s(): CT36X_TS_FW_CHKSUM\n", __FUNCTION__); rslt = ct36x_chip_get_fwchksum(ct36x_ts.client, ct36x_ts.data.buf); printk("%s(): Fw checksum: 0x%x\n", __FUNCTION__, rslt); break; case CT36X_TS_FW_UPDATE: #if defined (CONFIG_TOUCHSCREEN_CT36X_FLASH) printk("%s(): CT36X_TS_FW_UPDATE\n", __FUNCTION__); ct36x_chip_go_bootloader(ct36x_ts.client, ct36x_ts.data.buf); #else printk("%s(): CT36X_TS_FW_UPDATE IGNORED\n", __FUNCTION__); #endif break; case CT36X_TS_BIN_VER: break; case CT36X_TS_BIN_CHKSUM: printk("%s(): CT36X_TS_BIN_CHKSUM\n", __FUNCTION__); rslt = ct36x_chip_get_binchksum(ct36x_ts.data.buf); printk("%s(): bin checksum: 0x%x\n", __FUNCTION__, rslt); break; default: printk("%s(): No such command (0x%x). \n", __FUNCTION__, buffer[0]); break; } return count; }