Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- git diff da7fa2bb9e8bc763f0c7083d072f5c4e69c4b472..2b16ef924f6897e8a88b674b2d8fa5ce96444a25 drivers/input/misc/tri_state_key.c
- diff --git a/drivers/input/misc/tri_state_key.c b/drivers/input/misc/tri_state_key.c
- old mode 100755
- new mode 100644
- index fae2f49f..560f25d
- --- a/drivers/input/misc/tri_state_key.c
- +++ b/drivers/input/misc/tri_state_key.c
- @@ -79,29 +79,39 @@ static int set_gpio_by_pinctrl(void)
- #endif
- static void switch_dev_work(struct work_struct *work)
- {
- +
- + int key1,key2,key3;
- //pr_err("%s gpio_get_value(%d)=%d\n",__func__,switch_data->key1_gpio,gpio_get_value(switch_data->key1_gpio));
- //pr_err("%s gpio_get_value(%d)=%d\n",__func__,switch_data->key2_gpio,gpio_get_value(switch_data->key2_gpio));
- //pr_err("%s gpio_get_value(%d)=%d\n",__func__,switch_data->key3_gpio,gpio_get_value(switch_data->key3_gpio));
- mutex_lock(&sem);
- + key1=gpio_get_value(switch_data->key1_gpio);
- + key2=gpio_get_value(switch_data->key2_gpio);
- + key3=gpio_get_value(switch_data->key3_gpio);
- + if(((key1==0)&&(key2==1)&&(key3==1))||((key1==1)&&(key2==0)&&(key3==1))||((key1==1)&&(key2==1)&&(key3==0)))
- + {
- //gpio_set_value(switch_data->key3_gpio,0);
- //pr_err("%s gpio_22get_value(%d)=%d\n",__func__,switch_data->key3_gpio,gpio_get_value(switch_data->key3_gpio));
- - if(!gpio_get_value(switch_data->key2_gpio))
- + if(!key2)
- {
- switch_set_state(&switch_data->sdev, MODE_DO_NOT_DISTURB);
- }
- - if(!gpio_get_value(switch_data->key3_gpio))
- + if(!key3)
- {
- switch_set_state(&switch_data->sdev, MODE_NORMAL);
- +
- }
- - if(!gpio_get_value(switch_data->key1_gpio))
- + if(!key1)
- {
- switch_set_state(&switch_data->sdev, MODE_MUTE);
- }
- +
- printk(KERN_ERR "%s ,tristatekey set to state(%d) \n",__func__,switch_data->sdev.state);
- + }
- mutex_unlock(&sem);
- }
- irqreturn_t switch_dev_interrupt(int irq, void *_dev)
- @@ -426,8 +436,8 @@ static int tristate_dev_probe(struct platform_device *pdev)
- }
- }
- -
- -
- +
- +
- INIT_WORK(&switch_data->work, switch_dev_work);
- init_timer(&switch_data->s_timer);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement