ccd.c File Reference

#include <linux/config.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/types.h>
#include <linux/major.h>
#include <linux/errno.h>
#include <linux/signal.h>
#include <linux/fcntl.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/devpts_fs.h>
#include <linux/file.h>
#include <linux/console.h>
#include <linux/timer.h>
#include <linux/ctype.h>
#include <linux/kd.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/poll.h>
#include <linux/proc_fs.h>
#include <linux/init.h>
#include <linux/smp_lock.h>
#include <linux/devfs_fs_kernel.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <asm/bitops.h>
#include "ccd.h"
#include "dbgstuff.h"

Go to the source code of this file.

Defines

#define CCD_VERSION   "V0.1 (C) P.Zahl 2000"
#define TIMEOUT_TICKS   19
#define JIFFIES_SEM   2
#define MAXWAKEUPS_SEM   10
#define MAKE_MY_TIMEOUT_TMR(tmr)

Functions

static DECLARE_WAIT_QUEUE_HEAD (waitq)
static void timeout (unsigned long ignore)
void mysleep (unsigned long myjiffies)
static ssize_t ccd_read (struct file *, char *, size_t, loff_t *)
static int ccd_ioctl (struct inode *, struct file *, unsigned int, unsigned long)
int ccd_initialize (void)
void ccd_quit (void)
int init_module (void)
void cleanup_module (void)
static int ccd_open (struct inode *inode, struct file *f)
static int ccd_release (struct inode *inode, struct file *f)

Variables

static devfs_handle_t devfs_handle = NULL
static int opened
static ccd_parport ccd_parport_io
static ccd_parportccd_io
file_operations ccd_fops


Define Documentation

#define CCD_VERSION   "V0.1 (C) P.Zahl 2000"
 

Definition at line 37 of file ccd.c.

Referenced by ccd_initialize().

#define JIFFIES_SEM   2
 

Definition at line 98 of file ccd.c.

Referenced by get_dport_range().

#define MAKE_MY_TIMEOUT_TMR tmr   ) 
 

Value:

struct timer_list tmr; \
  init_timer(&tmr); \
  tmr.function = timeout; \
  tmr.data = 0

Definition at line 121 of file ccd.c.

Referenced by BoxEmpty(), BoxFull(), get_dport_range(), and mysleep().

#define MAXWAKEUPS_SEM   10
 

Definition at line 99 of file ccd.c.

Referenced by get_dport_range().

#define TIMEOUT_TICKS   19
 

Definition at line 97 of file ccd.c.

Referenced by BoxEmpty(), BoxFull(), and get_dport_range().


Function Documentation

int ccd_initialize void   ) 
 

Definition at line 222 of file ccd.c.

References ccd_parport::base, ccd_parport::basehi, ccd_io, CCD_Monitoring, ccd_parport_io, CCD_VERSION, KDEBUG, KDEBUG_L1, LPT3_BASE, opened, PARP_CONTROL, PARP_DATA, PARP_ECPCONTROL, ccd_parport::save_ecmode, ccd_parport::save_mode, and ccd_parport::save_status.

Referenced by init_module().

static int ccd_ioctl struct inode *  ,
struct file *  ,
unsigned  int,
unsigned  long
[static]
 

Definition at line 171 of file ccd.c.

References CCD_CMD_CLEAR, CCD_CMD_EXPOSURE, CCD_CMD_GETPIXEL, CCD_CMD_INITLESEN, CCD_CMD_MONITORENABLE, ccd_io, CCD_Lesen, CCD_Monitoring, CCD_Move2Mem, CCD_Next, CCD_PixWert, CCD_Sammeln, and mysleep().

static int ccd_open struct inode *  inode,
struct file *  f
[static]
 

Definition at line 156 of file ccd.c.

References KDEBUG, and opened.

void ccd_quit void   )  [inline]
 

Definition at line 248 of file ccd.c.

References ccd_io, CCD_Monitoring, KDEBUG, PARP_CONTROL, PARP_DATA, PARP_ECPCONTROL, ccd_parport::save_ecmode, ccd_parport::save_mode, and ccd_parport::save_status.

Referenced by cleanup_module().

static ssize_t ccd_read struct file *  ,
char *  ,
size_t  ,
loff_t * 
[static]
 

Definition at line 142 of file ccd.c.

static int ccd_release struct inode *  inode,
struct file *  f
[static]
 

Definition at line 164 of file ccd.c.

References KDEBUG, and opened.

void cleanup_module void   ) 
 

Definition at line 304 of file ccd.c.

References CCD_DEVICE_NAME, CCD_MAJOR, ccd_quit(), devfs_handle, and KDEBUG.

static DECLARE_WAIT_QUEUE_HEAD waitq   )  [static]
 

int init_module void   ) 
 

Definition at line 282 of file ccd.c.

References CCD_DEVFS_DIR, CCD_DEVICE_NAME, ccd_fops, ccd_initialize(), CCD_MAJOR, devfs_handle, and KDEBUG.

void mysleep unsigned long  myjiffies  ) 
 

Definition at line 128 of file ccd.c.

References MAKE_MY_TIMEOUT_TMR, and waitq.

Referenced by ccd_ioctl(), ChanneltronCounts(), linescan(), pcdsp_halt(), pcdsp_reset(), pcdsp_run(), scan2d(), and stop_dsp().

static void timeout unsigned long  ignore  )  [static]
 

Definition at line 116 of file ccd.c.

References KDEBUG_L3, waitq, and wakeups.

Referenced by ChanneltronCounts(), innovative_dsp_hwi_dev::ExecCmd(), ProbeFifoReadThread(), and innovative_dsp_hwi_dev::SetParameter().


Variable Documentation

struct file_operations ccd_fops
 

Initial value:

 {
    
  read:    ccd_read,  
  
  
  
  ioctl:   ccd_ioctl, 
  
  open:    ccd_open,  
  
  release: ccd_release,
  
  
  
  
  
}

Definition at line 264 of file ccd.c.

Referenced by init_module().

ccd_parport* ccd_io [static]
 

Definition at line 87 of file ccd.c.

Referenced by ccd_initialize(), ccd_ioctl(), and ccd_quit().

ccd_parport ccd_parport_io [static]
 

Definition at line 86 of file ccd.c.

Referenced by ccd_initialize().

devfs_handle_t devfs_handle = NULL [static]
 

Definition at line 81 of file ccd.c.

Referenced by cleanup_module(), and init_module().

int opened [static]
 

Definition at line 83 of file ccd.c.

Referenced by ccd_initialize(), ccd_open(), ccd_release(), pcdsp_initialize(), pcdsp_open(), pcdsp_read_proc(), and pcdsp_release().


Generated on Sat Apr 1 09:04:44 2006 for GXSM by  doxygen 1.4.6