diff options
Diffstat (limited to 'fs/sysfs/file.c')
| -rw-r--r-- | fs/sysfs/file.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index e222b2582746..1beaa739d0a6 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c | |||
| @@ -478,9 +478,12 @@ void sysfs_notify(struct kobject *k, const char *dir, const char *attr) | |||
| 478 | mutex_lock(&sysfs_mutex); | 478 | mutex_lock(&sysfs_mutex); |
| 479 | 479 | ||
| 480 | if (sd && dir) | 480 | if (sd && dir) |
| 481 | sd = sysfs_find_dirent(sd, dir); | 481 | /* Only directories are tagged, so no need to pass |
| 482 | * a tag explicitly. | ||
| 483 | */ | ||
| 484 | sd = sysfs_find_dirent(sd, NULL, dir); | ||
| 482 | if (sd && attr) | 485 | if (sd && attr) |
| 483 | sd = sysfs_find_dirent(sd, attr); | 486 | sd = sysfs_find_dirent(sd, NULL, attr); |
| 484 | if (sd) | 487 | if (sd) |
| 485 | sysfs_notify_dirent(sd); | 488 | sysfs_notify_dirent(sd); |
| 486 | 489 | ||
| @@ -569,7 +572,7 @@ int sysfs_add_file_to_group(struct kobject *kobj, | |||
| 569 | int error; | 572 | int error; |
| 570 | 573 | ||
| 571 | if (group) | 574 | if (group) |
| 572 | dir_sd = sysfs_get_dirent(kobj->sd, group); | 575 | dir_sd = sysfs_get_dirent(kobj->sd, NULL, group); |
| 573 | else | 576 | else |
| 574 | dir_sd = sysfs_get(kobj->sd); | 577 | dir_sd = sysfs_get(kobj->sd); |
| 575 | 578 | ||
| @@ -599,7 +602,7 @@ int sysfs_chmod_file(struct kobject *kobj, struct attribute *attr, mode_t mode) | |||
| 599 | mutex_lock(&sysfs_mutex); | 602 | mutex_lock(&sysfs_mutex); |
| 600 | 603 | ||
| 601 | rc = -ENOENT; | 604 | rc = -ENOENT; |
| 602 | sd = sysfs_find_dirent(kobj->sd, attr->name); | 605 | sd = sysfs_find_dirent(kobj->sd, NULL, attr->name); |
| 603 | if (!sd) | 606 | if (!sd) |
| 604 | goto out; | 607 | goto out; |
| 605 | 608 | ||
| @@ -624,7 +627,7 @@ EXPORT_SYMBOL_GPL(sysfs_chmod_file); | |||
| 624 | 627 | ||
| 625 | void sysfs_remove_file(struct kobject * kobj, const struct attribute * attr) | 628 | void sysfs_remove_file(struct kobject * kobj, const struct attribute * attr) |
| 626 | { | 629 | { |
| 627 | sysfs_hash_and_remove(kobj->sd, attr->name); | 630 | sysfs_hash_and_remove(kobj->sd, NULL, attr->name); |
| 628 | } | 631 | } |
| 629 | 632 | ||
| 630 | void sysfs_remove_files(struct kobject * kobj, const struct attribute **ptr) | 633 | void sysfs_remove_files(struct kobject * kobj, const struct attribute **ptr) |
| @@ -646,11 +649,11 @@ void sysfs_remove_file_from_group(struct kobject *kobj, | |||
| 646 | struct sysfs_dirent *dir_sd; | 649 | struct sysfs_dirent *dir_sd; |
| 647 | 650 | ||
| 648 | if (group) | 651 | if (group) |
| 649 | dir_sd = sysfs_get_dirent(kobj->sd, group); | 652 | dir_sd = sysfs_get_dirent(kobj->sd, NULL, group); |
| 650 | else | 653 | else |
| 651 | dir_sd = sysfs_get(kobj->sd); | 654 | dir_sd = sysfs_get(kobj->sd); |
| 652 | if (dir_sd) { | 655 | if (dir_sd) { |
| 653 | sysfs_hash_and_remove(dir_sd, attr->name); | 656 | sysfs_hash_and_remove(dir_sd, NULL, attr->name); |
| 654 | sysfs_put(dir_sd); | 657 | sysfs_put(dir_sd); |
| 655 | } | 658 | } |
| 656 | } | 659 | } |
