nidas  v1.2-1520
Macros | Functions | Variables
ir104.c File Reference
#include <linux/module.h>
#include <linux/version.h>
#include <linux/types.h>
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/poll.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include "ir104.h"
#include <nidas/linux/Revision.h>
#include <nidas/linux/ver_macros.h>
#include <nidas/linux/klog.h>
#include <nidas/linux/isa_bus.h>

Macros

#define REPO_REVISION   "unknown"
 

Functions

 module_param_array (ioports, int, num_boards, S_IRUGO)
 
 MODULE_AUTHOR ("Gordon Maclean <maclean@ucar.edu>")
 
 MODULE_DESCRIPTION ("driver module for Diamond Systems IR104 card")
 
 MODULE_LICENSE ("Dual BSD/GPL")
 
 MODULE_VERSION (REPO_REVISION)
 
static void add_sample (struct IR104 *brd)
 
static void set_douts (struct IR104 *brd, const unsigned char *bits)
 
static void clear_douts (struct IR104 *brd, const unsigned char *bits)
 
static void set_douts_val (struct IR104 *brd, const unsigned char *bits, const unsigned char *value)
 
static void get_douts (struct IR104 *brd, unsigned char *bits)
 
static void get_dins (struct IR104 *brd, unsigned char *bits)
 
static int ir104_open (struct inode *inode, struct file *filp)
 
static int ir104_release (struct inode *inode, struct file *filp)
 
static long ir104_ioctl (struct file *filp, unsigned int cmd, unsigned long arg)
 
static unsigned int ir104_relay_poll (struct file *filp, poll_table *wait)
 
static ssize_t ir104_relay_read (struct file *filp, char __user *buf, size_t count, loff_t *f_pos)
 
static void ir104_cleanup (void)
 
static int __init ir104_init (void)
 
 module_init (ir104_init)
 
 module_exit (ir104_cleanup)
 

Variables

static dev_t ir104_device = MKDEV(0,0)
 
static unsigned int ioports [IR104_MAX_BOARDS] = {0,0,0,0}
 
static int num_boards = 0
 
static struct IR104 * boards = 0
 
static struct class * ir104_class
 
static struct file_operations ir104_fops
 

Macro Definition Documentation

#define REPO_REVISION   "unknown"

Referenced by ir104_init().

Function Documentation

static void add_sample ( struct IR104 *  brd)
static
static void clear_douts ( struct IR104 *  brd,
const unsigned char *  bits 
)
static

Referenced by ir104_ioctl().

static void get_dins ( struct IR104 *  brd,
unsigned char *  bits 
)
static

Referenced by ir104_ioctl().

static void get_douts ( struct IR104 *  brd,
unsigned char *  bits 
)
static

Referenced by ir104_ioctl().

static void ir104_cleanup ( void  )
static
static int __init ir104_init ( void  )
static
static long ir104_ioctl ( struct file *  filp,
unsigned int  cmd,
unsigned long  arg 
)
static
static int ir104_open ( struct inode *  inode,
struct file *  filp 
)
static

References boards, and num_boards.

static unsigned int ir104_relay_poll ( struct file *  filp,
poll_table *  wait 
)
static
static ssize_t ir104_relay_read ( struct file *  filp,
char __user *  buf,
size_t  count,
loff_t *  f_pos 
)
static

References nidas_circbuf_read().

static int ir104_release ( struct inode *  inode,
struct file *  filp 
)
static
MODULE_AUTHOR ( "Gordon Maclean <maclean@ucar.edu>"  )
MODULE_DESCRIPTION ( "driver module for Diamond Systems IR104 card"  )
module_exit ( ir104_cleanup  )
module_init ( ir104_init  )
MODULE_LICENSE ( "Dual BSD/GPL"  )
module_param_array ( ioports  ,
int  ,
num_boards  ,
S_IRUGO   
)
MODULE_VERSION ( REPO_REVISION  )
static void set_douts ( struct IR104 *  brd,
const unsigned char *  bits 
)
static

Referenced by ir104_ioctl().

static void set_douts_val ( struct IR104 *  brd,
const unsigned char *  bits,
const unsigned char *  value 
)
static

Referenced by ir104_ioctl().

Variable Documentation

struct IR104* boards = 0
static
unsigned int ioports[IR104_MAX_BOARDS] = {0,0,0,0}
static

Referenced by ir104_init().

struct class* ir104_class
static

Referenced by ir104_cleanup(), and ir104_init().

dev_t ir104_device = MKDEV(0,0)
static

Referenced by ir104_cleanup(), and ir104_init().

struct file_operations ir104_fops
static
Initial value:
= {
.owner = THIS_MODULE,
.open = ir104_open,
.unlocked_ioctl = ir104_ioctl,
.release = ir104_release,
.llseek = no_llseek,
}
static int ir104_release(struct inode *inode, struct file *filp)
Definition: ir104.c:182
static long ir104_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
Definition: ir104.c:198
static unsigned int ir104_relay_poll(struct file *filp, poll_table *wait)
Definition: ir104.c:300
static ssize_t ir104_relay_read(struct file *filp, char __user *buf, size_t count, loff_t *f_pos)
Definition: ir104.c:315
static int ir104_open(struct inode *inode, struct file *filp)
Definition: ir104.c:158

Referenced by ir104_init().

int num_boards = 0
static