| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | *  MPC1211 specific keybord definitions | 
|  | 3 | *  Taken from the old asm-i386/keybord.h for PC/AT-style definitions | 
|  | 4 | *  created 3 Nov 1996 by Geert Uytterhoeven. | 
|  | 5 | */ | 
|  | 6 |  | 
|  | 7 | #ifdef __KERNEL__ | 
|  | 8 |  | 
|  | 9 | #include <linux/kernel.h> | 
|  | 10 | #include <linux/ioport.h> | 
|  | 11 | #include <linux/kd.h> | 
|  | 12 | #include <linux/pm.h> | 
|  | 13 | #include <asm/io.h> | 
|  | 14 |  | 
|  | 15 | #define KEYBOARD_IRQ			1 | 
|  | 16 | #define DISABLE_KBD_DURING_INTERRUPTS	0 | 
|  | 17 |  | 
|  | 18 | extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode); | 
|  | 19 | extern int pckbd_getkeycode(unsigned int scancode); | 
|  | 20 | extern int pckbd_translate(unsigned char scancode, unsigned char *keycode, | 
|  | 21 | char raw_mode); | 
|  | 22 | extern char pckbd_unexpected_up(unsigned char keycode); | 
|  | 23 | extern void pckbd_leds(unsigned char leds); | 
|  | 24 | extern void pckbd_init_hw(void); | 
|  | 25 | extern int pckbd_pm_resume(struct pm_dev *, pm_request_t, void *); | 
|  | 26 | extern pm_callback pm_kbd_request_override; | 
|  | 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 | /* resource allocation */ | 
|  | 40 | #define kbd_request_region() | 
|  | 41 | #define kbd_request_irq(handler) request_irq(KEYBOARD_IRQ, handler, 0, \ | 
|  | 42 | "keyboard", NULL) | 
|  | 43 |  | 
|  | 44 | /* How to access the keyboard macros on this platform.  */ | 
|  | 45 | #define kbd_read_input() inb(KBD_DATA_REG) | 
|  | 46 | #define kbd_read_status() inb(KBD_STATUS_REG) | 
|  | 47 | #define kbd_write_output(val) outb(val, KBD_DATA_REG) | 
|  | 48 | #define kbd_write_command(val) outb(val, KBD_CNTL_REG) | 
|  | 49 |  | 
|  | 50 | /* Some stoneage hardware needs delays after some operations.  */ | 
|  | 51 | #define kbd_pause() do { } while(0) | 
|  | 52 |  | 
|  | 53 | /* | 
|  | 54 | * Machine specific bits for the PS/2 driver | 
|  | 55 | */ | 
|  | 56 |  | 
|  | 57 | #define AUX_IRQ 12 | 
|  | 58 |  | 
|  | 59 | #define aux_request_irq(hand, dev_id)					\ | 
|  | 60 | request_irq(AUX_IRQ, hand, SA_SHIRQ, "PS2 Mouse", dev_id) | 
|  | 61 |  | 
|  | 62 | #define aux_free_irq(dev_id) free_irq(AUX_IRQ, dev_id) | 
|  | 63 |  | 
|  | 64 | #endif /* __KERNEL__ */ |