All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Bluetooth: allocate static minor for vhci
@ 2014-02-17 15:12 Lucas De Marchi
  2014-02-17 16:34 ` Marcel Holtmann
  0 siblings, 1 reply; 8+ messages in thread
From: Lucas De Marchi @ 2014-02-17 15:12 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Lucas De Marchi

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>
---
 drivers/bluetooth/hci_vhci.c | 3 ++-
 include/linux/miscdevice.h   | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c
index 1ef6990..add1c6a 100644
--- a/drivers/bluetooth/hci_vhci.c
+++ b/drivers/bluetooth/hci_vhci.c
@@ -359,7 +359,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)
@@ -385,3 +385,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 3737f72..846a317 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -48,6 +48,7 @@
 #define LOOP_CTRL_MINOR		237
 #define VHOST_NET_MINOR		238
 #define UHID_MINOR		239
+#define VHCI_MINOR		240
 #define MISC_DYNAMIC_MINOR	255
 
 struct device;
-- 
1.9.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-02-18  0:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-17 15:12 [PATCH] Bluetooth: allocate static minor for vhci Lucas De Marchi
2014-02-17 16:34 ` Marcel Holtmann
2014-02-17 19:01   ` Lucas De Marchi
2014-02-17 20:03     ` Kay Sievers
2014-02-17 22:52     ` Greg KH
2014-02-17 22:52       ` Lucas De Marchi
2014-02-17 22:54         ` Lucas De Marchi
2014-02-18  0:43           ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.