]> err.no Git - linux-2.6/commit
[SCSI] MegaRAID driver management char device moved to misc
authorThomas Horsten <thomas@horsten.com>
Tue, 5 Feb 2008 07:53:18 +0000 (23:53 -0800)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Mon, 11 Feb 2008 16:20:53 +0000 (10:20 -0600)
commit90a95af85f22c82f87e5fb714bac7ee06673b0ff
tree4211b482478654df9d33a1d1c44ceef2d59ba010
parent7d5d408c77cee95d1380511de46b7a4c8dc2211d
[SCSI] MegaRAID driver management char device moved to misc

The MegaRAID driver's common management module (megaraid_mm.c) creates a
char device used by the management tool "megarc" from LSI Logic (and
possibly other management tools).

In 2.6 with udev, this device doesn't get created because it is not
registered in sysfs.

I first fixed this by registering a class "megaraid_mm", but realized that
this should probably be moved to misc devices, instead of taking up a char
major.  This is because only 1 device is used, even if there are multiple
adapters - the minor is never used (the adapter info is in the ioctl block
sent to the driver, not detected based on the minor number as one might
think).  So it is a complete waste to have an entire major taken by this.

So it now uses a misc device which I named "megadev0" (the name that megarc
expects), and has a dynamic minor (previoulsy a dynamic major was used).

I have tested this on my own system with the megarc tool, and it works just
as fine as before (only now the device gets created correctly by udev).

Acked-by: "Patro, Sumant" <Sumant.Patro@lsi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/megaraid/megaraid_mm.c
drivers/scsi/megaraid/megaraid_mm.h