Commit d022be21 authored by Martin Schwidefsky's avatar Martin Schwidefsky Committed by Linus Torvalds

[PATCH] s390: 3215 driver.

Convert 3215 console driver to new channel subsystem driver

this adds support for the driver model to the 3215 driver. The console
is one of the biggest problems because the regular device detection
is now done at initcall time although we actually want full
support for channel attached console devices as early as possible.
con3215_init() now uses a special ccw_device_probe_console() function
to do an early initialization of a single device.

The main backdraw for users is that the console can no longer
be autodetected when not running under VM. LPAR or P390 users
with a channel attached console now have to specify
console_device=f00 as a kernel parameter.

Authors:
	Martin Schwidefsky <schwidefsky@de.ibm.com>
	Arnd Bergmann <arndb@de.ibm.com>
parent 49a09376
...@@ -2222,7 +2222,7 @@ void __init console_init(void) ...@@ -2222,7 +2222,7 @@ void __init console_init(void)
#ifdef CONFIG_TN3270_CONSOLE #ifdef CONFIG_TN3270_CONSOLE
tub3270_con_init(); tub3270_con_init();
#endif #endif
#ifdef CONFIG_TN3215 #ifdef CONFIG_TN3215_CONSOLE
con3215_init(); con3215_init();
#endif #endif
#ifdef CONFIG_SCLP_CONSOLE #ifdef CONFIG_SCLP_CONSOLE
...@@ -2363,10 +2363,7 @@ void __init tty_init(void) ...@@ -2363,10 +2363,7 @@ void __init tty_init(void)
#ifdef CONFIG_TN3270 #ifdef CONFIG_TN3270
tub3270_init(); tub3270_init();
#endif #endif
#ifdef CONFIG_TN3215 #ifdef CONFIG_SCLP_TTY
tty3215_init();
#endif
#ifdef CONFIG_SCLP
sclp_tty_init(); sclp_tty_init();
#endif #endif
#ifdef CONFIG_A2232 #ifdef CONFIG_A2232
......
This diff is collapsed.
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <linux/config.h> #include <linux/config.h>
#include <linux/stddef.h> #include <linux/stddef.h>
#include <asm/errno.h>
#include <linux/sysrq.h> #include <linux/sysrq.h>
#include <linux/ctype.h> #include <linux/ctype.h>
...@@ -20,7 +21,7 @@ static int ctrlchar_sysrq_key; ...@@ -20,7 +21,7 @@ static int ctrlchar_sysrq_key;
static void static void
ctrlchar_handle_sysrq(void *tty) ctrlchar_handle_sysrq(void *tty)
{ {
handle_sysrq(ctrlchar_sysrq_key, NULL, tty); handle_sysrq(ctrlchar_sysrq_key, NULL, (struct tty_struct *) tty);
} }
static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, 0); static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, 0);
...@@ -39,7 +40,7 @@ static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, 0); ...@@ -39,7 +40,7 @@ static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, 0);
* with CTRLCHAR_CTRL * with CTRLCHAR_CTRL
*/ */
unsigned int unsigned int
ctrlchar_handle(const char *buf, int len, struct tty_struct *tty) ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty)
{ {
if ((len < 2) || (len > 3)) if ((len < 2) || (len > 3))
return CTRLCHAR_NONE; return CTRLCHAR_NONE;
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include <linux/tty.h> #include <linux/tty.h>
extern unsigned int extern unsigned int
ctrlchar_handle(const char *buf, int len, struct tty_struct *tty); ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty);
#define CTRLCHAR_NONE (1 << 8) #define CTRLCHAR_NONE (1 << 8)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment