diff mbox

[1/2] sparc: Remove corresponding sysfs file on device remove

Message ID 20170529165419.19121-1-jrtc27@jrtc27.com
State Superseded
Delegated to: David Miller
Headers show

Commit Message

Jessica Clarke May 29, 2017, 4:54 p.m. UTC
Signed-off-by: James Clarke <jrtc27@jrtc27.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=112541
---
 arch/sparc/kernel/vio.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Jessica Clarke May 29, 2017, 7:17 p.m. UTC | #1
Changes since v1:
 * Dropped "sparc: Remove corresponding sysfs file on device remove"
   - I initially thought this was a problem before writing the second patch,
     but now realise the second patch is what's needed.

James Clarke (1):
  sparc: Machine description indices can vary

 arch/sparc/include/asm/vio.h |  1 +
 arch/sparc/kernel/vio.c      | 68 +++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 65 insertions(+), 4 deletions(-)
diff mbox

Patch

diff --git a/arch/sparc/kernel/vio.c b/arch/sparc/kernel/vio.c
index f6bb857254fc..4da8db27fbf2 100644
--- a/arch/sparc/kernel/vio.c
+++ b/arch/sparc/kernel/vio.c
@@ -368,9 +368,15 @@  static void vio_remove(struct mdesc_handle *hp, u64 node)
 	dev = device_find_child(&root_vdev->dev, (void *) node,
 				vio_md_node_match);
 	if (dev) {
+		struct vio_dev *vdev = to_vio_dev(dev);
+
 		printk(KERN_INFO "VIO: Removing device %s\n", dev_name(dev));
 
 		device_unregister(dev);
+		if (vdev->dp)
+			sysfs_remove_file(&vdev->dev.kobj,
+					  &dev_attr_obppath.attr);
+
 		put_device(dev);
 	}
 }