static irqreturn_t host_wake_isr(int irq, void *dev) { int host_wake; host_wake = gpio_get_value(GPIO_BT_HOST_WAKE); irq_set_irq_type(irq, host_wake ? IRQF_TRIGGER_LOW : IRQF_TRIGGER_HIGH); if (!bt_lpm.uport) { bt_lpm.host_wake = host_wake; return IRQ_HANDLED; } update_host_wake_locked(host_wake); return IRQ_HANDLED; }
static irqreturn_t host_wake_isr(int irq, void *dev) { int host_wake; host_wake = gpio_get_value(bt_gpio.bt_hostwake); irq_set_irq_type(irq, host_wake ? IRQF_TRIGGER_LOW : IRQF_TRIGGER_HIGH); if (!bt_lpm.uport) { bt_lpm.host_wake = host_wake; pr_err("[BT] host_wake_isr uport is null\n"); return IRQ_HANDLED; } update_host_wake_locked(host_wake); return IRQ_HANDLED; }
static irqreturn_t host_wake_isr(int irq, void *dev) { int host_wake; unsigned long flags; host_wake = gpio_get_value(GPIO_BT_HOST_WAKE); irq_set_irq_type(irq, host_wake ? IRQF_TRIGGER_LOW : IRQF_TRIGGER_HIGH); if (!bt_lpm.hdev) { bt_lpm.host_wake = host_wake; return IRQ_HANDLED; } spin_lock_irqsave(&bt_lpm.hdev->lock, flags); update_host_wake_locked(host_wake); spin_unlock_irqrestore(&bt_lpm.hdev->lock, flags); return IRQ_HANDLED; }
static irqreturn_t host_wake_isr(int irq, void *dev) { int host_wake; host_wake = gpio_get_value(bt_lpm.gpio_host_wake); pr_debug("%s: lpm %s\n", __func__, host_wake ? "off" : "on"); irq_set_irq_type(irq, host_wake ? IRQF_TRIGGER_FALLING : IRQF_TRIGGER_RISING); if (!bt_lpm.tty_dev) { bt_lpm.host_wake = host_wake; return IRQ_HANDLED; } update_host_wake_locked(host_wake); return IRQ_HANDLED; }
static void brcm_host_wake_work_func(struct work_struct *ignored) { int host_wake; host_wake = gpio_get_value(bt_lpm.gpio_host_wake); #ifdef BRCM_WAKELOCKTIMEOUT if(host_wake) { printk(KERN_ERR "BRCM_LPM: BRCM_WAKELOCKTIMEOUT host wake=%d\n",host_wake); hrtimer_try_to_cancel(&bt_lpm.check_hostwakeup_timer); hrtimer_start(&bt_lpm.check_hostwakeup_timer, bt_lpm.check_hostwakeup_delay, HRTIMER_MODE_REL); wake_lock_timeout(&bt_lpm.host_wake_lock, WAKELOCKTIMEOUT);//6*HZ); } return; #endif update_host_wake_locked(host_wake); }
static irqreturn_t host_wake_isr(int irq, void *dev) { int host_wake; unsigned long flags; host_wake = gpio_get_value(bt_lpm.gpio_host_wake); printk(KERN_INFO "[BT] %s host_wake=%d\n", __func__, host_wake); irq_set_irq_type(irq, host_wake ? IRQF_TRIGGER_LOW : IRQF_TRIGGER_HIGH); if (!bt_lpm.uport) { bt_lpm.host_wake = host_wake; return IRQ_HANDLED; } spin_lock_irqsave(&bt_lpm.uport->lock, flags); update_host_wake_locked(host_wake); spin_unlock_irqrestore(&bt_lpm.uport->lock, flags); return IRQ_HANDLED; }
static irqreturn_t host_wake_isr(int irq, void *dev) { int host_wake; unsigned long flags; pr_debug( "%s TOP\n",__FUNCTION__); host_wake = gpio_get_value(BT_HOST_WAKE_GPIO); pr_debug( "%s host_wake = %d\n",__FUNCTION__,host_wake); irq_set_irq_type(irq, host_wake ? IRQF_TRIGGER_LOW : IRQF_TRIGGER_HIGH); if (!bt_lpm.uport) { bt_lpm.host_wake = host_wake; return IRQ_HANDLED; } spin_lock_irqsave(&bt_lpm.uport->lock, flags); update_host_wake_locked(host_wake); spin_unlock_irqrestore(&bt_lpm.uport->lock, flags); return IRQ_HANDLED; }