~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-mips/keyboard.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* $Id: keyboard.h,v 1.14 1999/08/19 22:56:33 ralf Exp $
  2  *
  3  * This file is subject to the terms and conditions of the GNU General Public
  4  * License.  See the file "COPYING" in the main directory of this archive
  5  * for more details.
  6  *
  7  * Copyright (C) 1994 - 1999 Ralf Baechle
  8  */
  9 #ifndef _ASM_KEYBOARD_H
 10 #define _ASM_KEYBOARD_H
 11 
 12 #ifdef __KERNEL__
 13 
 14 #include <linux/delay.h>
 15 #include <linux/ioport.h>
 16 #include <asm/bootinfo.h>
 17 
 18 #define DISABLE_KBD_DURING_INTERRUPTS 0
 19 
 20 extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode);
 21 extern int pckbd_getkeycode(unsigned int scancode);
 22 extern int pckbd_translate(unsigned char scancode, unsigned char *keycode,
 23                            char raw_mode);
 24 extern char pckbd_unexpected_up(unsigned char keycode);
 25 extern void pckbd_leds(unsigned char leds);
 26 extern void pckbd_init_hw(void);
 27 extern unsigned char pckbd_sysrq_xlate[128];
 28 extern void kbd_forward_char (int ch);
 29 
 30 #define kbd_setkeycode          pckbd_setkeycode
 31 #define kbd_getkeycode          pckbd_getkeycode
 32 #define kbd_translate           pckbd_translate
 33 #define kbd_unexpected_up       pckbd_unexpected_up
 34 #define kbd_leds                pckbd_leds
 35 #define kbd_init_hw             pckbd_init_hw
 36 #define kbd_sysrq_xlate         pckbd_sysrq_xlate
 37 
 38 #define SYSRQ_KEY 0x54
 39 
 40 /* Some stoneage hardware needs delays after some operations.  */
 41 #define kbd_pause() do { } while(0)
 42 
 43 struct kbd_ops {
 44         /* Keyboard driver resource allocation  */
 45         void (*kbd_request_region)(void);
 46         int (*kbd_request_irq)(void (*handler)(int, void *, struct pt_regs *));
 47 
 48         /* PSaux driver resource managment  */
 49         int (*aux_request_irq)(void (*handler)(int, void *, struct pt_regs *));
 50         void (*aux_free_irq)(void);
 51 
 52         /* Methods to access the keyboard processor's I/O registers  */
 53         unsigned char (*kbd_read_input)(void);
 54         void (*kbd_write_output)(unsigned char val);
 55         void (*kbd_write_command)(unsigned char val);
 56         unsigned char (*kbd_read_status)(void);
 57 };
 58 
 59 extern struct kbd_ops *kbd_ops;
 60 
 61 /* Do the actual calls via kbd_ops vector  */
 62 #define kbd_request_region() kbd_ops->kbd_request_region()
 63 #define kbd_request_irq(handler) kbd_ops->kbd_request_irq(handler)
 64 
 65 #define aux_request_irq(hand, dev_id) kbd_ops->aux_request_irq(hand)
 66 #define aux_free_irq(dev_id) kbd_ops->aux_free_irq()
 67 
 68 #define kbd_read_input() kbd_ops->kbd_read_input()
 69 #define kbd_write_output(val) kbd_ops->kbd_write_output(val)
 70 #define kbd_write_command(val) kbd_ops->kbd_write_command(val)
 71 #define kbd_read_status() kbd_ops->kbd_read_status()
 72 
 73 #endif /* __KERNEL */
 74 
 75 #endif /* _ASM_KEYBOARD_H */
 76 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.