Loading drivers/pinctrl/qcom/pinctrl-msm.c +25 −0 Original line number Diff line number Diff line Loading @@ -925,6 +925,29 @@ static int msm_gpio_irq_set_wake(struct irq_data *d, unsigned int on) return 0; } static int msm_gpio_irq_set_affinity(struct irq_data *d, const struct cpumask *dest, bool force) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); struct msm_pinctrl *pctrl = gpiochip_get_data(gc); if (d->parent_data && test_bit(d->hwirq, pctrl->wakeup_masked_irqs)) return irq_chip_set_affinity_parent(d, dest, force); return 0; } static int msm_gpio_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu_info) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); struct msm_pinctrl *pctrl = gpiochip_get_data(gc); if (d->parent_data && test_bit(d->hwirq, pctrl->wakeup_masked_irqs)) return irq_chip_set_vcpu_affinity_parent(d, vcpu_info); return 0; } static void msm_gpio_irq_handler(struct irq_desc *desc) { struct gpio_chip *gc = irq_desc_get_handler_data(desc); Loading Loading @@ -1110,6 +1133,8 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) pctrl->irq_chip.irq_ack = msm_gpio_irq_ack; pctrl->irq_chip.irq_set_type = msm_gpio_irq_set_type; pctrl->irq_chip.irq_set_wake = msm_gpio_irq_set_wake; pctrl->irq_chip.irq_set_affinity = msm_gpio_irq_set_affinity; pctrl->irq_chip.irq_set_vcpu_affinity = msm_gpio_irq_set_vcpu_affinity; chip->irq.chip = &pctrl->irq_chip; chip->irq.handler = handle_edge_irq; Loading Loading
drivers/pinctrl/qcom/pinctrl-msm.c +25 −0 Original line number Diff line number Diff line Loading @@ -925,6 +925,29 @@ static int msm_gpio_irq_set_wake(struct irq_data *d, unsigned int on) return 0; } static int msm_gpio_irq_set_affinity(struct irq_data *d, const struct cpumask *dest, bool force) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); struct msm_pinctrl *pctrl = gpiochip_get_data(gc); if (d->parent_data && test_bit(d->hwirq, pctrl->wakeup_masked_irqs)) return irq_chip_set_affinity_parent(d, dest, force); return 0; } static int msm_gpio_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu_info) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); struct msm_pinctrl *pctrl = gpiochip_get_data(gc); if (d->parent_data && test_bit(d->hwirq, pctrl->wakeup_masked_irqs)) return irq_chip_set_vcpu_affinity_parent(d, vcpu_info); return 0; } static void msm_gpio_irq_handler(struct irq_desc *desc) { struct gpio_chip *gc = irq_desc_get_handler_data(desc); Loading Loading @@ -1110,6 +1133,8 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) pctrl->irq_chip.irq_ack = msm_gpio_irq_ack; pctrl->irq_chip.irq_set_type = msm_gpio_irq_set_type; pctrl->irq_chip.irq_set_wake = msm_gpio_irq_set_wake; pctrl->irq_chip.irq_set_affinity = msm_gpio_irq_set_affinity; pctrl->irq_chip.irq_set_vcpu_affinity = msm_gpio_irq_set_vcpu_affinity; chip->irq.chip = &pctrl->irq_chip; chip->irq.handler = handle_edge_irq; Loading