Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95f9bfc6 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds
Browse files

tty: Move tty_write_message out of kernel/printk



This is pure tty code so put it in the tty layer where it can be with the
locking relevant material it uses

Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 452a00d2
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -1081,6 +1081,31 @@ static inline ssize_t do_tty_write(
	return ret;
}

/**
 * tty_write_message - write a message to a certain tty, not just the console.
 * @tty: the destination tty_struct
 * @msg: the message to write
 *
 * This is used for messages that need to be redirected to a specific tty.
 * We don't put it into the syslog queue right now maybe in the future if
 * really needed.
 *
 * We must still hold the BKL and test the CLOSING flag for the moment.
 */

void tty_write_message(struct tty_struct *tty, char *msg)
{
	lock_kernel();
	if (tty) {
		mutex_lock(&tty->atomic_write_lock);
		if (tty->ops->write && !test_bit(TTY_CLOSING, &tty->flags))
			tty->ops->write(tty, msg, strlen(msg));
		tty_write_unlock(tty);
	}
	unlock_kernel();
	return;
}


/**
 *	tty_write		-	write method for tty device file
+0 −16
Original line number Diff line number Diff line
@@ -1291,22 +1291,6 @@ static int __init disable_boot_consoles(void)
}
late_initcall(disable_boot_consoles);

/**
 * tty_write_message - write a message to a certain tty, not just the console.
 * @tty: the destination tty_struct
 * @msg: the message to write
 *
 * This is used for messages that need to be redirected to a specific tty.
 * We don't put it into the syslog queue right now maybe in the future if
 * really needed.
 */
void tty_write_message(struct tty_struct *tty, char *msg)
{
	if (tty && tty->ops->write)
		tty->ops->write(tty, msg, strlen(msg));
	return;
}

#if defined CONFIG_PRINTK

/*