|
@@ -583,23 +583,6 @@ sclp_vt220_chars_in_buffer(struct tty_struct *tty)
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
-static void
|
|
|
-__sclp_vt220_flush_buffer(void)
|
|
|
-{
|
|
|
- unsigned long flags;
|
|
|
-
|
|
|
- sclp_vt220_emit_current();
|
|
|
- spin_lock_irqsave(&sclp_vt220_lock, flags);
|
|
|
- if (timer_pending(&sclp_vt220_timer))
|
|
|
- del_timer(&sclp_vt220_timer);
|
|
|
- while (sclp_vt220_outqueue_count > 0) {
|
|
|
- spin_unlock_irqrestore(&sclp_vt220_lock, flags);
|
|
|
- sclp_sync_wait();
|
|
|
- spin_lock_irqsave(&sclp_vt220_lock, flags);
|
|
|
- }
|
|
|
- spin_unlock_irqrestore(&sclp_vt220_lock, flags);
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Pass on all buffers to the hardware. Return only when there are no more
|
|
|
* buffers pending.
|
|
@@ -745,6 +728,22 @@ sclp_vt220_con_device(struct console *c, int *index)
|
|
|
return sclp_vt220_driver;
|
|
|
}
|
|
|
|
|
|
+static void __sclp_vt220_flush_buffer(void)
|
|
|
+{
|
|
|
+ unsigned long flags;
|
|
|
+
|
|
|
+ sclp_vt220_emit_current();
|
|
|
+ spin_lock_irqsave(&sclp_vt220_lock, flags);
|
|
|
+ if (timer_pending(&sclp_vt220_timer))
|
|
|
+ del_timer(&sclp_vt220_timer);
|
|
|
+ while (sclp_vt220_outqueue_count > 0) {
|
|
|
+ spin_unlock_irqrestore(&sclp_vt220_lock, flags);
|
|
|
+ sclp_sync_wait();
|
|
|
+ spin_lock_irqsave(&sclp_vt220_lock, flags);
|
|
|
+ }
|
|
|
+ spin_unlock_irqrestore(&sclp_vt220_lock, flags);
|
|
|
+}
|
|
|
+
|
|
|
static int
|
|
|
sclp_vt220_notify(struct notifier_block *self,
|
|
|
unsigned long event, void *data)
|