Hello Bartosz, On Tue, Jan 29, 2019 at 09:44:05AM +0100, Bartosz Golaszewski wrote: > -void irq_sim_fire(struct irq_sim *sim, unsigned int offset) > +void irq_sim_fire_type(struct irq_sim *sim, > + unsigned int offset, unsigned int type) > { > struct irq_sim_irq_ctx *ctx = irq_sim_get_ctx(sim, offset); > > - if (ctx->enabled) { > + /* Only care about relevant flags. */ > + type &= IRQ_TYPE_SENSE_MASK; > + > + if (ctx->enabled && (ctx->type & type)) { > set_bit(offset, sim->work_ctx.pending); > irq_work_queue(&sim->work_ctx.work); > } > } > -EXPORT_SYMBOL_GPL(irq_sim_fire); > +EXPORT_SYMBOL_GPL(irq_sim_fire_type); This looks better than the previous variant. I wonder if it would be still more sensible to have type only in the mockup driver. But I don't have the complete picture here and it might be easier this way. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ |