Unlike most other device drivers, the adapter device driver does not support the read and write subroutines. It only supports the open, close, ioctl, config, and strategy subroutines. Included with the open subroutine call is the openx subroutine that allows adapter diagnostics.
A device driver does not need to access the diagnostic commands. Commands received from the device driver through the strategy routine of the adapter are processed from a queue. Once the command has completed, the device driver is notified through the iodone kernel service.