* [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
* Re: [PATCH] Bluetooth: allocate static minor for vhci 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 0 siblings, 1 reply; 8+ messages in thread From: Marcel Holtmann @ 2014-02-17 16:34 UTC (permalink / raw) To: Lucas De Marchi Cc: bluez mailin list (linux-bluetooth@vger.kernel.org), Lucas De Marchi Hi Lucas, > 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 you have read Documentation/devices.txt where it states that 240-254 is reserved for local use. Regards Marcel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Bluetooth: allocate static minor for vhci 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 0 siblings, 2 replies; 8+ messages in thread From: Lucas De Marchi @ 2014-02-17 19:01 UTC (permalink / raw) To: Marcel Holtmann Cc: Lucas De Marchi, bluez mailin list (linux-bluetooth@vger.kernel.org), kay.sievers, gregkh [ CC'ing Kay and Greg ] On Mon, Feb 17, 2014 at 08:34:32AM -0800, Marcel Holtmann wrote: > Hi Lucas, > > > 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 > > you have read Documentation/devices.txt where it states that 240-254 is reserved for local use. I haven't seen that. So, are we out of minors or.. can I use e.g. 142, 129 or the ones below 128? Kay? Greg? -- Lucas De Marchi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Bluetooth: allocate static minor for vhci 2014-02-17 19:01 ` Lucas De Marchi @ 2014-02-17 20:03 ` Kay Sievers 2014-02-17 22:52 ` Greg KH 1 sibling, 0 replies; 8+ messages in thread From: Kay Sievers @ 2014-02-17 20:03 UTC (permalink / raw) To: Lucas De Marchi Cc: Marcel Holtmann, Lucas De Marchi, bluez mailin list (linux-bluetooth@vger.kernel.org), Greg Kroah-Hartman On Mon, Feb 17, 2014 at 8:01 PM, Lucas De Marchi <lucas.demarchi@intel.com> wrote: > [ CC'ing Kay and Greg ] > > On Mon, Feb 17, 2014 at 08:34:32AM -0800, Marcel Holtmann wrote: >> Hi Lucas, >> >> > 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 >> >> you have read Documentation/devices.txt where it states that 240-254 is reserved for local use. > > I haven't seen that. So, are we out of minors or.. can I use e.g. > 142, 129 or the ones below 128? > > Kay? Greg? The minors should be able to carry 20 not 7 or 8 bits, the 32 bit dev_t is split at 12:20. Kay ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Bluetooth: allocate static minor for vhci 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 1 sibling, 1 reply; 8+ messages in thread From: Greg KH @ 2014-02-17 22:52 UTC (permalink / raw) To: Lucas De Marchi Cc: Marcel Holtmann, Lucas De Marchi, bluez mailin list (linux-bluetooth@vger.kernel.org), kay.sievers On Mon, Feb 17, 2014 at 04:01:25PM -0300, Lucas De Marchi wrote: > [ CC'ing Kay and Greg ] > > On Mon, Feb 17, 2014 at 08:34:32AM -0800, Marcel Holtmann wrote: > > Hi Lucas, > > > > > 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 > > > > you have read Documentation/devices.txt where it states that 240-254 is reserved for local use. > > I haven't seen that. So, are we out of minors or.. can I use e.g. > 142, 129 or the ones below 128? As Kay said, larger than 255 should be fine, but you should test this, and also provide a patch for the devices.txt file to ensure you reserve the minor number properly. Looks like someone forgot to do that for the UHID minor number :( thanks, greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Bluetooth: allocate static minor for vhci 2014-02-17 22:52 ` Greg KH @ 2014-02-17 22:52 ` Lucas De Marchi 2014-02-17 22:54 ` Lucas De Marchi 0 siblings, 1 reply; 8+ messages in thread From: Lucas De Marchi @ 2014-02-17 22:52 UTC (permalink / raw) To: Greg KH Cc: Marcel Holtmann, Lucas De Marchi, bluez mailin list (linux-bluetooth@vger.kernel.org), kay.sievers On Mon, Feb 17, 2014 at 02:52:09PM -0800, Greg KH wrote: > On Mon, Feb 17, 2014 at 04:01:25PM -0300, Lucas De Marchi wrote: > > [ CC'ing Kay and Greg ] > > > > On Mon, Feb 17, 2014 at 08:34:32AM -0800, Marcel Holtmann wrote: > > > Hi Lucas, > > > > > > > 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 > > > > > > you have read Documentation/devices.txt where it states that 240-254 is reserved for local use. > > > > I haven't seen that. So, are we out of minors or.. can I use e.g. > > 142, 129 or the ones below 128? > > As Kay said, larger than 255 should be fine, but you should test this, > and also provide a patch for the devices.txt file to ensure you reserve > the minor number properly. Looks like someone forgot to do that for the > UHID minor number :( yep, doing that now. Do you prefer 256 or that I fill a gap by using e.g. 196? -- Lucas De Marchi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Bluetooth: allocate static minor for vhci 2014-02-17 22:52 ` Lucas De Marchi @ 2014-02-17 22:54 ` Lucas De Marchi 2014-02-18 0:43 ` Greg KH 0 siblings, 1 reply; 8+ messages in thread From: Lucas De Marchi @ 2014-02-17 22:54 UTC (permalink / raw) To: Greg KH Cc: Marcel Holtmann, Lucas De Marchi, bluez mailin list (linux-bluetooth@vger.kernel.org), kay.sievers On Mon, Feb 17, 2014 at 07:52:44PM -0300, Lucas De Marchi wrote: > On Mon, Feb 17, 2014 at 02:52:09PM -0800, Greg KH wrote: > > On Mon, Feb 17, 2014 at 04:01:25PM -0300, Lucas De Marchi wrote: > > > [ CC'ing Kay and Greg ] > > > > > > On Mon, Feb 17, 2014 at 08:34:32AM -0800, Marcel Holtmann wrote: > > > > Hi Lucas, > > > > > > > > > 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 > > > > > > > > you have read Documentation/devices.txt where it states that 240-254 is reserved for local use. > > > > > > I haven't seen that. So, are we out of minors or.. can I use e.g. > > > 142, 129 or the ones below 128? > > > > As Kay said, larger than 255 should be fine, but you should test this, > > and also provide a patch for the devices.txt file to ensure you reserve > > the minor number properly. Looks like someone forgot to do that for the > > UHID minor number :( > > yep, doing that now. > > Do you prefer 256 or that I fill a gap by using e.g. 196? oops, I mean 197 -- Lucas De Marchi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Bluetooth: allocate static minor for vhci 2014-02-17 22:54 ` Lucas De Marchi @ 2014-02-18 0:43 ` Greg KH 0 siblings, 0 replies; 8+ messages in thread From: Greg KH @ 2014-02-18 0:43 UTC (permalink / raw) To: Lucas De Marchi Cc: Marcel Holtmann, Lucas De Marchi, bluez mailin list (linux-bluetooth@vger.kernel.org), kay.sievers On Mon, Feb 17, 2014 at 07:54:32PM -0300, Lucas De Marchi wrote: > On Mon, Feb 17, 2014 at 07:52:44PM -0300, Lucas De Marchi wrote: > > On Mon, Feb 17, 2014 at 02:52:09PM -0800, Greg KH wrote: > > > On Mon, Feb 17, 2014 at 04:01:25PM -0300, Lucas De Marchi wrote: > > > > [ CC'ing Kay and Greg ] > > > > > > > > On Mon, Feb 17, 2014 at 08:34:32AM -0800, Marcel Holtmann wrote: > > > > > Hi Lucas, > > > > > > > > > > > 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 > > > > > > > > > > you have read Documentation/devices.txt where it states that 240-254 is reserved for local use. > > > > > > > > I haven't seen that. So, are we out of minors or.. can I use e.g. > > > > 142, 129 or the ones below 128? > > > > > > As Kay said, larger than 255 should be fine, but you should test this, > > > and also provide a patch for the devices.txt file to ensure you reserve > > > the minor number properly. Looks like someone forgot to do that for the > > > UHID minor number :( > > > > yep, doing that now. > > > > Do you prefer 256 or that I fill a gap by using e.g. 196? > > oops, I mean 197 197 is great to use, just make sure that no one else is using it in-kernel at the moment. It looks like I need to update the file with some more #defines to catch up with what is being used at the moment. thanks, greg k-h ^ permalink raw reply [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.