Lines Matching refs:irq
101 irq_to_max8998_irq(struct max8998_dev *max8998, int irq) in irq_to_max8998_irq() argument
103 struct irq_data *data = irq_get_irq_data(irq); in irq_to_max8998_irq()
138 data->irq); in max8998_irq_unmask()
147 data->irq); in max8998_irq_mask()
160 static irqreturn_t max8998_irq_thread(int irq, void *data) in max8998_irq_thread() argument
182 irq = irq_find_mapping(max8998->irq_domain, i); in max8998_irq_thread()
183 if (WARN_ON(!irq)) { in max8998_irq_thread()
184 disable_irq_nosync(max8998->irq); in max8998_irq_thread()
187 handle_nested_irq(irq); in max8998_irq_thread()
196 if (max8998->irq && max8998->irq_domain) in max8998_irq_resume()
197 max8998_irq_thread(max8998->irq, max8998); in max8998_irq_resume()
201 static int max8998_irq_domain_map(struct irq_domain *d, unsigned int irq, in max8998_irq_domain_map() argument
206 irq_set_chip_data(irq, max8998); in max8998_irq_domain_map()
207 irq_set_chip_and_handler(irq, &max8998_irq_chip, handle_edge_irq); in max8998_irq_domain_map()
208 irq_set_nested_thread(irq, 1); in max8998_irq_domain_map()
210 set_irq_flags(irq, IRQF_VALID); in max8998_irq_domain_map()
212 irq_set_noprobe(irq); in max8998_irq_domain_map()
227 if (!max8998->irq) { in max8998_irq_init()
253 ret = request_threaded_irq(max8998->irq, NULL, max8998_irq_thread, in max8998_irq_init()
258 max8998->irq, ret); in max8998_irq_init()
280 if (max8998->irq) in max8998_irq_exit()
281 free_irq(max8998->irq, max8998); in max8998_irq_exit()