summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-01-27 13:58:21 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-01-27 13:58:21 +0100
commit0a15f43b92ddaa2fdb476891a12ac2e207c7fcd2 (patch)
tree011c617d39fc49a9755b20635a2428cf5df6ea18 /include/linux
parentd000422a46aad32217cf1be747eb61d641baae2f (diff)
Revert "tty: tty_port: add workqueue to flip TTY buffer"
This reverts commit d000422a46aad32217cf1be747eb61d641baae2f. It is reported by many to cause boot failures, so must be reverted. Cc: Xin Zhao <jackzxcui1989@163.com> Cc: Jiri Slaby <jirislaby@kernel.org> Link: https://lore.kernel.org/r/d1942304-ee30-478d-90fb-279519f3ae81@samsung.com Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> Reported-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/tty_buffer.h1
-rw-r--r--include/linux/tty_driver.h7
-rw-r--r--include/linux/tty_port.h13
3 files changed, 0 insertions, 21 deletions
diff --git a/include/linux/tty_buffer.h b/include/linux/tty_buffer.h
index 48adcb0e8ff3..31125e3be3c5 100644
--- a/include/linux/tty_buffer.h
+++ b/include/linux/tty_buffer.h
@@ -34,7 +34,6 @@ static inline u8 *flag_buf_ptr(struct tty_buffer *b, unsigned int ofs)
struct tty_bufhead {
struct tty_buffer *head; /* Queue head */
- struct workqueue_struct *flip_wq;
struct work_struct work;
struct mutex lock;
atomic_t priority;
diff --git a/include/linux/tty_driver.h b/include/linux/tty_driver.h
index 9c65854f7d94..188ee9b768eb 100644
--- a/include/linux/tty_driver.h
+++ b/include/linux/tty_driver.h
@@ -69,10 +69,6 @@ struct serial_struct;
* Do not create numbered ``/dev`` nodes. For example, create
* ``/dev/ttyprintk`` and not ``/dev/ttyprintk0``. Applicable only when a
* driver for a single tty device is being allocated.
- *
- * @TTY_DRIVER_CUSTOM_WORKQUEUE:
- * Do not create workqueue when tty_register_driver(). When set, flip
- * buffer workqueue shall be set by tty_port_link_wq() for every port.
*/
enum tty_driver_flag {
TTY_DRIVER_INSTALLED = BIT(0),
@@ -83,7 +79,6 @@ enum tty_driver_flag {
TTY_DRIVER_HARDWARE_BREAK = BIT(5),
TTY_DRIVER_DYNAMIC_ALLOC = BIT(6),
TTY_DRIVER_UNNUMBERED_NODE = BIT(7),
- TTY_DRIVER_CUSTOM_WORKQUEUE = BIT(8),
};
enum tty_driver_type {
@@ -511,7 +506,6 @@ struct tty_operations {
* @flags: tty driver flags (%TTY_DRIVER_)
* @proc_entry: proc fs entry, used internally
* @other: driver of the linked tty; only used for the PTY driver
- * @flip_wq: workqueue to queue flip buffer work on
* @ttys: array of active &struct tty_struct, set by tty_standard_install()
* @ports: array of &struct tty_port; can be set during initialization by
* tty_port_link_device() and similar
@@ -545,7 +539,6 @@ struct tty_driver {
unsigned long flags;
struct proc_dir_entry *proc_entry;
struct tty_driver *other;
- struct workqueue_struct *flip_wq;
/*
* Pointer to the tty data structures
diff --git a/include/linux/tty_port.h b/include/linux/tty_port.h
index c1b87f3c5603..660c254f1efe 100644
--- a/include/linux/tty_port.h
+++ b/include/linux/tty_port.h
@@ -138,7 +138,6 @@ struct tty_port {
kernel */
void tty_port_init(struct tty_port *port);
-void tty_port_link_wq(struct tty_port *port, struct workqueue_struct *flip_wq);
void tty_port_link_device(struct tty_port *port, struct tty_driver *driver,
unsigned index);
struct device *tty_port_register_device(struct tty_port *port,
@@ -166,18 +165,6 @@ static inline struct tty_port *tty_port_get(struct tty_port *port)
return NULL;
}
-/*
- * Never overwrite the workqueue set by tty_port_link_wq().
- * No effect when %TTY_DRIVER_CUSTOM_WORKQUEUE is set, as driver->flip_wq is
- * %NULL.
- */
-static inline void tty_port_link_driver_wq(struct tty_port *port,
- struct tty_driver *driver)
-{
- if (!port->buf.flip_wq)
- port->buf.flip_wq = driver->flip_wq;
-}
-
/* If the cts flow control is enabled, return true. */
static inline bool tty_port_cts_enabled(const struct tty_port *port)
{