Ejemplo n.º 1
0
static irqreturn_t my_interrupt (int irq, void *dev_id)
{
    int rc;
    irq_counter++;
    printk (KERN_INFO "In the ISR: counter = %d\n", irq_counter);
    rc = execute_in_process_context (tfun, &ew);
    printk (KERN_INFO "rc from execute_in_process_context = %d\n", rc);
    return IRQ_NONE;            /* we return IRQ_NONE because we are just observing */
}
Ejemplo n.º 2
0
static int __init my_init (void)
{
    int rc;
    if (request_irq
        (irq, my_interrupt, IRQF_SHARED, "my_interrupt", &my_dev_id))
        return -1;
    printk (KERN_INFO "Successfully loading ISR handler\n");
    rc = execute_in_process_context (tfun, &ew);
    printk (KERN_INFO "rc from execute_in_process_context = %d\n", rc);

    return 0;
}
Ejemplo n.º 3
0
/* called when the last reference to the qp is dropped */
void rxe_qp_cleanup(struct rxe_pool_entry *arg)
{
	struct rxe_qp *qp = container_of(arg, typeof(*qp), pelem);

	execute_in_process_context(rxe_qp_do_cleanup, &qp->cleanup_work);
}