| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  *  linux/include/asm-shmedia/keyboard.h | 
 | 3 |  * | 
 | 4 |  * Copied from i386 version: | 
 | 5 |  *    Created 3 Nov 1996 by Geert Uytterhoeven | 
 | 6 |  */ | 
 | 7 |  | 
 | 8 | /* | 
 | 9 |  *  This file contains the i386 architecture specific keyboard definitions | 
 | 10 |  */ | 
 | 11 |  | 
 | 12 | #ifndef __ASM_SH64_KEYBOARD_H | 
 | 13 | #define __ASM_SH64_KEYBOARD_H | 
 | 14 |  | 
 | 15 | #ifdef __KERNEL__ | 
 | 16 |  | 
 | 17 | #include <linux/kernel.h> | 
 | 18 | #include <linux/ioport.h> | 
 | 19 | #include <asm/io.h> | 
 | 20 |  | 
 | 21 | #ifdef CONFIG_SH_CAYMAN | 
 | 22 | #define KEYBOARD_IRQ			(START_EXT_IRQS + 2) /* SMSC SuperIO IRQ 1 */ | 
 | 23 | #endif | 
 | 24 | #define DISABLE_KBD_DURING_INTERRUPTS	0 | 
 | 25 |  | 
 | 26 | extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode); | 
 | 27 | extern int pckbd_getkeycode(unsigned int scancode); | 
 | 28 | extern int pckbd_translate(unsigned char scancode, unsigned char *keycode, | 
 | 29 | 			   char raw_mode); | 
 | 30 | extern char pckbd_unexpected_up(unsigned char keycode); | 
 | 31 | extern void pckbd_leds(unsigned char leds); | 
 | 32 | extern void pckbd_init_hw(void); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 |  | 
 | 34 | #define kbd_setkeycode		pckbd_setkeycode | 
 | 35 | #define kbd_getkeycode		pckbd_getkeycode | 
 | 36 | #define kbd_translate		pckbd_translate | 
 | 37 | #define kbd_unexpected_up	pckbd_unexpected_up | 
 | 38 | #define kbd_leds		pckbd_leds | 
 | 39 | #define kbd_init_hw		pckbd_init_hw | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 40 |  | 
 | 41 | /* resource allocation */ | 
 | 42 | #define kbd_request_region() | 
 | 43 | #define kbd_request_irq(handler) request_irq(KEYBOARD_IRQ, handler, 0, \ | 
 | 44 |                                              "keyboard", NULL) | 
 | 45 |  | 
 | 46 | /* How to access the keyboard macros on this platform.  */ | 
 | 47 | #define kbd_read_input() inb(KBD_DATA_REG) | 
 | 48 | #define kbd_read_status() inb(KBD_STATUS_REG) | 
 | 49 | #define kbd_write_output(val) outb(val, KBD_DATA_REG) | 
 | 50 | #define kbd_write_command(val) outb(val, KBD_CNTL_REG) | 
 | 51 |  | 
 | 52 | /* Some stoneage hardware needs delays after some operations.  */ | 
 | 53 | #define kbd_pause() do { } while(0) | 
 | 54 |  | 
 | 55 | /* | 
 | 56 |  * Machine specific bits for the PS/2 driver | 
 | 57 |  */ | 
 | 58 |  | 
 | 59 | #ifdef CONFIG_SH_CAYMAN | 
 | 60 | #define AUX_IRQ (START_EXT_IRQS + 6) /* SMSC SuperIO IRQ12 */ | 
 | 61 | #endif | 
 | 62 |  | 
 | 63 | #define aux_request_irq(hand, dev_id)					\ | 
| Thomas Gleixner | 5fb55ae | 2006-07-01 19:29:24 -0700 | [diff] [blame] | 64 | 	request_irq(AUX_IRQ, hand, IRQF_SHARED, "PS2 Mouse", dev_id) | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 65 |  | 
 | 66 | #define aux_free_irq(dev_id) free_irq(AUX_IRQ, dev_id) | 
 | 67 |  | 
 | 68 | #endif /* __KERNEL__ */ | 
 | 69 | #endif /* __ASM_SH64_KEYBOARD_H */ | 
 | 70 |  |