Lines Matching refs:twl6030_irq
106 struct twl6030_irq { struct
117 static struct twl6030_irq *twl6030_irq; variable
123 struct twl6030_irq *pdata = container_of(notifier, struct twl6030_irq, in twl6030_irq_pm_notifier()
168 struct twl6030_irq *pdata = data; in twl6030_irq_thread()
221 struct twl6030_irq *pdata = irq_data_get_irq_chip_data(d); in twl6030_irq_set_wake()
303 return irq_find_mapping(twl6030_irq->irq_domain, in twl6030_mmc_card_detect_config()
336 struct twl6030_irq *pdata = d->host_data; in twl6030_irq_map()
381 twl6030_irq = devm_kzalloc(dev, sizeof(*twl6030_irq), GFP_KERNEL); in twl6030_init_irq()
382 if (!twl6030_irq) in twl6030_init_irq()
405 twl6030_irq->irq_chip = dummy_irq_chip; in twl6030_init_irq()
406 twl6030_irq->irq_chip.name = "twl6030"; in twl6030_init_irq()
407 twl6030_irq->irq_chip.irq_set_type = NULL; in twl6030_init_irq()
408 twl6030_irq->irq_chip.irq_set_wake = twl6030_irq_set_wake; in twl6030_init_irq()
410 twl6030_irq->pm_nb.notifier_call = twl6030_irq_pm_notifier; in twl6030_init_irq()
411 atomic_set(&twl6030_irq->wakeirqs, 0); in twl6030_init_irq()
412 twl6030_irq->irq_mapping_tbl = of_id->data; in twl6030_init_irq()
414 twl6030_irq->irq_domain = in twl6030_init_irq()
416 &twl6030_irq_domain_ops, twl6030_irq); in twl6030_init_irq()
417 if (!twl6030_irq->irq_domain) { in twl6030_init_irq()
426 IRQF_ONESHOT, "TWL6030-PIH", twl6030_irq); in twl6030_init_irq()
432 twl6030_irq->twl_irq = irq_num; in twl6030_init_irq()
433 register_pm_notifier(&twl6030_irq->pm_nb); in twl6030_init_irq()
437 irq_domain_remove(twl6030_irq->irq_domain); in twl6030_init_irq()
443 if (twl6030_irq && twl6030_irq->twl_irq) { in twl6030_exit_irq()
444 unregister_pm_notifier(&twl6030_irq->pm_nb); in twl6030_exit_irq()
445 free_irq(twl6030_irq->twl_irq, NULL); in twl6030_exit_irq()