summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorKeith Busch <keith.busch@intel.com>2013-02-19 18:17:58 +0100
committerMatthew Wilcox <matthew.r.wilcox@intel.com>2013-04-16 21:43:55 +0200
commit5e82e952f04681c10f35e02ee0a4a43ec027137a (patch)
treeac827583d123873bf5fbfdeb2b6b68389a1322af /include
parentNVMe: Fix endian-related problems in user I/O submission path (diff)
downloadlinux-5e82e952f04681c10f35e02ee0a4a43ec027137a.tar.xz
linux-5e82e952f04681c10f35e02ee0a4a43ec027137a.zip
NVMe: Add a character device for each nvme device
Registers a miscellaneous device for each nvme controller probed. This creates character device files as /dev/nvmeN, where N is the device instance, and supports nvme admin ioctl commands so devices without namespaces can be managed. Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nvme.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h
index 7ae7ecfc0947..9b6fba872f47 100644
--- a/include/linux/nvme.h
+++ b/include/linux/nvme.h
@@ -507,6 +507,8 @@ struct nvme_admin_cmd {
#ifdef __KERNEL__
#include <linux/pci.h>
+#include <linux/miscdevice.h>
+#include <linux/kref.h>
#define NVME_IO_TIMEOUT (5 * HZ)
@@ -527,6 +529,9 @@ struct nvme_dev {
struct msix_entry *entry;
struct nvme_bar __iomem *bar;
struct list_head namespaces;
+ struct kref kref;
+ struct miscdevice miscdev;
+ char name[12];
char serial[20];
char model[40];
char firmware_rev[8];