Lines Matching full:producer
78 * irq_bypass_register_producer - register IRQ bypass producer
79 * @producer: pointer to producer structure
81 * Add the provided IRQ producer to the list of producers and connect
84 int irq_bypass_register_producer(struct irq_bypass_producer *producer) in irq_bypass_register_producer() argument
90 if (!producer->token) in irq_bypass_register_producer()
101 if (tmp->token == producer->token) { 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()
116 list_add(&producer->node, &producers); in irq_bypass_register_producer()
129 * irq_bypass_unregister_producer - unregister IRQ bypass producer
130 * @producer: pointer to producer structure
132 * Remove a previously registered IRQ producer from the list of producers
135 void irq_bypass_unregister_producer(struct irq_bypass_producer *producer) in irq_bypass_unregister_producer() argument
140 if (!producer->token) in irq_bypass_unregister_producer()
151 if (tmp->token != producer->token) 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()
161 list_del(&producer->node); in irq_bypass_unregister_producer()
177 * with any matching token found on the IRQ producer list.
182 struct irq_bypass_producer *producer; in irq_bypass_register_consumer() local
203 list_for_each_entry(producer, &producers, node) { 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()
229 * and disconnect it from any connected IRQ producer.
234 struct irq_bypass_producer *producer; in irq_bypass_unregister_consumer() local
250 list_for_each_entry(producer, &producers, node) { 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()