linux: Fix kmod warning regarding hci_vhci
This commit is contained in:
parent
5482e5e277
commit
8ec4380494
|
@ -0,0 +1,76 @@
|
|||
From a62207820fb65f168c8a7f9c0abb71d736f3d7e0 Mon Sep 17 00:00:00 2001
|
||||
From: Lucas De Marchi <lucas.demarchi@intel.com>
|
||||
Date: Tue, 18 Feb 2014 02:19:26 -0300
|
||||
Subject: [PATCH] Bluetooth: allocate static minor for vhci
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Commit bfacbb9 (Bluetooth: Use devname:vhci module alias for virtual HCI
|
||||
driver) added the module alias to hci_vhci module so it's possible to
|
||||
create the /dev/vhci node. However creating an alias without
|
||||
specifying the minor doesn't allow us to create the node ahead,
|
||||
triggerring module auto-load when it's first accessed.
|
||||
|
||||
Starting with depmod from kmod 16 we started to warn if there's a
|
||||
devname alias without specifying the major and minor.
|
||||
|
||||
Let's do the same done for uhid, kvm, fuse and others, specifying a
|
||||
fixed minor. In systems with systemd as the init the following will
|
||||
happen: on early boot systemd will call "kmod static-nodes" to read
|
||||
/lib/modules/$(uname -r)/modules.devname and then create the nodes. When
|
||||
first accessed these "dead" nodes will trigger the module loading.
|
||||
|
||||
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
|
||||
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
||||
---
|
||||
Documentation/devices.txt | 1 +
|
||||
drivers/bluetooth/hci_vhci.c | 3 ++-
|
||||
include/linux/miscdevice.h | 1 +
|
||||
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Documentation/devices.txt b/Documentation/devices.txt
|
||||
index 80b7241..fce9398 100644
|
||||
--- a/Documentation/devices.txt
|
||||
+++ b/Documentation/devices.txt
|
||||
@@ -353,6 +353,7 @@ Your cooperation is appreciated.
|
||||
133 = /dev/exttrp External device trap
|
||||
134 = /dev/apm_bios Advanced Power Management BIOS
|
||||
135 = /dev/rtc Real Time Clock
|
||||
+ 137 = /dev/vhci Bluetooth virtual HCI driver
|
||||
139 = /dev/openprom SPARC OpenBoot PROM
|
||||
140 = /dev/relay8 Berkshire Products Octal relay card
|
||||
141 = /dev/relay16 Berkshire Products ISO-16 relay card
|
||||
diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c
|
||||
index 7b16738..59095e6 100644
|
||||
--- a/drivers/bluetooth/hci_vhci.c
|
||||
+++ b/drivers/bluetooth/hci_vhci.c
|
||||
@@ -352,7 +352,7 @@ static const struct file_operations vhci_fops = {
|
||||
static struct miscdevice vhci_miscdev= {
|
||||
.name = "vhci",
|
||||
.fops = &vhci_fops,
|
||||
- .minor = MISC_DYNAMIC_MINOR,
|
||||
+ .minor = VHCI_MINOR,
|
||||
};
|
||||
|
||||
static int __init vhci_init(void)
|
||||
@@ -378,3 +378,4 @@ MODULE_DESCRIPTION("Bluetooth virtual HCI driver ver " VERSION);
|
||||
MODULE_VERSION(VERSION);
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_ALIAS("devname:vhci");
|
||||
+MODULE_ALIAS_MISCDEV(VHCI_MINOR);
|
||||
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
|
||||
index f7eaf2d..e5db611 100644
|
||||
--- a/include/linux/miscdevice.h
|
||||
+++ b/include/linux/miscdevice.h
|
||||
@@ -23,6 +23,7 @@
|
||||
#define TEMP_MINOR 131 /* Temperature Sensor */
|
||||
#define RTC_MINOR 135
|
||||
#define EFI_RTC_MINOR 136 /* EFI Time services */
|
||||
+#define VHCI_MINOR 137
|
||||
#define SUN_OPENPROM_MINOR 139
|
||||
#define DMAPI_MINOR 140 /* DMAPI */
|
||||
#define NVRAM_MINOR 144
|
||||
--
|
||||
1.9.0
|
||||
|
5
PKGBUILD
5
PKGBUILD
|
@ -26,6 +26,7 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
|
|||
'0005-sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch'
|
||||
'0006-rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-no.patch'
|
||||
'0001-syscalls.h-use-gcc-alias-instead-of-assembler-aliase.patch'
|
||||
'0001-Bluetooth-allocate-static-minor-for-vhci.patch'
|
||||
'i8042-fix-aliases.patch'
|
||||
)
|
||||
md5sums=('0ecbaf65c00374eb4a826c2f9f37606f'
|
||||
|
@ -42,6 +43,7 @@ md5sums=('0ecbaf65c00374eb4a826c2f9f37606f'
|
|||
'd5907a721b97299f0685c583499f7820'
|
||||
'a724515b350b29c53f20e631c6cf9a14'
|
||||
'e6fa278c092ad83780e2dd0568e24ca6'
|
||||
'06f1751777e0772c18c3fa4fbae91aa5'
|
||||
'93dbf73af819b77f03453a9c6de2bb47')
|
||||
|
||||
_kernelname=${pkgbase#linux}
|
||||
|
@ -85,6 +87,9 @@ prepare() {
|
|||
# Fix i8042 aliases
|
||||
patch -p1 -i "${srcdir}/i8042-fix-aliases.patch"
|
||||
|
||||
# Fix vhci warning in kmod (to restore every kernel maintainer's sanity)
|
||||
patch -p1 -i "${srcdir}/0001-Bluetooth-allocate-static-minor-for-vhci.patch"
|
||||
|
||||
if [ "${CARCH}" = "x86_64" ]; then
|
||||
cat "${srcdir}/config.x86_64" > ./.config
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue