c32a4e066c
Fix this build error when PROC_FS is not enabled: cpc-usb_drv.c:61:2: error: #error "PROCFS needed" cpc-usb_drv.c:1159: error: implicit declaration of function 'proc_mkdir' Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
84 lines
2.2 KiB
C
84 lines
2.2 KiB
C
/*
|
|
* CPCLIB
|
|
*
|
|
* Copyright (C) 2000-2008 EMS Dr. Thomas Wuensche
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
*/
|
|
#ifndef CPC_INT_H
|
|
#define CPC_INT_H
|
|
|
|
#include <linux/wait.h>
|
|
|
|
#define CPC_MSG_BUF_CNT 1500
|
|
|
|
#define CPC_PROC_DIR "driver/"
|
|
|
|
#undef dbg
|
|
#undef err
|
|
#undef info
|
|
|
|
/* Use our own dbg macro */
|
|
#define dbg(format, arg...) do { if (debug) printk( KERN_INFO format "\n" , ## arg); } while (0)
|
|
#define err(format, arg...) do { printk( KERN_INFO "ERROR " format "\n" , ## arg); } while (0)
|
|
#define info(format, arg...) do { printk( KERN_INFO format "\n" , ## arg); } while (0)
|
|
|
|
/* Macros help using of our buffers */
|
|
#define IsBufferFull(x) (!(x)->WnR) && ((x)->iidx == (x)->oidx)
|
|
#define IsBufferEmpty(x) ((x)->WnR) && ((x)->iidx == (x)->oidx)
|
|
#define IsBufferNotEmpty(x) (!(x)->WnR) || ((x)->iidx != (x)->oidx)
|
|
#define ResetBuffer(x) do { (x)->oidx = (x)->iidx=0; (x)->WnR = 1; } while(0);
|
|
|
|
#define CPC_BufWriteAllowed ((chan->oidx != chan->iidx) || chan->WnR)
|
|
|
|
typedef void (*chan_write_byte_t) (void *chan, unsigned int reg,
|
|
unsigned char val);
|
|
typedef unsigned char (*chan_read_byte_t) (void *chan, unsigned int reg);
|
|
|
|
typedef struct CPC_CHAN {
|
|
void __iomem * canBase; // base address of SJA1000
|
|
chan_read_byte_t read_byte; // CAN controller read access routine
|
|
chan_write_byte_t write_byte; // CAN controller write access routine
|
|
CPC_MSG_T *buf; // buffer for CPC msg
|
|
unsigned int iidx;
|
|
unsigned int oidx;
|
|
unsigned int WnR;
|
|
unsigned int minor;
|
|
unsigned int locked;
|
|
unsigned int irqDisabled;
|
|
|
|
unsigned char cpcCtrlCANMessage;
|
|
unsigned char cpcCtrlCANState;
|
|
unsigned char cpcCtrlBUSState;
|
|
|
|
unsigned char controllerType;
|
|
|
|
unsigned long ovrTimeSec;
|
|
unsigned long ovrTimeNSec;
|
|
unsigned long ovrLockedBuffer;
|
|
CPC_OVERRUN_T ovr;
|
|
|
|
/* for debugging only */
|
|
unsigned int handledIrqs;
|
|
unsigned int lostMessages;
|
|
|
|
unsigned int sentStdCan;
|
|
unsigned int sentExtCan;
|
|
unsigned int sentStdRtr;
|
|
unsigned int sentExtRtr;
|
|
|
|
unsigned int recvStdCan;
|
|
unsigned int recvExtCan;
|
|
unsigned int recvStdRtr;
|
|
unsigned int recvExtRtr;
|
|
|
|
wait_queue_head_t *CPCWait_q;
|
|
|
|
void *private;
|
|
} CPC_CHAN_T;
|
|
|
|
#endif
|