Lines Matching refs:consumer
87 struct irq_bypass_consumer *consumer; in irq_bypass_register_producer() local
107 list_for_each_entry(consumer, &consumers, node) { in irq_bypass_register_producer()
108 if (consumer->token == producer->token) { in irq_bypass_register_producer()
109 ret = __connect(producer, consumer); in irq_bypass_register_producer()
138 struct irq_bypass_consumer *consumer; in irq_bypass_unregister_producer() local
154 list_for_each_entry(consumer, &consumers, node) { in irq_bypass_unregister_producer()
155 if (consumer->token == producer->token) { in irq_bypass_unregister_producer()
156 __disconnect(producer, consumer); in irq_bypass_unregister_producer()
179 int irq_bypass_register_consumer(struct irq_bypass_consumer *consumer) in irq_bypass_register_consumer() argument
185 if (!consumer->token || in irq_bypass_register_consumer()
186 !consumer->add_producer || !consumer->del_producer) in irq_bypass_register_consumer()
197 if (tmp->token == consumer->token || tmp == consumer) { in irq_bypass_register_consumer()
204 if (producer->token == consumer->token) { in irq_bypass_register_consumer()
205 ret = __connect(producer, consumer); in irq_bypass_register_consumer()
212 list_add(&consumer->node, &consumers); in irq_bypass_register_consumer()
231 void irq_bypass_unregister_consumer(struct irq_bypass_consumer *consumer) in irq_bypass_unregister_consumer() argument
236 if (!consumer->token) in irq_bypass_unregister_consumer()
247 if (tmp != consumer) in irq_bypass_unregister_consumer()
251 if (producer->token == consumer->token) { in irq_bypass_unregister_consumer()
252 __disconnect(producer, consumer); in irq_bypass_unregister_consumer()
257 list_del(&consumer->node); in irq_bypass_unregister_consumer()