summaryrefslogtreecommitdiff
path: root/drivers/headset_observe/rk_headset_irq_hook_adc.c
diff options
context:
space:
mode:
author宋秀杰 <sxj@rock-chips.com>2012-06-03 16:38:27 +0800
committer宋秀杰 <sxj@rock-chips.com>2012-06-03 16:38:27 +0800
commit863facb1bbefa19ddbc666fedbb76f65d46d7bc2 (patch)
treed1d1a56e128d7c0f50364c7e83adb979449dd733 /drivers/headset_observe/rk_headset_irq_hook_adc.c
parent22e9b8cfdeb685d3b3c637d2986b9b6de623f912 (diff)
rk30 phone: modify headset detect request irq location
Diffstat (limited to 'drivers/headset_observe/rk_headset_irq_hook_adc.c')
-rwxr-xr-xdrivers/headset_observe/rk_headset_irq_hook_adc.c73
1 files changed, 37 insertions, 36 deletions
diff --git a/drivers/headset_observe/rk_headset_irq_hook_adc.c b/drivers/headset_observe/rk_headset_irq_hook_adc.c
index 61e2841e3eeb..53d4a170d60c 100755
--- a/drivers/headset_observe/rk_headset_irq_hook_adc.c
+++ b/drivers/headset_observe/rk_headset_irq_hook_adc.c
@@ -437,42 +437,7 @@ static int rockchip_headsetobserve_probe(struct platform_device *pdev)
headset->isMic = 0;
setup_timer(&headset->headset_timer, headset_timer_callback, (unsigned long)headset);
-//------------------------------------------------------------------
- if (pdata->Headset_gpio) {
-
- ret = pdata->headset_io_init(pdata->Headset_gpio, pdata->headset_gpio_info.iomux_name, pdata->headset_gpio_info.iomux_mode);
- if (ret)
- goto failed_free;
-
- headset->irq[HEADSET] = gpio_to_irq(pdata->Headset_gpio);
-
- if(pdata->headset_in_type == HEADSET_IN_HIGH)
- headset->irq_type[HEADSET] = IRQF_TRIGGER_RISING;
- else
- headset->irq_type[HEADSET] = IRQF_TRIGGER_FALLING;
- ret = request_irq(headset->irq[HEADSET], headset_interrupt, headset->irq_type[HEADSET], "headset_input", NULL);
- if (ret)
- goto failed_free;
- enable_irq_wake(headset->irq[HEADSET]);
- }
- else
- goto failed_free;
-//------------------------------------------------------------------
-
- if(pdata->Hook_adc_chn>=0 && 2>=pdata->Hook_adc_chn)
- {
- printk("hook adc register\n");
- headset->client = adc_register(pdata->Hook_adc_chn, hook_adc_callback, (void *)headset);
- if(!headset->client) {
- printk("hook adc register error\n");
- ret = -EINVAL;
- goto failed_free;
- }
- setup_timer(&headset->hook_timer,
- hook_timer_callback, (unsigned long)headset);
- }
-
-//------------------------------------------------------------------
+
// Create and register the input driver.
headset->input_dev = input_allocate_device();
if (!headset->input_dev) {
@@ -518,6 +483,42 @@ static int rockchip_headsetobserve_probe(struct platform_device *pdev)
register_early_suspend(&hs_early_suspend);
#endif
+ //------------------------------------------------------------------
+ if (pdata->Headset_gpio) {
+
+ ret = pdata->headset_io_init(pdata->Headset_gpio, pdata->headset_gpio_info.iomux_name, pdata->headset_gpio_info.iomux_mode);
+ if (ret)
+ goto failed_free_dev;
+
+ headset->irq[HEADSET] = gpio_to_irq(pdata->Headset_gpio);
+
+ if(pdata->headset_in_type == HEADSET_IN_HIGH)
+ headset->irq_type[HEADSET] = IRQF_TRIGGER_RISING;
+ else
+ headset->irq_type[HEADSET] = IRQF_TRIGGER_FALLING;
+ 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]);
+ }
+ else
+ goto failed_free_dev;
+//------------------------------------------------------------------
+
+ if(pdata->Hook_adc_chn>=0 && 2>=pdata->Hook_adc_chn)
+ {
+ printk("hook adc register\n");
+ headset->client = adc_register(pdata->Hook_adc_chn, hook_adc_callback, (void *)headset);
+ if(!headset->client) {
+ printk("hook adc register error\n");
+ ret = -EINVAL;
+ goto failed_free_dev;
+ }
+ setup_timer(&headset->hook_timer,
+ hook_timer_callback, (unsigned long)headset);
+ }
+
+//------------------------------------------------------------------
return 0;
failed_free_dev: