Re: Should osst call cdev_alloc()

From: Kai Makisara
Date: Sat Oct 23 2004 - 16:00:47 EST


On Sat, 23 Oct 2004, Willem Riede wrote:

> Currently, sg.c and st.c contain calls to cdev_alloc() and friends:
>
>
> [wriede@serve kernel]$ find linux-2.6.9 -name '*.c' | xargs grep cdev_alloc
> linux-2.6.9/drivers/s390/char/tape_class.c: tcd->char_device =
> cdev_alloc();
> linux-2.6.9/drivers/scsi/sg.c: cdev = cdev_alloc();
> linux-2.6.9/drivers/scsi/sg.c: printk(KERN_WARNING "cdev_alloc
> failed\n");
> linux-2.6.9/drivers/scsi/st.c: cdev = cdev_alloc();
> linux-2.6.9/fs/char_dev.c: cdev = cdev_alloc();
> linux-2.6.9/fs/char_dev.c:struct cdev *cdev_alloc(void)
> linux-2.6.9/fs/char_dev.c:EXPORT_SYMBOL(cdev_alloc);
>
>
> My question is: should osst do the same? It seems to work just fine without.
>
The reason why st.c calls cdev_alloc() directly is that this allows it to
use the large minor numbers (some people want to use more than 32 tapes).
This also used to give presence in sysfs but that is not the case any
more. The devices can be shown in sysfs using device classes (st.c uses
the class_simple_* functions).

Osst does call cdev_alloc() indirectly through register_chrdev(). This is
the link between the "old style" character device allocation and the
current method. As long as register_chrdev() exists, you don't have any
pressing need to change osst unless you want to support more than 256
minors.

--
Kai
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/