#ifndef _KEYPAD_DRIVER_ #define _KEYPAD_DRIVER_ #include #include #include #ifdef _DEBUG_ //#define assert(x) { if (!(x)) { BUG();} } #define DPRINTK(format, args...) \ printk( format, ##args) #else //#define assert(x) #define DPRINTK(format, args...) #endif #define KBD_DEVICE_NAME "pap-kbd" #define KBD_DEVICE_MAJOR 241 /** Ioctls. */ #define KBD_BUFFER_KEYS 0x0 /**< Number of keys in buffer */ #define KBD_FLUSH_BUFFER 0x1 /**< Flush buffer */ #define KBD_SET_KEYMAP 0x2 /**< Set the keymap */ #define KBD_SCAN 0x03 /**< Return the key on top of the queue * without dequeing it. */ #define KBD_MODE_PRIMARY 0x0 #define KBD_MODE_SECONDARY 0x1 #define KBD_MODE_TERTIARY 0x2 #define SCANHZ 50 #define SCAN_JIFF_COUNT (HZ/SCANHZ) #define KEY_TIMEOUT (10*SCAN_JIFF_COUNT) #define KBD_BH_DATA_SIZE 512 typedef volatile unsigned int alignedWord; extern alignedWord *kpd_cookie; extern unsigned int *kbd_bh_data; extern struct semaphore kbd_monitor_wait; extern volatile int kbd_bh_head; extern volatile int kbd_bh_tail; #endif