[SCSI] sysfs: make group is_valid return a mode_t
We have a problem in scsi_transport_spi in that we need to customise not only the visibility of the attributes, but also their mode. Fix this by making the is_visible() callback return a mode, with 0 indicating is not visible. Also add a sysfs_update_group() API to allow us to change either the visibility or mode of the files at any time on the fly. Acked-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
bbd1ae412c
commit
0f4238958d
4 changed files with 85 additions and 18 deletions
|
|
@ -32,7 +32,7 @@ struct attribute {
|
|||
|
||||
struct attribute_group {
|
||||
const char *name;
|
||||
int (*is_visible)(struct kobject *,
|
||||
mode_t (*is_visible)(struct kobject *,
|
||||
struct attribute *, int);
|
||||
struct attribute **attrs;
|
||||
};
|
||||
|
|
@ -105,6 +105,8 @@ void sysfs_remove_link(struct kobject *kobj, const char *name);
|
|||
|
||||
int __must_check sysfs_create_group(struct kobject *kobj,
|
||||
const struct attribute_group *grp);
|
||||
int sysfs_update_group(struct kobject *kobj,
|
||||
const struct attribute_group *grp);
|
||||
void sysfs_remove_group(struct kobject *kobj,
|
||||
const struct attribute_group *grp);
|
||||
int sysfs_add_file_to_group(struct kobject *kobj,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue