tty: Define tty_*() printk macros

Since not all ttys are devices (eg., SysV ptys), dev_*() printk macros
cannot be used. Define tty_*() printk macros that output in similar
format to dev_*() macros (ie., <driver> <tty>: .....).

Transform the most-trivial printk( LEVEL ...) usage to tty_*() usage.
NB: The function name has been eliminated from messages with unique
context, or prefixed to the format when given.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Peter Hurley 2015-11-08 13:01:13 -05:00 committed by Greg Kroah-Hartman
parent 0a083eddae
commit 339f36ba14
4 changed files with 27 additions and 28 deletions

View File

@ -1201,9 +1201,7 @@ static void n_tty_receive_overrun(struct tty_struct *tty)
ldata->num_overrun++; ldata->num_overrun++;
if (time_after(jiffies, ldata->overrun_time + HZ) || if (time_after(jiffies, ldata->overrun_time + HZ) ||
time_after(ldata->overrun_time, jiffies)) { time_after(ldata->overrun_time, jiffies)) {
printk(KERN_WARNING "%s: %d input overrun(s)\n", tty_warn(tty, "%d input overrun(s)\n", ldata->num_overrun);
tty_name(tty),
ldata->num_overrun);
ldata->overrun_time = jiffies; ldata->overrun_time = jiffies;
ldata->num_overrun = 0; ldata->num_overrun = 0;
} }
@ -1486,8 +1484,7 @@ n_tty_receive_char_flagged(struct tty_struct *tty, unsigned char c, char flag)
n_tty_receive_overrun(tty); n_tty_receive_overrun(tty);
break; break;
default: default:
printk(KERN_ERR "%s: unknown flag %d\n", tty_err(tty, "unknown flag %d\n", flag);
tty_name(tty), flag);
break; break;
} }
} }

View File

@ -300,9 +300,8 @@ static int check_tty_count(struct tty_struct *tty, const char *routine)
tty->link && tty->link->count) tty->link && tty->link->count)
count++; count++;
if (tty->count != count) { if (tty->count != count) {
printk(KERN_WARNING "Warning: dev (%s) tty->count(%d) " tty_warn(tty, "%s: tty->count(%d) != #fd's(%d)\n",
"!= #fd's(%d) in %s\n", routine, tty->count, count);
tty->name, tty->count, count, routine);
return count; return count;
} }
#endif #endif
@ -427,10 +426,8 @@ int __tty_check_change(struct tty_struct *tty, int sig)
} }
rcu_read_unlock(); rcu_read_unlock();
if (!tty_pgrp) { if (!tty_pgrp)
pr_warn("%s: tty_check_change: sig=%d, tty->pgrp == NULL!\n", tty_warn(tty, "sig=%d, tty->pgrp == NULL!\n", sig);
tty_name(tty), sig);
}
return ret; return ret;
} }
@ -1246,8 +1243,7 @@ static ssize_t tty_write(struct file *file, const char __user *buf,
return -EIO; return -EIO;
/* Short term debug to catch buggy drivers */ /* Short term debug to catch buggy drivers */
if (tty->ops->write_room == NULL) if (tty->ops->write_room == NULL)
printk(KERN_ERR "tty driver %s lacks a write_room method.\n", tty_err(tty, "missing write_room method\n");
tty->driver->name);
ld = tty_ldisc_ref_wait(tty); ld = tty_ldisc_ref_wait(tty);
if (!ld->ops->write) if (!ld->ops->write)
ret = -EIO; ret = -EIO;
@ -1568,8 +1564,8 @@ err_module_put:
/* call the tty release_tty routine to clean out this slot */ /* call the tty release_tty routine to clean out this slot */
err_release_tty: err_release_tty:
tty_unlock(tty); tty_unlock(tty);
printk_ratelimited(KERN_INFO "tty_init_dev: ldisc open failed, " tty_info_ratelimited(tty, "ldisc open failed (%d), clearing slot %d\n",
"clearing slot %d\n", idx); retval, idx);
release_tty(tty, idx); release_tty(tty, idx);
return ERR_PTR(retval); return ERR_PTR(retval);
} }
@ -1842,8 +1838,7 @@ int tty_release(struct inode *inode, struct file *filp)
if (once) { if (once) {
once = 0; once = 0;
printk(KERN_WARNING "%s: %s: read/write wait queue active!\n", tty_warn(tty, "read/write wait queue active!\n");
__func__, tty_name(tty));
} }
schedule_timeout_killable(timeout); schedule_timeout_killable(timeout);
if (timeout < 120 * HZ) if (timeout < 120 * HZ)
@ -1854,14 +1849,12 @@ int tty_release(struct inode *inode, struct file *filp)
if (o_tty) { if (o_tty) {
if (--o_tty->count < 0) { if (--o_tty->count < 0) {
printk(KERN_WARNING "%s: bad pty slave count (%d) for %s\n", tty_warn(tty, "bad slave count (%d)\n", o_tty->count);
__func__, o_tty->count, tty_name(o_tty));
o_tty->count = 0; o_tty->count = 0;
} }
} }
if (--tty->count < 0) { if (--tty->count < 0) {
printk(KERN_WARNING "%s: bad tty->count (%d) for %s\n", tty_warn(tty, "bad tty->count (%d)\n", tty->count);
__func__, tty->count, tty_name(tty));
tty->count = 0; tty->count = 0;
} }

View File

@ -462,13 +462,12 @@ int tty_port_close_start(struct tty_port *port,
spin_lock_irqsave(&port->lock, flags); spin_lock_irqsave(&port->lock, flags);
if (tty->count == 1 && port->count != 1) { if (tty->count == 1 && port->count != 1) {
printk(KERN_WARNING tty_warn(tty, "%s: tty->count = 1 port count = %d\n", __func__,
"tty_port_close_start: tty->count = 1 port count = %d.\n",
port->count); port->count);
port->count = 1; port->count = 1;
} }
if (--port->count < 0) { if (--port->count < 0) {
printk(KERN_WARNING "tty_port_close_start: count = %d\n", tty_warn(tty, "%s: bad port count (%d)\n", __func__,
port->count); port->count);
port->count = 0; port->count = 0;
} }

View File

@ -666,7 +666,17 @@ static inline void proc_tty_register_driver(struct tty_driver *d) {}
static inline void proc_tty_unregister_driver(struct tty_driver *d) {} static inline void proc_tty_unregister_driver(struct tty_driver *d) {}
#endif #endif
#define tty_msg(fn, tty, f, ...) \
fn("%s %s: " f, tty_driver_name(tty), tty_name(tty), ##__VA_ARGS__)
#define tty_debug(tty, f, ...) \ #define tty_debug(tty, f, ...) \
pr_debug("%s: %s: " f, tty_name(tty), __func__, ##__VA_ARGS__) tty_msg(pr_debug, tty, "%s:" f, __func__, ##__VA_ARGS__)
#define tty_info(tty, f, ...) tty_msg(pr_info, tty, f, ##__VA_ARGS__)
#define tty_notice(tty, f, ...) tty_msg(pr_notice, tty, f, ##__VA_ARGS__)
#define tty_warn(tty, f, ...) tty_msg(pr_warn, tty, f, ##__VA_ARGS__)
#define tty_err(tty, f, ...) tty_msg(pr_err, tty, f, ##__VA_ARGS__)
#define tty_info_ratelimited(tty, f, ...) \
tty_msg(pr_info_ratelimited, tty, f, ##__VA_ARGS__)
#endif #endif