Re: [PATCH] sysfs: add filter function to groups

From: Cornelia Huck
Date: Wed Oct 31 2007 - 06:21:18 EST


On Wed, 31 Oct 2007 10:52:35 +0100,
Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> wrote:

> Cornelia Huck wrote:
> > Greg KH <greg@xxxxxxxxx> wrote:
> >> On Tue, Oct 30, 2007 at 01:25:43PM -0500, James Bottomley wrote:
> >>> + for (i = 0, attr = grp->attrs; *attr; i++, attr++)
> >>> + if (grp->is_visible &&
> >>> + grp->is_visible(kobj, *attr, i))
> >>> + sysfs_hash_and_remove(dir_sd, (*attr)->name);
> >> Hm, doesn't this break for the zillions of attribute groups that do not
> >> have the is_visible function set?
> ...
> > Would it make more sense then to turn the meaning of the callback
> > around?
> >
> > for (...) {
> > if (grp->mask_out && grp->mask_out(kobj, *attr, i))
> > continue;
> > error |= sysfs_add_file(...);
> > }
>
> if (!grp->is_visible ||
> grp->is_visible(kobj, *attr, i))
> add or remove();
>

Hm, I find that a bit harder to parse...

mask_out() would also imply that the common use case is to have all
attributes in the group created and that you need to take action to
have an attribute not created.
-
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/