All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Marcel Holtmann <marcel@holtmann.org>,
	Lucas De Marchi <lucas.demarchi@profusion.mobi>,
	"bluez mailin list (linux-bluetooth@vger.kernel.org)"
	<linux-bluetooth@vger.kernel.org>,
	kay.sievers@vrfy.org
Subject: Re: [PATCH] Bluetooth: allocate static minor for vhci
Date: Mon, 17 Feb 2014 14:52:09 -0800	[thread overview]
Message-ID: <20140217225209.GC17047@kroah.com> (raw)
In-Reply-To: <20140217190125.GA1851@intel.com>

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

  parent reply	other threads:[~2014-02-17 22:52 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2014-02-17 22:52       ` Lucas De Marchi
2014-02-17 22:54         ` Lucas De Marchi
2014-02-18  0:43           ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140217225209.GC17047@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=kay.sievers@vrfy.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=lucas.demarchi@intel.com \
    --cc=lucas.demarchi@profusion.mobi \
    --cc=marcel@holtmann.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.