Lines Matching refs:twl6030_irq
119 struct twl6030_irq { struct
130 static struct twl6030_irq *twl6030_irq; argument
136 struct twl6030_irq *pdata = container_of(notifier, struct twl6030_irq, in twl6030_irq_pm_notifier()
181 struct twl6030_irq *pdata = data; in twl6030_irq_thread()
234 struct twl6030_irq *pdata = irq_get_chip_data(d->irq); in twl6030_irq_set_wake()
316 return irq_find_mapping(twl6030_irq->irq_domain, in twl6030_mmc_card_detect_config()
349 struct twl6030_irq *pdata = d->host_data; in twl6030_irq_map()
407 twl6030_irq = devm_kzalloc(dev, sizeof(*twl6030_irq), GFP_KERNEL); in twl6030_init_irq()
408 if (!twl6030_irq) { in twl6030_init_irq()
433 twl6030_irq->irq_chip = dummy_irq_chip; in twl6030_init_irq()
434 twl6030_irq->irq_chip.name = "twl6030"; in twl6030_init_irq()
435 twl6030_irq->irq_chip.irq_set_type = NULL; in twl6030_init_irq()
436 twl6030_irq->irq_chip.irq_set_wake = twl6030_irq_set_wake; in twl6030_init_irq()
438 twl6030_irq->pm_nb.notifier_call = twl6030_irq_pm_notifier; in twl6030_init_irq()
439 atomic_set(&twl6030_irq->wakeirqs, 0); in twl6030_init_irq()
440 twl6030_irq->irq_mapping_tbl = of_id->data; in twl6030_init_irq()
442 twl6030_irq->irq_domain = in twl6030_init_irq()
444 &twl6030_irq_domain_ops, twl6030_irq); in twl6030_init_irq()
445 if (!twl6030_irq->irq_domain) { in twl6030_init_irq()
454 IRQF_ONESHOT, "TWL6030-PIH", twl6030_irq); in twl6030_init_irq()
460 twl6030_irq->twl_irq = irq_num; in twl6030_init_irq()
461 register_pm_notifier(&twl6030_irq->pm_nb); in twl6030_init_irq()
465 irq_domain_remove(twl6030_irq->irq_domain); in twl6030_init_irq()
471 if (twl6030_irq && twl6030_irq->twl_irq) { in twl6030_exit_irq()
472 unregister_pm_notifier(&twl6030_irq->pm_nb); in twl6030_exit_irq()
473 free_irq(twl6030_irq->twl_irq, NULL); in twl6030_exit_irq()