[PATCH] NVMe: Add a character device for each nvme device
Greg KH
greg at kroah.com
Fri Jul 27 14:25:46 EDT 2012
On Fri, Jul 27, 2012 at 02:12:12PM -0400, Matthew Wilcox wrote:
> On Fri, Jul 27, 2012 at 10:44:18AM -0600, Keith Busch wrote:
> > Registers a character device for the nvme module and creates character
> > files as /dev/nvmeN for each nvme device probed, where N is the device
> > instance. The character devices support nvme admin ioctl commands so
> > that nvme devices without namespaces can be managed.
>
> I don't see a problem here, but I'm no expert at sysfs / character devices.
> Alan, Greg, anyone else see any problems with how this character device is
> created / destroyed?
Yes, see below:
> > + device_create(nvme_char_cl, NULL, MKDEV(nvme_char_major, dev->instance),
> > + NULL, "nvme%d", dev->instance);
You just created a device at the "root" of sysfs, which is wrong,
especially when you do have a parent device here. Please use it.
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...)
thanks,
greg k-h
More information about the Linux-nvme
mailing list