static int gpio_sw_cfg_get(struct gpio_sw_classdev *gpio_sw_cdev) { struct gpio_sw *gpio = to_gpio(gpio_sw_cdev); int ret; ret = sw_gpio_getcfg(gpio->cdev.pio_hdle); return ret; }
int ctp_key_light(int status,int ms) { u32 gpio_status; dprintk(DEBUG_INIT,"***CTP*** %s:status:%d,ms = %d\n",__func__,status,ms); gpio_status = sw_gpio_getcfg(config_info.key_light_gpio_number); if(gpio_status != 1) { sw_gpio_setcfg(config_info.key_light_gpio_number,1); } if(status == 0) { if(ms == 0) { __gpio_set_value(config_info.key_light_gpio_number, 0); } else { __gpio_set_value(config_info.key_light_gpio_number, 0); msleep(ms); __gpio_set_value(config_info.key_light_gpio_number, 1); } } if(status == 1) { if(ms == 0) { __gpio_set_value(config_info.key_light_gpio_number, 1); } else { __gpio_set_value(config_info.key_light_gpio_number, 1); msleep(ms); __gpio_set_value(config_info.key_light_gpio_number, 0); } } msleep(10); if(gpio_status != 1) { sw_gpio_setcfg(config_info.key_light_gpio_number,gpio_status); } return 0; }
void gtp_set_io_int(void) { int gpio_status = -1; gpio_status = sw_gpio_getcfg(CTP_IRQ_NUMBER); if(gpio_status != 6){ sw_gpio_setcfg(CTP_IRQ_NUMBER, 6); } }
void gtp_set_int_value(int status) { int gpio_status = -1; gpio_status = sw_gpio_getcfg(CTP_IRQ_NUMBER); if(gpio_status != 1){ sw_gpio_setcfg(CTP_IRQ_NUMBER, 1); } __gpio_set_value(CTP_IRQ_NUMBER, status); }