Main Page | Data Structures | File List | Data Fields | Globals

axis_driver.h File Reference


Detailed Description

Kernel thread export plus definitions to split minor number.

Author:
Andrew Roca
This makes public a kernel thread routine plus enumerations and constants used to choose how to subclass the device based on minor number

#include "axis_hardware.h"

Include dependency graph for axis_driver.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Enumerations

enum  axis_sub_device_type {
  sram = 0x0,
  inputs = 0x1,
  dipswitches = 0x2,
  outputs = 0x3,
  rtc = 0x4,
  serial_router = 0x5,
  spi = 0x6,
  serial_number = 0x7,
  crypto = 0x8,
  smart_card = 0x9
}
 used to associate minor numbers to Axis components The driver splits the minor number into two bit fields the upper is used to define which type of hardware to use the lower defines which one. This defines the hardware types supported. Support for serial ports and sram block access are delegated to existing kernel devices and get remapped to alternative major numbers More...


Functions

int axis_activity_thread (void *data)
 Function for a thread scans for missing interrupts and time out the driver.

int add_proc_exports (struct axis_pci_device_entry *device)
 Function to create a set of axis specific entries in the /proc file system.

void remove_proc_exports (struct axis_pci_device_entry *device)
 Function to delete Axis entries from /proc.


Enumeration Type Documentation

enum axis_sub_device_type
 

used to associate minor numbers to Axis components The driver splits the minor number into two bit fields the upper is used to define which type of hardware to use the lower defines which one. This defines the hardware types supported. Support for serial ports and sram block access are delegated to existing kernel devices and get remapped to alternative major numbers

Enumeration values:
sram  SRAM character device
inputs  inputs character device
dipswitches  dipswitches character device
outputs  outputs character device
rtc  rtc character device not used (access via user mode driver and spi)
serial_router  serial routing character device
spi  spi character device
serial_number  serial number character device
crypto  cryptographic functions character device
smart_card  smart card character device


Function Documentation

int add_proc_exports struct axis_pci_device_entry device  ) 
 

Function to create a set of axis specific entries in the /proc file system.

Parameters:
device - the master configuration/control structure for each Axis PCI device
Returns:
always 0

Adds a set of entries to the /proc file system these allow easy configuration and control to be implemented from the command line or via shell scripts as well as from conventional programming

Here is the call graph for this function:

int axis_activity_thread void *  data  ) 
 

Function for a thread scans for missing interrupts and time out the driver.

Parameters:
data - typed as void as this function is a callback but casted back to pointer to Master control structure
Returns:
0 but not relevent

This function becomes the main loop in a kernel thread tracking the Axis hardware in the background. Main use is to timeout IO which stall pending a non occuring interrupt

void remove_proc_exports struct axis_pci_device_entry device  ) 
 

Function to delete Axis entries from /proc.

Parameters:
device - master structure pointer for each Axis
Returns:
none

Here is the call graph for this function:


Generated on Fri Jan 28 12:34:07 2005 for Axis Kernel Driver by doxygen 1.3.6