Re: pktcdvd -> sysfs warning with 2.6.27
From: Peter Osterlund
Date: Tue Oct 14 2008 - 17:03:55 EST
Kay Sievers <kay.sievers@xxxxxxxx> writes:
> On Tue, 2008-10-14 at 10:38 +0200, Kay Sievers wrote:
>> On Tue, Oct 14, 2008 at 7:27 AM, Peter Osterlund <petero2@xxxxxxxxx> wrote:
>> > Greg KH <greg@xxxxxxxxx> writes:
>> >
>> >> Both of those should get "real" majors assigned to them. It's not ok to
>> >> randomly go grabbing major:minor numbers like this for code that is in
>> >> mainline.
>> >
>> > It's not about random grabbing. It's about getting a dynamically
>> > assigned number. The pktcdvd driver once had static numbers, but at
>> > the time when the driver was merged into the mainline kernel, dynamic
>> > numbers were considered better. Therefore I changed the driver to use
>> > dynamic numbers.
>>
>> The pktcdvd driver allocates a dynamic block major, which is fine. But
>> doesn't it use the same number, and now not allocated, for the char
>> devices it uses? That looks like something that needs to fixed, right?
>>
>> static void pkt_sysfs_dev_new(struct pktcdvd_device *pd)
>> {
>> if (class_pktcdvd) {
>> pd->dev = device_create_drvdata(class_pktcdvd, NULL,
>> pd->pkt_dev, NULL,
>> "%s", pd->name);
>
> Something similar to this, with error checking, might be needed. It has
> two independent majors now in block and char:
> $ grep pkt /proc/devices
> 251 pktcdvd-char
> 252 pktcdvd
Maybe, but that character device would not be used for anything,
besides creating sub-directories in /sys/class/pktcdvd. The driver
implements a block device, not a character device.
Is it possible to create a custom directory in sysfs corresponding to
a block device? A directory /sys/block/pktcdvd0 is apparently created
automatically, but is it possible to extend that directory with driver
specific data?
--
Peter Osterlund - petero2@xxxxxxxxx
http://web.telia.com/~u89404340
--
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/