git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
s390
/
char
/
con3270.c
diff --git
a/drivers/s390/char/con3270.c
b/drivers/s390/char/con3270.c
index
11c1b3b
..
7566be8
100644
(file)
--- a/
drivers/s390/char/con3270.c
+++ b/
drivers/s390/char/con3270.c
@@
-8,13
+8,13
@@
* -- Copyright (C) 2003 IBM Deutschland Entwicklung GmbH, IBM Corporation
*/
* -- Copyright (C) 2003 IBM Deutschland Entwicklung GmbH, IBM Corporation
*/
-#include <linux/config.h>
#include <linux/bootmem.h>
#include <linux/console.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/types.h>
#include <linux/bootmem.h>
#include <linux/console.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/types.h>
+#include <linux/err.h>
#include <asm/ccwdev.h>
#include <asm/cio.h>
#include <asm/ccwdev.h>
#include <asm/cio.h>
@@
-77,10
+77,9
@@
con3270_set_timer(struct con3270 *cp, int expires)
del_timer(&cp->timer);
return;
}
del_timer(&cp->timer);
return;
}
- if (timer_pending(&cp->timer)) {
- if (mod_timer(&cp->timer, jiffies + expires))
- return;
- }
+ if (timer_pending(&cp->timer) &&
+ mod_timer(&cp->timer, jiffies + expires))
+ return;
cp->timer.function = (void (*)(unsigned long)) con3270_update;
cp->timer.data = (unsigned long) cp;
cp->timer.expires = jiffies + expires;
cp->timer.function = (void (*)(unsigned long)) con3270_update;
cp->timer.data = (unsigned long) cp;
cp->timer.expires = jiffies + expires;
@@
-214,6
+213,9
@@
con3270_update(struct con3270 *cp)
struct string *s, *n;
int rc;
struct string *s, *n;
int rc;
+ if (cp->view.dev)
+ raw3270_activate_view(&cp->view);
+
wrq = xchg(&cp->write, 0);
if (!wrq) {
con3270_set_timer(cp, 1);
wrq = xchg(&cp->write, 0);
if (!wrq) {
con3270_set_timer(cp, 1);
@@
-490,8
+492,6
@@
con3270_write(struct console *co, const char *str, unsigned int count)
unsigned char c;
cp = condev;
unsigned char c;
cp = condev;
- if (cp->view.dev)
- raw3270_activate_view(&cp->view);
spin_lock_irqsave(&cp->view.lock, flags);
while (count-- > 0) {
c = *str++;
spin_lock_irqsave(&cp->view.lock, flags);
while (count-- > 0) {
c = *str++;
@@
-592,12
+592,12
@@
con3270_init(void)
/* Set the console mode for VM */
if (MACHINE_IS_VM) {
/* Set the console mode for VM */
if (MACHINE_IS_VM) {
- cpcmd("TERM CONMODE 3270",
0, 0
);
- cpcmd("TERM AUTOCR OFF",
0, 0
);
+ cpcmd("TERM CONMODE 3270",
NULL, 0, NULL
);
+ cpcmd("TERM AUTOCR OFF",
NULL, 0, NULL
);
}
cdev = ccw_device_probe_console();
}
cdev = ccw_device_probe_console();
- if (
!cdev
)
+ if (
IS_ERR(cdev)
)
return -ENODEV;
rp = raw3270_setup_console(cdev);
if (IS_ERR(rp))
return -ENODEV;
rp = raw3270_setup_console(cdev);
if (IS_ERR(rp))
@@
-621,7
+621,7
@@
con3270_init(void)
(void (*)(unsigned long)) con3270_read_tasklet,
(unsigned long) condev->read);
(void (*)(unsigned long)) con3270_read_tasklet,
(unsigned long) condev->read);
- raw3270_add_view(&condev->view, &con3270_fn,
0
);
+ raw3270_add_view(&condev->view, &con3270_fn,
1
);
INIT_LIST_HEAD(&condev->freemem);
for (i = 0; i < CON3270_STRING_PAGES; i++) {
INIT_LIST_HEAD(&condev->freemem);
for (i = 0; i < CON3270_STRING_PAGES; i++) {