diff options
-rw-r--r-- | drivers/base/core.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index f0699918e2f6..17e7d5048b83 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c | |||
@@ -786,7 +786,7 @@ out_device: | |||
786 | out_busid: | 786 | out_busid: |
787 | if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && | 787 | if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && |
788 | device_is_not_partition(dev)) | 788 | device_is_not_partition(dev)) |
789 | sysfs_remove_link(&dev->class->p->class_subsys.kobj, | 789 | sysfs_delete_link(&dev->class->p->class_subsys.kobj, &dev->kobj, |
790 | dev_name(dev)); | 790 | dev_name(dev)); |
791 | #else | 791 | #else |
792 | /* link in the class directory pointing to the device */ | 792 | /* link in the class directory pointing to the device */ |
@@ -804,7 +804,7 @@ out_busid: | |||
804 | return 0; | 804 | return 0; |
805 | 805 | ||
806 | out_busid: | 806 | out_busid: |
807 | sysfs_remove_link(&dev->class->p->class_subsys.kobj, dev_name(dev)); | 807 | sysfs_delete_link(&dev->class->p->class_subsys.kobj, &dev->kobj, dev_name(dev)); |
808 | #endif | 808 | #endif |
809 | 809 | ||
810 | out_subsys: | 810 | out_subsys: |
@@ -832,13 +832,13 @@ static void device_remove_class_symlinks(struct device *dev) | |||
832 | 832 | ||
833 | if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && | 833 | if (dev->kobj.parent != &dev->class->p->class_subsys.kobj && |
834 | device_is_not_partition(dev)) | 834 | device_is_not_partition(dev)) |
835 | sysfs_remove_link(&dev->class->p->class_subsys.kobj, | 835 | sysfs_delete_link(&dev->class->p->class_subsys.kobj, &dev->kobj, |
836 | dev_name(dev)); | 836 | dev_name(dev)); |
837 | #else | 837 | #else |
838 | if (dev->parent && device_is_not_partition(dev)) | 838 | if (dev->parent && device_is_not_partition(dev)) |
839 | sysfs_remove_link(&dev->kobj, "device"); | 839 | sysfs_remove_link(&dev->kobj, "device"); |
840 | 840 | ||
841 | sysfs_remove_link(&dev->class->p->class_subsys.kobj, dev_name(dev)); | 841 | sysfs_delete_link(&dev->class->p->class_subsys.kobj, &dev->kobj, dev_name(dev)); |
842 | #endif | 842 | #endif |
843 | 843 | ||
844 | sysfs_remove_link(&dev->kobj, "subsystem"); | 844 | sysfs_remove_link(&dev->kobj, "subsystem"); |
@@ -1624,6 +1624,14 @@ int device_rename(struct device *dev, char *new_name) | |||
1624 | goto out; | 1624 | goto out; |
1625 | } | 1625 | } |
1626 | 1626 | ||
1627 | #ifndef CONFIG_SYSFS_DEPRECATED | ||
1628 | if (dev->class) { | ||
1629 | error = sysfs_rename_link(&dev->class->p->class_subsys.kobj, | ||
1630 | &dev->kobj, old_device_name, new_name); | ||
1631 | if (error) | ||
1632 | goto out; | ||
1633 | } | ||
1634 | #endif | ||
1627 | error = kobject_rename(&dev->kobj, new_name); | 1635 | error = kobject_rename(&dev->kobj, new_name); |
1628 | if (error) | 1636 | if (error) |
1629 | goto out; | 1637 | goto out; |
@@ -1638,11 +1646,6 @@ int device_rename(struct device *dev, char *new_name) | |||
1638 | new_class_name); | 1646 | new_class_name); |
1639 | } | 1647 | } |
1640 | } | 1648 | } |
1641 | #else | ||
1642 | if (dev->class) { | ||
1643 | error = sysfs_rename_link(&dev->class->p->class_subsys.kobj, | ||
1644 | &dev->kobj, old_device_name, new_name); | ||
1645 | } | ||
1646 | #endif | 1649 | #endif |
1647 | 1650 | ||
1648 | out: | 1651 | out: |