int cyttsp5_init(struct cyttsp5_core_platform_data *pdata, int on, struct device *dev) { int irq_gpio = pdata->irq_gpio; int rc = 0; enabled = 0; if (on) { gpio_request(irq_gpio, "TSP_INT"); #ifdef MT04 gpio_direction_input(irq_gpio); #else s3c_gpio_cfgpin(irq_gpio, S3C_GPIO_SFN(0xf)); s3c_gpio_setpull(irq_gpio, S3C_GPIO_PULL_UP); s5p_register_gpio_interrupt(irq_gpio); #endif cyttsp5_hw_power(1); } else { cyttsp5_hw_power(0); gpio_free(irq_gpio); } dev_info(dev, "%s: INIT CYTTSP IRQ gpio=%d onoff=%d r=%d\n", __func__, irq_gpio, on, rc); return rc; }
int cyttsp5_init(struct cyttsp5_core_platform_data *pdata, int on, struct device *dev) { int irq_gpio = pdata->irq_gpio; int rc = 0; enabled = 0; if (on) cyttsp5_hw_power(1); else cyttsp5_hw_power(0); dev_info(dev, "%s: INIT CYTTSP IRQ gpio=%d onoff=%d r=%d\n", __func__, irq_gpio, on, rc); return rc; }
int cyttsp5_init(struct cyttsp5_core_platform_data *pdata, int on, struct device *dev) { int irq_gpio = pdata->irq_gpio; int rc = 0; #if !defined(CONFIG_SEC_ATLANTIC_PROJECT) int pwr_1p8 = pdata->pwr_1p8; int pwr_3p3 = pdata->pwr_3p3; #endif #ifdef CONFIG_SEC_ATLANTIC_PROJECT iovdd_vreg = regulator_get(dev,"vddo"); if (IS_ERR(iovdd_vreg)){ iovdd_vreg = NULL; dev_err(dev, "[TSP] iovdd_vreg error %ld\n", IS_ERR(iovdd_vreg)); } #endif enabled = 0; if (on) { gpio_request(irq_gpio, "TSP_INT"); gpio_direction_input(irq_gpio); #ifdef CONFIG_SEC_ATLANTIC_PROJECT gpio_request(avdd_gpio, "TSP_AVDD_gpio"); #else gpio_request(pwr_1p8, "TSP_1p8_GPIO"); gpio_request(pwr_3p3, "TSP_3p3_GPIO"); #endif cyttsp5_hw_power(pdata, 1); } else { cyttsp5_hw_power(pdata, 0); if(!gpio_is_valid(irq_gpio)) gpio_free(irq_gpio); } dev_info(dev, "%s: INIT CYTTSP IRQ gpio=%d onoff=%d r=%d\n", __func__, irq_gpio, on, rc); return rc; }
int cyttsp5_xres(struct cyttsp5_core_platform_data *pdata, struct device *dev) { int rc; rc = cyttsp5_hw_power(0); if (rc) { dev_err(dev, "%s: Fail power down HW\n", __func__); goto exit; } msleep(200); rc = cyttsp5_hw_power(1); if (rc) { dev_err(dev, "%s: Fail power up HW\n", __func__); goto exit; } msleep(100); exit: return rc; }
int cyttsp5_power(struct cyttsp5_core_platform_data *pdata, int on, struct device *dev, atomic_t *ignore_irq) { return cyttsp5_hw_power(on); }