udi_intr_detach_ack(3udi)


Acknowledge an interrupt detachment

SYNOPSIS

#include <udi.h>

void udi_intr_detach_ack (

	udi_intr_detach_cb_t *intr_detach_cb );
 

ARGUMENTS intr_detach_cb is a pointer to an interrupt detach control block.

TARGET CHANNEL The target channel for this operation is the bound bus bridge channel connecting a bus bridge driver with one of its child device drivers, established during the initial binding between the child device and its bus bridge.

PROXIES udi_intr_detach_ack_unused

Proxy for udi_intr_detach_ack
udi_intr_detach_ack_op_t udi_intr_detach_ack_unused;
 

udi_intr_detach_ack_unused may be used as a device driver's udi_intr_detach_ack entry point if the driver never calls udi_intr_detach_req (and therefore expects to receive no acknowledgements).

DESCRIPTION After detaching the interrupt handler and closing the local end of the corresponding interrupt event channel, the interrupt dispatcher driver sends the control block back to the interrupt handler using the channel operation, udi_intr_detach_ack.

The dispatcher should discard any udi_intr_event_cb_t control blocks currently held via udi_cb_free before acknowledging the detach operation. Additionally, any interrupt event control blocks received while not attached should be discarded in a similar manner.

The interrupt_idx in the returned control block must be the same as that passed to udi_intr_detach_req.

Upon receipt of the udi_intr_detach_ack, the interrupt handler must close its end of the interrupt event channel (if it did not already do so as a result of a udi_channel_event_ind).

The interrupt handler may free the control block using udi_cb_free or reuse it for another detachment.

warnings The control block must be the same control block as passed to the driver in the corresponding udi_intr_detach_req operation.

REFERENCES udi_intr_detach_cb_t, udi_intr_detach_req, udi_cb_free


UDI Physical I/O Specification Contents