Re: driver creating directories under a device entry

From: Greg KH
Date: Tue Jan 13 2009 - 18:42:44 EST


On Tue, Jan 13, 2009 at 11:27:34PM +0000, Ben Dooks wrote:
> I have a driver which uses sysfs_create_dir() to create a set of
> directories under the device sysfs directory to bundle up attributes
> that are added common for each sub-part of the device.
>
> Firstly, is this considered a problem

Yes and no.

> Secondly, sysfs_create_dir() is not exported so the driver cannot
> currently be built as a module. Would a patch to export sysfs_create_dir
> be acceptable?

No :)

The problem is, you are probably creating these attributes _after_
userspace has been notified that the device is present, right? So that
causes a not-so-nice race.

To do this properly, use an attribute group, name it (that will cause it
to show up in a subdirectory), attach it to the device, and then it will
be created automatically when the device is registered with the driver
core, at the proper time to then notify userspace that the device, and
all of its attributes, are present.

Does this help?

thanks,

greg k-h
--
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/