static int flip_gpio_slide_input_func(struct gpio_event_input_devs *input_devs, struct gpio_event_info *info, void **data, int func) { if (func == GPIO_EVENT_FUNC_INIT) gpio_tlmm_config(GPIO_CFG(18, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_UP, GPIO_CFG_2MA), GPIO_CFG_ENABLE); return gpio_event_input_func(input_devs, info, data, func); }
static int hazel_gpio_slide_input_func(struct input_dev *input_dev, struct gpio_event_info *info, void **data, int func) { if (func == GPIO_EVENT_FUNC_INIT) { gpio_tlmm_config(GPIO_CFG(GPIO_HALLIC_IRQ, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_UP, GPIO_CFG_2MA), GPIO_CFG_ENABLE); } return gpio_event_input_func(input_dev, info, data, func); }
static int hazel_gpio_slide_input_func(struct input_dev *input_dev, struct gpio_event_info *info, void **data, int func) { #if defined (CONFIG_LGE_SUPPORT_AT_CMD) at_cmd_hall_ic = input_dev; #endif /* add val for C710 AT_CMD */ if (func == GPIO_EVENT_FUNC_INIT) { gpio_tlmm_config(GPIO_CFG(GPIO_HALLIC_IRQ, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_UP, GPIO_CFG_2MA), GPIO_CFG_ENABLE); } return gpio_event_input_func(input_dev, info, data, func); }
static int alessi_gpio_event_input_func(struct input_dev *input_dev, struct gpio_event_info *info, void **data, int func) { int ret, i; if (func == GPIO_EVENT_FUNC_INIT) { // for (i = 0; i < ARRAY_SIZE(keypad_virtual_keys); i++) // { // set_bit(keypad_virtual_keys[i] & KEY_MAX, input_dev->keybit); // } gpio_tlmm_config(GPIO_CFG(GPIO_VOL_UP, 0, GPIO_INPUT, GPIO_PULL_UP, GPIO_2MA), GPIO_ENABLE); gpio_tlmm_config(GPIO_CFG(GPIO_VOL_DOWN, 0, GPIO_INPUT, GPIO_PULL_UP, GPIO_2MA), GPIO_ENABLE); // add wakeup source vol up/down key [[email protected]] enable_irq_wake(MSM_GPIO_TO_INT(GPIO_VOL_UP)); enable_irq_wake(MSM_GPIO_TO_INT(GPIO_VOL_DOWN)); ret = gpio_event_input_func(input_dev, info, data, func); return ret; } /* noting to do SUSPAND & RESUME [[email protected]] if (func == GPIO_EVENT_FUNC_SUSPEND) { disable_irq_wake(MSM_GPIO_TO_INT(GPIO_VOL_UP)); disable_irq_wake(MSM_GPIO_TO_INT(GPIO_VOL_DOWN)); } if (func == GPIO_EVENT_FUNC_RESUME) { gpio_tlmm_config(GPIO_CFG(GPIO_VOL_UP, 0, GPIO_INPUT, GPIO_PULL_UP, GPIO_2MA), GPIO_ENABLE); gpio_tlmm_config(GPIO_CFG(GPIO_VOL_DOWN, 0, GPIO_INPUT, GPIO_PULL_UP, GPIO_2MA), GPIO_ENABLE); enable_irq_wake(MSM_GPIO_TO_INT(GPIO_VOL_UP)); enable_irq_wake(MSM_GPIO_TO_INT(GPIO_VOL_DOWN)); } ret = gpio_event_input_func(input_dev, info, data, func); return ret; */ }
static int keypad_gpio_event_input_func(struct input_dev *input_dev, struct gpio_event_info *info, void **data, int func) { int err; int i; err = gpio_event_input_func(input_dev, info, data, func); if (func == GPIO_EVENT_FUNC_INIT && !err) { keypad_dev = input_dev; for (i = 0; i < ARRAY_SIZE(keypad_virtual_keys); i++) set_bit(keypad_virtual_keys[i] & KEY_MAX, input_dev->keybit); } else if (func == GPIO_EVENT_FUNC_UNINIT) { keypad_dev = NULL; } else { keypad_dev = NULL; } return err; }