User Manual

UG_1x22_053 73M1822/73M1922 Control Module User Guide
Rev. 1.0 9
Teridian 73M1x22 Hardware Module
73M1x22 Control Module
User Application Software
IOCTLs
73M1x22 Chip Set
State Processor
Timers
MAFE ISR
Events
OS/BSP
Figure 2: Driver Functional Block Diagram
The driver provides an interface to user application through the IOCTL and Events interface. Through this
interface, the user application communicates with the driver via a standard device interface (open, close,
select, ioctl functions). Using this interface the application will be able to control the operation of the
device and to retrieve the status of the modem line. Section 6 describes the details of this interface.
The 73M1x22 driver is built as a Linux loadable module (for Linux) or integrated with the operating system
kernel. It will be brought into operation by a user application or by an operating system start up script.
For Linux, the insmod command is used to insert the driver into the kernel. The insmod command
invokes the module_init() macro, which in turn runs the one-time initialization function of the driver.
Before exiting the initialization the driver enters its main operational state via the scheduling of one of
many timers that make up the driver’s main processing.
2.2 Functional Overview
Once installed, the driver is a self-contained module running independently along with the kernel
processes. Its main purpose is to monitor the modem line for various conditions, generates appropriated
event when they occur, and to provide access to the 73M1x22 device for management purposes, via
standard driver access methods such as open, close, select, ioctl, etc. The following sections
provide an overview of that functionality.