diff options
-rw-r--r-- | drivers/pci/hotplug/pci_hotplug_core.c | 60 | ||||
-rw-r--r-- | fs/sysfs/file.c | 40 | ||||
-rw-r--r-- | include/linux/sysfs.h | 7 |
3 files changed, 0 insertions, 107 deletions
diff --git a/drivers/pci/hotplug/pci_hotplug_core.c b/drivers/pci/hotplug/pci_hotplug_core.c index bd433ef6bfc6..f0eba534f805 100644 --- a/drivers/pci/hotplug/pci_hotplug_core.c +++ b/drivers/pci/hotplug/pci_hotplug_core.c | |||
@@ -694,66 +694,6 @@ int __must_check pci_hp_change_slot_info(struct hotplug_slot *slot, | |||
694 | if ((slot == NULL) || (info == NULL)) | 694 | if ((slot == NULL) || (info == NULL)) |
695 | return -ENODEV; | 695 | return -ENODEV; |
696 | 696 | ||
697 | /* | ||
698 | * check all fields in the info structure, and update timestamps | ||
699 | * for the files referring to the fields that have now changed. | ||
700 | */ | ||
701 | if ((has_power_file(slot) == 0) && | ||
702 | (slot->info->power_status != info->power_status)) { | ||
703 | retval = sysfs_update_file(&slot->kobj, | ||
704 | &hotplug_slot_attr_power.attr); | ||
705 | if (retval) | ||
706 | return retval; | ||
707 | } | ||
708 | |||
709 | if ((has_attention_file(slot) == 0) && | ||
710 | (slot->info->attention_status != info->attention_status)) { | ||
711 | retval = sysfs_update_file(&slot->kobj, | ||
712 | &hotplug_slot_attr_attention.attr); | ||
713 | if (retval) | ||
714 | return retval; | ||
715 | } | ||
716 | |||
717 | if ((has_latch_file(slot) == 0) && | ||
718 | (slot->info->latch_status != info->latch_status)) { | ||
719 | retval = sysfs_update_file(&slot->kobj, | ||
720 | &hotplug_slot_attr_latch.attr); | ||
721 | if (retval) | ||
722 | return retval; | ||
723 | } | ||
724 | |||
725 | if ((has_adapter_file(slot) == 0) && | ||
726 | (slot->info->adapter_status != info->adapter_status)) { | ||
727 | retval = sysfs_update_file(&slot->kobj, | ||
728 | &hotplug_slot_attr_presence.attr); | ||
729 | if (retval) | ||
730 | return retval; | ||
731 | } | ||
732 | |||
733 | if ((has_address_file(slot) == 0) && | ||
734 | (slot->info->address != info->address)) { | ||
735 | retval = sysfs_update_file(&slot->kobj, | ||
736 | &hotplug_slot_attr_address.attr); | ||
737 | if (retval) | ||
738 | return retval; | ||
739 | } | ||
740 | |||
741 | if ((has_max_bus_speed_file(slot) == 0) && | ||
742 | (slot->info->max_bus_speed != info->max_bus_speed)) { | ||
743 | retval = sysfs_update_file(&slot->kobj, | ||
744 | &hotplug_slot_attr_max_bus_speed.attr); | ||
745 | if (retval) | ||
746 | return retval; | ||
747 | } | ||
748 | |||
749 | if ((has_cur_bus_speed_file(slot) == 0) && | ||
750 | (slot->info->cur_bus_speed != info->cur_bus_speed)) { | ||
751 | retval = sysfs_update_file(&slot->kobj, | ||
752 | &hotplug_slot_attr_cur_bus_speed.attr); | ||
753 | if (retval) | ||
754 | return retval; | ||
755 | } | ||
756 | |||
757 | memcpy (slot->info, info, sizeof (struct hotplug_slot_info)); | 697 | memcpy (slot->info, info, sizeof (struct hotplug_slot_info)); |
758 | 698 | ||
759 | return 0; | 699 | return 0; |
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index 9fdf8dae0dcd..61a8c19df7c3 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c | |||
@@ -3,7 +3,6 @@ | |||
3 | */ | 3 | */ |
4 | 4 | ||
5 | #include <linux/module.h> | 5 | #include <linux/module.h> |
6 | #include <linux/fsnotify.h> | ||
7 | #include <linux/kobject.h> | 6 | #include <linux/kobject.h> |
8 | #include <linux/namei.h> | 7 | #include <linux/namei.h> |
9 | #include <linux/poll.h> | 8 | #include <linux/poll.h> |
@@ -453,44 +452,6 @@ int sysfs_add_file_to_group(struct kobject *kobj, | |||
453 | } | 452 | } |
454 | EXPORT_SYMBOL_GPL(sysfs_add_file_to_group); | 453 | EXPORT_SYMBOL_GPL(sysfs_add_file_to_group); |
455 | 454 | ||
456 | |||
457 | /** | ||
458 | * sysfs_update_file - update the modified timestamp on an object attribute. | ||
459 | * @kobj: object we're acting for. | ||
460 | * @attr: attribute descriptor. | ||
461 | */ | ||
462 | int sysfs_update_file(struct kobject * kobj, const struct attribute * attr) | ||
463 | { | ||
464 | struct sysfs_dirent *victim_sd = NULL; | ||
465 | struct dentry *victim = NULL; | ||
466 | int rc; | ||
467 | |||
468 | rc = -ENOENT; | ||
469 | victim_sd = sysfs_get_dirent(kobj->sd, attr->name); | ||
470 | if (!victim_sd) | ||
471 | goto out; | ||
472 | |||
473 | mutex_lock(&sysfs_rename_mutex); | ||
474 | victim = sysfs_get_dentry(victim_sd); | ||
475 | mutex_unlock(&sysfs_rename_mutex); | ||
476 | if (IS_ERR(victim)) { | ||
477 | rc = PTR_ERR(victim); | ||
478 | victim = NULL; | ||
479 | goto out; | ||
480 | } | ||
481 | |||
482 | mutex_lock(&victim->d_inode->i_mutex); | ||
483 | victim->d_inode->i_mtime = CURRENT_TIME; | ||
484 | fsnotify_modify(victim); | ||
485 | mutex_unlock(&victim->d_inode->i_mutex); | ||
486 | rc = 0; | ||
487 | out: | ||
488 | dput(victim); | ||
489 | sysfs_put(victim_sd); | ||
490 | return rc; | ||
491 | } | ||
492 | |||
493 | |||
494 | /** | 455 | /** |
495 | * sysfs_chmod_file - update the modified mode value on an object attribute. | 456 | * sysfs_chmod_file - update the modified mode value on an object attribute. |
496 | * @kobj: object we're acting for. | 457 | * @kobj: object we're acting for. |
@@ -641,4 +602,3 @@ EXPORT_SYMBOL_GPL(sysfs_schedule_callback); | |||
641 | 602 | ||
642 | EXPORT_SYMBOL_GPL(sysfs_create_file); | 603 | EXPORT_SYMBOL_GPL(sysfs_create_file); |
643 | EXPORT_SYMBOL_GPL(sysfs_remove_file); | 604 | EXPORT_SYMBOL_GPL(sysfs_remove_file); |
644 | EXPORT_SYMBOL_GPL(sysfs_update_file); | ||
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index b393bb449624..db5dd2403d08 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h | |||
@@ -87,8 +87,6 @@ int __must_check sysfs_move_dir(struct kobject *kobj, | |||
87 | 87 | ||
88 | int __must_check sysfs_create_file(struct kobject *kobj, | 88 | int __must_check sysfs_create_file(struct kobject *kobj, |
89 | const struct attribute *attr); | 89 | const struct attribute *attr); |
90 | int __must_check sysfs_update_file(struct kobject *kobj, | ||
91 | const struct attribute *attr); | ||
92 | int __must_check sysfs_chmod_file(struct kobject *kobj, struct attribute *attr, | 90 | int __must_check sysfs_chmod_file(struct kobject *kobj, struct attribute *attr, |
93 | mode_t mode); | 91 | mode_t mode); |
94 | void sysfs_remove_file(struct kobject *kobj, const struct attribute *attr); | 92 | void sysfs_remove_file(struct kobject *kobj, const struct attribute *attr); |
@@ -149,11 +147,6 @@ static inline int sysfs_create_file(struct kobject *kobj, | |||
149 | return 0; | 147 | return 0; |
150 | } | 148 | } |
151 | 149 | ||
152 | static inline int sysfs_update_file(struct kobject *kobj, | ||
153 | const struct attribute *attr) | ||
154 | { | ||
155 | return 0; | ||
156 | } | ||
157 | static inline int sysfs_chmod_file(struct kobject *kobj, | 150 | static inline int sysfs_chmod_file(struct kobject *kobj, |
158 | struct attribute *attr, mode_t mode) | 151 | struct attribute *attr, mode_t mode) |
159 | { | 152 | { |