2014-03-31 20:00:29 +02:00
|
|
|
From 5d77ba2d26110c678b40fd723866a17d4036de12 Mon Sep 17 00:00:00 2001
|
2014-03-07 15:06:45 +01:00
|
|
|
From: Lucas De Marchi <lucas.demarchi@intel.com>
|
|
|
|
Date: Tue, 18 Feb 2014 02:19:26 -0300
|
2014-04-01 01:22:46 +02:00
|
|
|
Subject: [PATCH 1/4] Bluetooth: allocate static minor for vhci
|
2014-03-07 15:06:45 +01:00
|
|
|
|
|
|
|
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
|
2014-03-31 20:00:29 +02:00
|
|
|
index 10378cc..04356f5 100644
|
2014-03-07 15:06:45 +01:00
|
|
|
--- 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
|
2014-03-31 20:00:29 +02:00
|
|
|
index 1ef6990..add1c6a 100644
|
2014-03-07 15:06:45 +01:00
|
|
|
--- a/drivers/bluetooth/hci_vhci.c
|
|
|
|
+++ b/drivers/bluetooth/hci_vhci.c
|
2014-03-31 20:00:29 +02:00
|
|
|
@@ -359,7 +359,7 @@ static const struct file_operations vhci_fops = {
|
2014-03-07 15:06:45 +01:00
|
|
|
static struct miscdevice vhci_miscdev= {
|
|
|
|
.name = "vhci",
|
|
|
|
.fops = &vhci_fops,
|
|
|
|
- .minor = MISC_DYNAMIC_MINOR,
|
|
|
|
+ .minor = VHCI_MINOR,
|
|
|
|
};
|
|
|
|
|
|
|
|
static int __init vhci_init(void)
|
2014-03-31 20:00:29 +02:00
|
|
|
@@ -385,3 +385,4 @@ MODULE_DESCRIPTION("Bluetooth virtual HCI driver ver " VERSION);
|
2014-03-07 15:06:45 +01:00
|
|
|
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
|
2014-03-31 20:00:29 +02:00
|
|
|
index 3737f72..7bb6148 100644
|
2014-03-07 15:06:45 +01:00
|
|
|
--- 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
|
|
|
|
--
|
2014-03-31 20:00:29 +02:00
|
|
|
1.9.1
|
2014-03-07 15:06:45 +01:00
|
|
|
|