Add patch to allow "8250." prefix to keep working (rhbz 911771)
This commit is contained in:
parent
7a56714061
commit
40514766bf
@ -738,12 +738,14 @@ Patch21267: keys-fix-race-with-concurrent-install_user_keyrings.patch
|
||||
#rhbz 857954
|
||||
Patch21268: w1-fix-oops-when-w1_search-is-called-from.patch
|
||||
|
||||
#rhbz 911771
|
||||
Patch21269: serial-8250-Keep-8250.-xxxx-module-options-functiona.patch
|
||||
|
||||
Patch22000: weird-root-dentry-name-debug.patch
|
||||
|
||||
#selinux ptrace child permissions
|
||||
Patch22001: selinux-apply-different-permission-to-ptrace-child.patch
|
||||
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
@ -1434,6 +1436,9 @@ ApplyPatch keys-fix-race-with-concurrent-install_user_keyrings.patch
|
||||
#rhbz 857954
|
||||
ApplyPatch w1-fix-oops-when-w1_search-is-called-from.patch
|
||||
|
||||
#rhbz 911771
|
||||
ApplyPatch serial-8250-Keep-8250.-xxxx-module-options-functiona.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
%endif
|
||||
@ -2276,6 +2281,7 @@ fi
|
||||
# || ||
|
||||
%changelog
|
||||
* Mon Mar 11 2013 Josh Boyer <jwboyer@redhat.com>
|
||||
- Add patch to allow "8250." prefix to keep working (rhbz 911771)
|
||||
- Add patch to fix w1_search oops (rhbz 857954)
|
||||
|
||||
* Sun Mar 10 2013 Josh Boyer <jwboyer@redhat.com> - 3.9.0-0.rc1.git2.1
|
||||
|
63
serial-8250-Keep-8250.-xxxx-module-options-functiona.patch
Normal file
63
serial-8250-Keep-8250.-xxxx-module-options-functiona.patch
Normal file
@ -0,0 +1,63 @@
|
||||
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, ¶m_ops_uint, &share_irqs, 0644);
|
||||
+ module_param_cb(nr_uarts, ¶m_ops_uint, &nr_uarts, 0644);
|
||||
+ module_param_cb(skip_txen_test, ¶m_ops_uint, &skip_txen_test, 0644);
|
||||
+#ifdef CONFIG_SERIAL_8250_RSA
|
||||
+ __module_param_call(MODULE_PARAM_PREFIX, probe_rsa,
|
||||
+ ¶m_array_ops, .arr = &__param_arr_probe_rsa,
|
||||
+ 0444, -1);
|
||||
+#endif
|
||||
+}
|
||||
+#else
|
||||
+MODULE_ALIAS("8250");
|
||||
+#endif
|
||||
--
|
||||
1.8.1.2
|
||||
|
Loading…
Reference in New Issue
Block a user