nidas v1.2.3
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

◆ REPO_REVISION

#define REPO_REVISION   "unknown"

Referenced by ir104_init().

Function Documentation

◆ add_sample()

static void add_sample ( struct IR104 * brd)
static

Referenced by ir104_ioctl().

◆ clear_douts()

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

Referenced by ir104_ioctl().

◆ get_dins()

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

◆ get_douts()

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

◆ ir104_cleanup()

static void ir104_cleanup ( void )
static

◆ ir104_init()

static int __init ir104_init ( void )
static

◆ ir104_ioctl()

static long ir104_ioctl ( struct file * filp,
unsigned int cmd,
unsigned long arg )
static

◆ ir104_open()

static int ir104_open ( struct inode * inode,
struct file * filp )
static

References boards, and num_boards.

◆ ir104_relay_poll()

static unsigned int ir104_relay_poll ( struct file * filp,
poll_table * wait )
static

◆ ir104_relay_read()

static ssize_t ir104_relay_read ( struct file * filp,
char __user * buf,
size_t count,
loff_t * f_pos )
static

References nidas_circbuf_read().

◆ ir104_release()

static int ir104_release ( struct inode * inode,
struct file * filp )
static

◆ MODULE_AUTHOR()

MODULE_AUTHOR ( "Gordon Maclean <maclean@ucar.edu>" )

◆ MODULE_DESCRIPTION()

MODULE_DESCRIPTION ( "driver module for Diamond Systems IR104 card" )

◆ module_exit()

module_exit ( ir104_cleanup )

◆ module_init()

module_init ( ir104_init )

◆ MODULE_LICENSE()

MODULE_LICENSE ( "Dual BSD/GPL" )

◆ module_param_array()

module_param_array ( ioports ,
int ,
num_boards ,
S_IRUGO  )

◆ MODULE_VERSION()

MODULE_VERSION ( REPO_REVISION )

◆ set_douts()

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

Referenced by ir104_ioctl().

◆ set_douts_val()

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

Referenced by ir104_ioctl().

Variable Documentation

◆ boards

struct IR104* boards = 0
static

◆ ioports

unsigned int ioports[IR104_MAX_BOARDS] = {0,0,0,0}
static

Referenced by ir104_init().

◆ ir104_class

struct class* ir104_class
static

Referenced by ir104_cleanup(), and ir104_init().

◆ ir104_device

dev_t ir104_device = MKDEV(0,0)
static

Referenced by ir104_cleanup(), and ir104_init().

◆ ir104_fops

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 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
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

Referenced by ir104_init().

◆ num_boards

int num_boards = 0
static