Re: [RFC PATCH 0/2] fs: sysfs: Add devres support

Greg Kroah-Hartman
2013-03-16T16:20:34Z

On Thu, Mar 14, 2013 at 08:24:45PM -0700, Guenter Roeck wrote:
> Provide devres functions for device_create_file, sysfs_create_file,
> and sysfs_create_group plus the respective remove functions.
>
> Idea is to be able to drop calls to the remove functions from the various
> drivers using those calls.

Hm, despite the fact that almost every driver that makes these calls is
broken? :)

> Potential savings are substantial. There are more than 700 calls to
> device_remove_file in the kernel, more than 500 calls to sysfs_remove_group,
> and some 50 calls to sysfs_remove_file (though not all of those use dev->kobj
> as parameter). Expanding the API to sysfs_create_bin_file would add another 80+
> opportunities, and adding sysfs_create_link would create another 100 or so.

The idea is nice, but why are these drivers adding sysfs files on their
own? Are they doing this in a way that is race-free with userspace
(i.e. creating them before userspace is told about the device), or are
they broken and need to have these calls added to the "default
device/driver/bus" attribute list for them instead?

I think the "we need to fix the drivers" option is the correct one :(

Ideally, I could get rid of those files from being exported at all, but
some busses do do things correctly, so I can't. But they seem to be in
the minority...

So how about we fix up the drivers first, then, if there are valid users
for this type of interface (which I do think there is), we can add it
then?

thanks,

greg k-h