1/* $Id: sunserial.h,v 1.1.1.1 2008/10/15 03:26:47 james26_jang Exp $ 2 * sunserial.h: SUN serial driver infrastructure (including keyboards). 3 * 4 * Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be) 5 */ 6 7#ifndef _SPARC_SUNSERIAL_H 8#define _SPARC_SUNSERIAL_H 1 9 10#include <linux/config.h> 11#include <linux/tty.h> 12#include <linux/kd.h> 13#include <linux/kbd_kern.h> 14#include <linux/console.h> 15 16struct initfunc { 17 int (*init) (void); 18 struct initfunc *next; 19}; 20 21struct sunserial_operations { 22 struct initfunc *rs_init; 23 void (*rs_kgdb_hook) (int); 24 void (*rs_change_mouse_baud) (int); 25 int (*rs_read_proc) (char *, char **, off_t, int, int *, void *); 26}; 27 28struct sunkbd_operations { 29 struct initfunc *kbd_init; 30 void (*compute_shiftstate) (void); 31 void (*setledstate) (struct kbd_struct *, unsigned int); 32 unsigned char (*getledstate) (void); 33 int (*setkeycode) (unsigned int, unsigned int); 34 int (*getkeycode) (unsigned int); 35}; 36 37extern struct sunserial_operations rs_ops; 38extern struct sunkbd_operations kbd_ops; 39 40extern void sunserial_setinitfunc(int (*) (void)); 41extern void sunkbd_setinitfunc(int (*) (void)); 42 43extern int serial_console; 44extern int stop_a_enabled; 45extern void sunserial_console_termios(struct console *); 46 47#ifdef CONFIG_PCI 48extern void sunkbd_install_keymaps(ushort **, unsigned int, char *, 49 char **, int, int, struct kbdiacr *, 50 unsigned int); 51#endif 52 53#endif /* !(_SPARC_SUNSERIAL_H) */ 54