Lines Matching full:consumer
91 struct irq_bypass_consumer *consumer; in irq_bypass_register_producer() local
111 list_for_each_entry(consumer, &consumers, node) { in irq_bypass_register_producer()
112 if (consumer->token == producer->token) { in irq_bypass_register_producer()
113 ret = __connect(producer, consumer); in irq_bypass_register_producer()
137 * and disconnect it from any connected IRQ consumer.
142 struct irq_bypass_consumer *consumer; in irq_bypass_unregister_producer() local
158 list_for_each_entry(consumer, &consumers, node) { in irq_bypass_unregister_producer()
159 if (consumer->token == producer->token) { in irq_bypass_unregister_producer()
160 __disconnect(producer, consumer); in irq_bypass_unregister_producer()
177 * irq_bypass_register_consumer - register IRQ bypass consumer
178 * @consumer: pointer to consumer structure
180 * Add the provided IRQ consumer to the list of consumers and connect
183 int irq_bypass_register_consumer(struct irq_bypass_consumer *consumer) in irq_bypass_register_consumer() argument
189 if (!consumer->token || in irq_bypass_register_consumer()
190 !consumer->add_producer || !consumer->del_producer) in irq_bypass_register_consumer()
201 if (tmp->token == consumer->token || tmp == consumer) { in irq_bypass_register_consumer()
208 if (producer->token == consumer->token) { in irq_bypass_register_consumer()
209 ret = __connect(producer, consumer); in irq_bypass_register_consumer()
216 list_add(&consumer->node, &consumers); in irq_bypass_register_consumer()
229 * irq_bypass_unregister_consumer - unregister IRQ bypass consumer
230 * @consumer: pointer to consumer structure
232 * Remove a previously registered IRQ consumer from the list of consumers
235 void irq_bypass_unregister_consumer(struct irq_bypass_consumer *consumer) in irq_bypass_unregister_consumer() argument
240 if (!consumer->token) in irq_bypass_unregister_consumer()
251 if (tmp != consumer) in irq_bypass_unregister_consumer()
255 if (producer->token == consumer->token) { in irq_bypass_unregister_consumer()
256 __disconnect(producer, consumer); in irq_bypass_unregister_consumer()
261 list_del(&consumer->node); in irq_bypass_unregister_consumer()