The ddread and ddwrite entry points require logic to support the select and poll operations. Depending on how the device driver is written, the interrupt routine may also need to include this logic as well.
The select/poll logic is required wherever code checks on the occurrence of desired events. At each point where one of the selection criteria is found to be true, the device driver should check whether a notification is due for that selection. If so, it should call the selnotify kernel service to notify the kernel of the event.
The devno, chan, and revents parameters are passed to the selnotify kernel service to indicate which device and which events have become true.
The ddread device driver entry point, ddselect device driver entry point, ddwrite device driver entry point.
The selnotify kernel service.
The poll subroutine, select subroutine.
Device Driver Kernel Extension Overview and Programming in the Kernel Environment Overview in AIX Kernel Extensions and Device Support Programming Concepts.