static void lineout_work_queue(struct work_struct *work) { msleep(300); if(!is_support_dock()){ printk("%s: Not support dock\n",__func__); lineout_alive = false; switch_set_state(&hs_data->ldev, NO_DEVICE); return; } /* check if audio stand is inserted */ if(!isAudioStandIn()){ printk("LINEOUT: No Audio Stand in\n"); return; } if (gpio_get_value(LINEOUT_GPIO) == 0){ printk("LINEOUT: LineOut inserted\n"); lineout_alive = true; audio_stand_route(true); switch_set_state(&hs_data->ldev, LINEOUT_IN); }else if(gpio_get_value(LINEOUT_GPIO)){ printk("LINEOUT: LineOut removed\n"); lineout_alive = false; audio_stand_route(false); switch_set_state(&hs_data->ldev, NO_DEVICE); } }
static void lineout_work_queue(struct work_struct *work) { msleep(300); /* check if audio stand is inserted */ if(!isAudioStandIn()){ printk("LINEOUT: No Audio Stand in\n"); return; } if (gpio_get_value(LINEOUT_GPIO) == 0){ printk("LINEOUT: LineOut inserted\n"); lineout_alive = true; audio_stand_route(true); }else if(gpio_get_value(LINEOUT_GPIO)){ printk("LINEOUT: LineOut removed\n"); lineout_alive = false; audio_stand_route(false); } }