s32 init_wr_node(struct i2c_client *client) { s32 i; gt_client = i2c_client_point; memset(&cmd_head, 0, sizeof(cmd_head)); cmd_head.data = NULL; i = 5; while ((!cmd_head.data) && i) { cmd_head.data = kzalloc(i * DATA_LENGTH_UINT, GFP_KERNEL); if (NULL != cmd_head.data) { break; } i--; } if (i) { DATA_LENGTH = i * DATA_LENGTH_UINT + GTP_ADDR_LENGTH; GTP_INFO("Applied memory size:%d.", DATA_LENGTH); } else { GTP_ERROR("Apply for memory failed."); return FAIL; } cmd_head.addr_len = 2; cmd_head.retry = 5; register_i2c_func(); tool_set_proc_name(procname); #if 0 /* fix 3.10 */ goodix_proc_entry = create_proc_entry(gtp_tool_entry, 0664, NULL); if (goodix_proc_entry == NULL) { GTP_ERROR("Couldn't create proc entry!"); return FAIL; } else { GTP_INFO("Create proc entry success!"); goodix_proc_entry->write_proc = goodix_tool_write; goodix_proc_entry->read_proc = goodix_tool_read; } #else if (proc_create(procname, 0660, NULL, >_tool_fops) == NULL) { GTP_ERROR("create_proc_entry %s failed", procname); return -1; } #endif return SUCCESS; }
int init_wr_node(struct i2c_client *client) { int i; gt_client = client; memset(&cmd_head, 0, sizeof(cmd_head)); cmd_head.data = NULL; i = 5; while ((!cmd_head.data) && i) { cmd_head.data = kzalloc(i * DATA_LENGTH_UINT, GFP_KERNEL); if (NULL != cmd_head.data) break; i--; } if (i) { DATA_LENGTH = i * DATA_LENGTH_UINT + GTP_ADDR_LENGTH; GTP_INFO("Applied memory size:%d.", DATA_LENGTH); } else { GTP_ERROR("Apply for memory failed."); return -1; } cmd_head.addr_len = 2; cmd_head.retry = 5; register_i2c_func(); tool_set_proc_name(procname); fops.read = NULL; fops.write = NULL; goodix_proc_entry = proc_create_data(procname, 0666, NULL, &fops, NULL); if (goodix_proc_entry == NULL) { GTP_ERROR("Couldn't create proc entry!"); return -1; } /* else { GTP_INFO("Create proc entry success!"); goodix_proc_entry->write_proc = goodix_tool_write; goodix_proc_entry->read_proc = goodix_tool_read; } */ return 0; }
s32 init_wr_node(struct i2c_client *client) { s32 i; gt_client = i2c_client_point; memset(&cmd_head, 0, sizeof(cmd_head)); cmd_head.data = NULL; i = 5; while ((!cmd_head.data) && i) { cmd_head.data = kzalloc(i * DATA_LENGTH_UINT, GFP_KERNEL); if (NULL != cmd_head.data) { break; } i--; } if (i) { DATA_LENGTH = i * DATA_LENGTH_UINT + GTP_ADDR_LENGTH; GTP_INFO("Applied memory size:%d.", DATA_LENGTH); } else { GTP_ERROR("Apply for memory failed."); return FAIL; } cmd_head.addr_len = 2; cmd_head.retry = 5; memset(&cmd_head2, 0, sizeof(cmd_head2)); cmd_head2.data = NULL; i = 5; while ((!cmd_head2.data) && i) { cmd_head2.data = kzalloc(i * DATA_LENGTH_UINT, GFP_KERNEL); if (NULL != cmd_head2.data) { break; } i--; } if (i) { DATA_LENGTH = i * DATA_LENGTH_UINT + GTP_ADDR_LENGTH; GTP_INFO("Applied memory size:%d.", DATA_LENGTH); } else { GTP_ERROR("Apply for memory failed."); return FAIL; } cmd_head2.addr_len = 2; cmd_head2.retry = 5; register_i2c_func(); tool_set_proc_name(procname); goodix_proc_entry = proc_create(procname, 0660, NULL, &tool_ops); if (misc_register(&hotknot_misc_device)) { printk("mtk_tpd: hotknot_device register failed\n"); return FAIL; } if (goodix_proc_entry == NULL) { GTP_ERROR("Couldn't create proc entry!"); return FAIL; } else { GTP_INFO("Create proc entry success!"); } return SUCCESS; }