linux-sg2042/include/linux/sunserialcore.h

38 lines
1.0 KiB
C
Raw Normal View History

/* sunserialcore.h
*
* Generic SUN serial/kbd/ms layer. Based entirely
* upon drivers/sbus/char/sunserial.h which is:
*
* Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
*
* Port to new UART layer is:
*
* Copyright (C) 2002 David S. Miller (davem@redhat.com)
*/
#ifndef _SERIAL_SUN_H
#define _SERIAL_SUN_H
pps: Fix build breakage from decoupling pps from tty Fixes: tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-next head: bc80fbe46be7430487a45ad92841932bb2eaa3e6 commit: 593fb1ae457aab28b392ac114f6e3358788da985 pps: Move timestamp read into PPS code proper date: 78 minutes ago config: make ARCH=sparc defconfig All error/warnings: In file included from drivers/tty/serial/suncore.c:20:0: >> include/linux/sunserialcore.h:29:15: warning: 'struct device_node' declared inside parameter list [enabled by default] >> include/linux/sunserialcore.h:29:15: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default] >> include/linux/sunserialcore.h:31:18: warning: 'struct device_node' declared inside parameter list [enabled by default] >> drivers/tty/serial/suncore.c:55:5: error: conflicting types for 'sunserial_console_match' include/linux/sunserialcore.h:28:12: note: previous declaration of 'sunserial_console_match' was here >> drivers/tty/serial/suncore.c:83:1: error: conflicting types for 'sunserial_console_match' include/linux/sunserialcore.h:28:12: note: previous declaration of 'sunserial_console_match' was here >> drivers/tty/serial/suncore.c:85:6: error: conflicting types for 'sunserial_console_termios' include/linux/sunserialcore.h:30:13: note: previous declaration of 'sunserial_console_termios' was here Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: George Spelvin <linux@horizon.com> Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-14 03:54:30 +08:00
#include <linux/device.h>
#include <linux/serial_core.h>
#include <linux/console.h>
/* Serial keyboard defines for L1-A processing... */
#define SUNKBD_RESET 0xff
#define SUNKBD_L1 0x01
#define SUNKBD_UP 0x80
#define SUNKBD_A 0x4d
extern unsigned int suncore_mouse_baud_cflag_next(unsigned int, int *);
extern int suncore_mouse_baud_detection(unsigned char, int);
[SERIAL] sparc: Infrastructure to fix section mismatch bugs. This patch against 2.6.23 sparc-2.6.git contains a number of minor cleanups of the sparc serial drivers. Initially I fixed this build warning: WARNING: vmlinux.o(.text+0x107a2c): Section mismatch: reference to .init.text:add_preferred_console (between 'sunserial_console_match' and 'sunserial_console_termios') which is done by declaring sunserial_console_match() as __init. This resulted in build warnings on sunserial_current_minor. To resolve these the variable was changed so it is no longer global, and to hide operations on it inside 2 new functions. These functions handle the UART minor handling code that is common to all sparc serial drivers. These changes allowed to clean up the uart counters in all the sparc serial drivers, and the administration of minor device numbers. Lastly, sunserial_console_termios() does not need to be exported since it is only called from non-modular code. Sadly, the following build warning still exists: WARNING: vmlinux.o(__ksymtab+0x2910): Section mismatch: reference to .init.text:sunserial_console_match (between '__ksymtab_sunserial_console_match' and '__ksymtab_sunserial_unregister_minors') This could be resolved by not exporting sunserial_console_match(), but this is not possible at the moment because it is being called from modular code. On the other hand, this is a bogus warning since it comes from a ksymtab section. Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-11 19:37:04 +08:00
extern int sunserial_register_minors(struct uart_driver *, int);
extern void sunserial_unregister_minors(struct uart_driver *, int);
extern int sunserial_console_match(struct console *, struct device_node *,
struct uart_driver *, int, bool);
extern void sunserial_console_termios(struct console *,
struct device_node *);
#endif /* !(_SERIAL_SUN_H) */