From: willy@linux.intel.com (Matthew Wilcox)
Subject: [PATCH] NVMe: Add a character device for each nvme device
Date: Fri, 27 Jul 2012 16:30:51 -0400 [thread overview]
Message-ID: <20120727203051.GQ22985@linux.intel.com> (raw)
In-Reply-To: <20120727192100.GA2247@kroah.com>
On Fri, Jul 27, 2012@12:21:00PM -0700, Greg KH wrote:
> > > Also, why are you creating your own class? Can't this just be a misc
> > > device? And if you want to create your own class, please don't, use a
> > > bus, as that is what is really happening here, right? We are trying to
> > > move away from using 'struct class' wherever possible (one of these days
> > > we'll just remove it...)
> >
> > What we're trying to achieve here is to create one character device
> > per NVMe controller that gets plugged in. Each NVMe controller is-a
> > PCI function. The reason we're trying to do this is so that we can send
> > commands to the NVMe controller, even when there is no storage present
> > (eg a drive is shipped from the factory with no configured storage).
> >
> > So we have no particular desire to create a new struct class, or struct
> > bus. If we can create a misc device per PCIe function that's bound to our
> > driver, that's great! Can you recommend a driver that does this already?
>
> I don't think there is one, but it shouldn't be that hard to just create
> a 'struct misdevice' for each one of the devices you want to create,
> would it?
>
> But, as you really are a "specific type", a bus_type might be overkill,
> so the original use of device_create() should be fine. Just be sure to
> fix the parent pointer issue, and you should be fine, right?
Works for me. I don't think we're going to have any software that
depends on it being a class or a bus, so it's easy to change later.
All we really care about is /dev/nvmeN being created.
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Wilcox <willy@linux.intel.com>
To: Greg KH <greg@kroah.com>
Cc: Keith Busch <keith.busch@intel.com>,
linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org,
Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] NVMe: Add a character device for each nvme device
Date: Fri, 27 Jul 2012 16:30:51 -0400 [thread overview]
Message-ID: <20120727203051.GQ22985@linux.intel.com> (raw)
In-Reply-To: <20120727192100.GA2247@kroah.com>
On Fri, Jul 27, 2012 at 12:21:00PM -0700, Greg KH wrote:
> > > Also, why are you creating your own class? Can't this just be a misc
> > > device? And if you want to create your own class, please don't, use a
> > > bus, as that is what is really happening here, right? We are trying to
> > > move away from using 'struct class' wherever possible (one of these days
> > > we'll just remove it...)
> >
> > What we're trying to achieve here is to create one character device
> > per NVMe controller that gets plugged in. Each NVMe controller is-a
> > PCI function. The reason we're trying to do this is so that we can send
> > commands to the NVMe controller, even when there is no storage present
> > (eg a drive is shipped from the factory with no configured storage).
> >
> > So we have no particular desire to create a new struct class, or struct
> > bus. If we can create a misc device per PCIe function that's bound to our
> > driver, that's great! Can you recommend a driver that does this already?
>
> I don't think there is one, but it shouldn't be that hard to just create
> a 'struct misdevice' for each one of the devices you want to create,
> would it?
>
> But, as you really are a "specific type", a bus_type might be overkill,
> so the original use of device_create() should be fine. Just be sure to
> fix the parent pointer issue, and you should be fine, right?
Works for me. I don't think we're going to have any software that
depends on it being a class or a bus, so it's easy to change later.
All we really care about is /dev/nvmeN being created.
next prev parent reply other threads:[~2012-07-27 20:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-27 16:44 [PATCH] NVMe: Add a character device for each nvme device Keith Busch
2012-07-27 18:12 ` Matthew Wilcox
2012-07-27 18:12 ` Matthew Wilcox
2012-07-27 18:25 ` Greg KH
2012-07-27 18:25 ` Greg KH
2012-07-27 19:08 ` Matthew Wilcox
2012-07-27 19:08 ` Matthew Wilcox
2012-07-27 19:21 ` Greg KH
2012-07-27 19:21 ` Greg KH
2012-07-27 20:30 ` Matthew Wilcox [this message]
2012-07-27 20:30 ` Matthew Wilcox
2012-07-27 19:28 ` Jeff Garzik
2012-07-27 19:28 ` Jeff Garzik
2012-07-27 20:26 ` Matthew Wilcox
2012-07-27 20:26 ` Matthew Wilcox
2012-07-27 20:42 ` Jeff Garzik
2012-07-27 20:42 ` Jeff Garzik
2012-07-27 20:44 ` Matthew Wilcox
-- strict thread matches above, loose matches on Subject: below --
2012-08-02 19:10 Keith Busch
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=20120727203051.GQ22985@linux.intel.com \
--to=willy@linux.intel.com \
/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.