ret = request_irq(headset->irq[HEADSET], headset_interrupt, headset->irq_type[HEADSET], "headset_input", NULL);
if (ret)
goto failed_free_dev;
- enable_irq_wake(headset->irq[HEADSET]);
+ if (pdata->headset_wakeup)
+ enable_irq_wake(headset->irq[HEADSET]);
}
else
goto failed_free_dev;
unsigned int main_mic_io_value;
#endif
struct iio_channel *chan;
+ int headset_wakeup;
};
#define HOOK_KEY_CODE KEY_MEDIA
ret = request_threaded_irq(headset->irq[HEADSET], NULL,headset_interrupt, headset->irq_type[HEADSET]|IRQF_NO_SUSPEND, "headset_input", NULL);
if (ret)
goto failed_free_dev;
- enable_irq_wake(headset->irq[HEADSET]);
+ if (pdata->headset_wakeup)
+ enable_irq_wake(headset->irq[HEADSET]);
}
else
goto failed_free_dev;
}
#endif
+ ret = of_property_read_u32(node, "rockchip,headset_wakeup", &pdata->headset_wakeup);
+ if (ret < 0)
+ pdata->headset_wakeup = 1;
+
if(pdata->chan != NULL)
{//hook adc mode
printk("%s() headset have hook adc mode\n",__FUNCTION__);