static eISCRet_t mms100_reset(struct i2c_client *_client) { pr_info("[TSP ISC] %s\n", __func__); //struct i2c_client *client = to_i2c_client(dev); //struct mms_ts_info *info = i2c_get_clientdata(_client); /* info->pdata->power(0); mms100_msdelay(20); info->pdata->power(1); mms100_msdelay(100); */ melfas_power(0); msleep(20); melfas_power(1); msleep(100); return ISC_SUCCESS; }
void __init tab3_tsp_init(u32 system_rev) { int gpio; int ret; printk(KERN_INFO "[TSP] midas_tsp_init() is called\n"); gpio_request(GPIO_TSP_VENDOR1, "GPIO_TSP_VENDOR1"); gpio_request(GPIO_TSP_VENDOR2, "GPIO_TSP_VENDOR2"); gpio_request(GPIO_TSP_VENDOR3, "GPIO_TSP_VENDOR3"); gpio_direction_input(GPIO_TSP_VENDOR1); gpio_direction_input(GPIO_TSP_VENDOR2); gpio_direction_input(GPIO_TSP_VENDOR3); s3c_gpio_setpull(GPIO_TSP_VENDOR1, S3C_GPIO_PULL_NONE); s3c_gpio_setpull(GPIO_TSP_VENDOR2, S3C_GPIO_PULL_NONE); s3c_gpio_setpull(GPIO_TSP_VENDOR3, S3C_GPIO_PULL_NONE); /* touchkey led */ gpio_request(GPIO_TSK_EN, "GPIO_TSK_EN"); gpio_direction_output(GPIO_TSK_EN, 0); /* TSP_INT: XEINT_4 */ gpio = GPIO_TSP_INT; ret = gpio_request(gpio, "TSP_INT"); if (ret) pr_err("failed to request gpio(TSP_INT)\n"); s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf)); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); s3c_gpio_setpull(GPIO_TSP_SDA_18V, S3C_GPIO_PULL_NONE); s3c_gpio_setpull(GPIO_TSP_SCL_18V, S3C_GPIO_PULL_NONE); s5p_register_gpio_interrupt(gpio); i2c_devs3[0].irq = gpio_to_irq(gpio); printk(KERN_INFO "%s touch : %d\n", __func__, i2c_devs3[0].irq); melfas_power(0); i2c_register_board_info(3, i2c_devs3, ARRAY_SIZE(i2c_devs3)); }