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

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

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

  1 /* $Id: keyboard.h,v 1.1 1999/08/19 22:56:34 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 
 29 #define kbd_setkeycode          pckbd_setkeycode
 30 #define kbd_getkeycode          pckbd_getkeycode
 31 #define kbd_translate           pckbd_translate
 32 #define kbd_unexpected_up       pckbd_unexpected_up
 33 #define kbd_leds                pckbd_leds
 34 #define kbd_init_hw             pckbd_init_hw
 35 #define kbd_sysrq_xlate         pckbd_sysrq_xlate
 36 
 37 #define SYSRQ_KEY 0x54
 38 
 39 /* Some stoneage hardware needs delays after some operations.  */
 40 #define kbd_pause() do { } while(0)
 41 
 42 struct kbd_ops {
 43         /* Keyboard driver resource allocation  */
 44         void (*kbd_request_region)(void);
 45         int (*kbd_request_irq)(void (*handler)(int, void *, struct pt_regs *));
 46 
 47         /* PSaux driver resource managment  */
 48         int (*aux_request_irq)(void (*handler)(int, void *, struct pt_regs *));
 49         void (*aux_free_irq)(void);
 50 
 51         /* Methods to access the keyboard processor's I/O registers  */
 52         unsigned char (*kbd_read_input)(void);
 53         void (*kbd_write_output)(unsigned char val);
 54         void (*kbd_write_command)(unsigned char val);
 55         unsigned char (*kbd_read_status)(void);
 56 };
 57 
 58 extern struct kbd_ops *kbd_ops;
 59 
 60 /* Do the actual calls via kbd_ops vector  */
 61 #define kbd_request_region() kbd_ops->kbd_request_region()
 62 #define kbd_request_irq(handler) kbd_ops->kbd_request_irq(handler)
 63 
 64 #define aux_request_irq(hand, dev_id) kbd_ops->aux_request_irq(hand)
 65 #define aux_free_irq(dev_id) kbd_ops->aux_free_irq()
 66 
 67 #define kbd_read_input() kbd_ops->kbd_read_input()
 68 #define kbd_write_output(val) kbd_ops->kbd_write_output(val)
 69 #define kbd_write_command(val) kbd_ops->kbd_write_command(val)
 70 #define kbd_read_status() kbd_ops->kbd_read_status()
 71 
 72 #endif /* __KERNEL */
 73 
 74 #endif /* _ASM_KEYBOARD_H */
 75 

~ [ 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.