142#ifndef NIDAS_LINUX_EMERALD_H
143#define NIDAS_LINUX_EMERALD_H
153# define PDEBUG(fmt, args...) printk( KERN_DEBUG "emerald: " fmt, ## args)
156# define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
159# define PDEBUG(fmt, args...)
162#define PDEBUGG(fmt, args...)
164#define EMERALD_NR_PORTS 8
168#include <linux/cdev.h>
169#include <linux/device.h>
170#include <linux/ioctl.h>
172#define EMERALD_MAX_NR_DEVS 4
173#define EMERALD_IO_REGION_SIZE 7
176#define EMERALD_APER 0x0
177#define EMERALD_AIDR 0x1
178#define EMERALD_ARR 0x1
179#define EMERALD_DDR 0x2
180#define EMERALD_ISR 0x2
181#define EMERALD_DOR 0x3
182#define EMERALD_DIR 0x3
183#define EMERALD_ECAR 0x4
184#define EMERALD_EBR 0x4
185#define EMERALD_EDR 0x5
186#define EMERALD_CRR 0x6
227typedef struct emerald_board {
233#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
234 struct mutex brd_mutex;
236 struct semaphore brd_mutex;
250typedef struct emerald_port {
251 emerald_board*
board;
261#define EMERALD_IOC_MAGIC 0xd0
264#define EMERALD_IOCSPORTCONFIG _IOW(EMERALD_IOC_MAGIC, 0, emerald_config)
267#define EMERALD_IOCGPORTCONFIG _IOR(EMERALD_IOC_MAGIC, 1, emerald_config)
270#define EMERALD_IOCSEEPORTCONFIG _IOW(EMERALD_IOC_MAGIC, 2, emerald_config)
273#define EMERALD_IOCGEEPORTCONFIG _IOR(EMERALD_IOC_MAGIC, 3, emerald_config)
276#define EMERALD_IOCEECONFIGLOAD _IO(EMERALD_IOC_MAGIC, 4)
279#define EMERALD_IOCPORTENABLE _IO(EMERALD_IOC_MAGIC, 5)
282#define EMERALD_IOCGNBOARD _IOR(EMERALD_IOC_MAGIC, 6, int)
285#define EMERALD_IOCGISABASE _IOR(EMERALD_IOC_MAGIC,7,unsigned long)
288#define EMERALD_IOCGDIOOUT _IOR(EMERALD_IOC_MAGIC,8,int)
291#define EMERALD_IOCSDIOOUT _IOW(EMERALD_IOC_MAGIC,9,int)
294#define EMERALD_IOCGDIO _IOR(EMERALD_IOC_MAGIC,10,int)
297#define EMERALD_IOCSDIO _IOW(EMERALD_IOC_MAGIC,11,int)
300#define EMERALD_IOCG_MODE _IOWR(EMERALD_IOC_MAGIC,12,emerald_mode)
303#define EMERALD_IOCS_MODE _IOW(EMERALD_IOC_MAGIC,13,emerald_mode)
306#define EMERALD_IOCG_EEMODE _IOWR(EMERALD_IOC_MAGIC,14,emerald_mode)
309#define EMERALD_IOCS_EEMODE _IOW(EMERALD_IOC_MAGIC,15,emerald_mode)
311#define EMERALD_IOC_MAXNR 15
static struct DMMAT * board
Definition dmd_mmat.c:124
struct emerald_mode emerald_mode
struct emerald_config emerald_config
EMERALD_MODEL
Definition emerald.h:212
@ EMERALD_MM_8P
Definition emerald.h:215
@ EMERALD_UNKNOWN
Definition emerald.h:213
@ EMERALD_MM_8
Definition emerald.h:214
#define EMERALD_NR_PORTS
Definition emerald.h:164
EMERALD_MODE
Definition emerald.h:202
@ EMERALD_RS485_NOECHO
Definition emerald.h:206
@ EMERALD_RS232
Definition emerald.h:203
@ EMERALD_RS485_ECHO
Definition emerald.h:205
@ EMERALD_RS422
Definition emerald.h:204
struct emerald_serial_port emerald_serial_port
static unsigned int ioport[MESA_4I34_MAX_NR_DEVS]
Definition mesa.c:72
static string device
Definition sing.cc:60
emerald_serial_port ports[EMERALD_NR_PORTS]
Definition emerald.h:196
enum EMERALD_MODE mode
Definition emerald.h:219
unsigned int ioport
Definition emerald.h:191
unsigned int irq
Definition emerald.h:192