summaryrefslogtreecommitdiffstats
path: root/serial-8250-Keep-8250.-xxxx-module-options-functiona.patch
diff options
context:
space:
mode:
Diffstat (limited to 'serial-8250-Keep-8250.-xxxx-module-options-functiona.patch')
-rw-r--r--serial-8250-Keep-8250.-xxxx-module-options-functiona.patch63
1 files changed, 0 insertions, 63 deletions
diff --git a/serial-8250-Keep-8250.-xxxx-module-options-functiona.patch b/serial-8250-Keep-8250.-xxxx-module-options-functiona.patch
deleted file mode 100644
index b16be4417..000000000
--- a/serial-8250-Keep-8250.-xxxx-module-options-functiona.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From e94256528a988231ccc7a2a0b6b206a1131cb358 Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@redhat.com>
-Date: Fri, 8 Mar 2013 21:13:52 -0500
-Subject: [PATCH] serial: 8250: Keep 8250.<xxxx> module options functional
- after driver rename
-
-With commit 835d844d1 (8250_pnp: do pnp probe before legacy probe), the
-8250 driver was renamed to 8250_core. This means any existing usage of
-the 8259.<xxxx> module parameters or as a kernel command line switch is
-now broken, as the 8250_core driver doesn't parse options belonging to
-something called "8250".
-
-To solve this, we redefine the module options in a dummy function using
-a redefined MODULE_PARAM_PREFX when built into the kernel. In the case
-where we're building as a module, we provide an alias to the old 8250
-name. The dummy function prevents compiler errors due to global variable
-redefinitions that happen as part of the module_param_ macro expansions.
-
-Signed-off-by: Josh Boyer <jwboyer@redhat.com>
----
- drivers/tty/serial/8250/8250.c | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-diff --git a/drivers/tty/serial/8250/8250.c b/drivers/tty/serial/8250/8250.c
-index 0efc815..f982633 100644
---- a/drivers/tty/serial/8250/8250.c
-+++ b/drivers/tty/serial/8250/8250.c
-@@ -3396,3 +3396,32 @@ module_param_array(probe_rsa, ulong, &probe_rsa_count, 0444);
- MODULE_PARM_DESC(probe_rsa, "Probe I/O ports for RSA");
- #endif
- MODULE_ALIAS_CHARDEV_MAJOR(TTY_MAJOR);
-+
-+#ifndef MODULE
-+/* This module was renamed to 8250_core in 3.7. Keep the old "8250" name
-+ * working as well for the module options so we don't break people. We
-+ * need to keep the names identical and the convenient macros will happily
-+ * refuse to let us do that by failing the build with redefinition errors
-+ * of global variables. So we stick them inside a dummy function to avoid
-+ * those conflicts. The options still get parsed, and the redefined
-+ * MODULE_PARAM_PREFIX lets us keep the "8250." syntax alive.
-+ *
-+ * This is hacky. I'm sorry.
-+ */
-+static void __used s8250_options(void)
-+{
-+#undef MODULE_PARAM_PREFIX
-+#define MODULE_PARAM_PREFIX "8250."
-+
-+ module_param_cb(share_irqs, &param_ops_uint, &share_irqs, 0644);
-+ module_param_cb(nr_uarts, &param_ops_uint, &nr_uarts, 0644);
-+ module_param_cb(skip_txen_test, &param_ops_uint, &skip_txen_test, 0644);
-+#ifdef CONFIG_SERIAL_8250_RSA
-+ __module_param_call(MODULE_PARAM_PREFIX, probe_rsa,
-+ &param_array_ops, .arr = &__param_arr_probe_rsa,
-+ 0444, -1);
-+#endif
-+}
-+#else
-+MODULE_ALIAS("8250");
-+#endif
---
-1.8.1.2
-