aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/s390/char/tape_char.c4
-rw-r--r--drivers/s390/char/tape_class.c5
-rw-r--r--drivers/s390/char/tape_class.h2
3 files changed, 5 insertions, 6 deletions
diff --git a/drivers/s390/char/tape_char.c b/drivers/s390/char/tape_char.c
index b830a8cbef78..ebe84067bae9 100644
--- a/drivers/s390/char/tape_char.c
+++ b/drivers/s390/char/tape_char.c
@@ -83,9 +83,9 @@ tapechar_setup_device(struct tape_device * device)
83void 83void
84tapechar_cleanup_device(struct tape_device *device) 84tapechar_cleanup_device(struct tape_device *device)
85{ 85{
86 unregister_tape_dev(device->rt); 86 unregister_tape_dev(&device->cdev->dev, device->rt);
87 device->rt = NULL; 87 device->rt = NULL;
88 unregister_tape_dev(device->nt); 88 unregister_tape_dev(&device->cdev->dev, device->nt);
89 device->nt = NULL; 89 device->nt = NULL;
90} 90}
91 91
diff --git a/drivers/s390/char/tape_class.c b/drivers/s390/char/tape_class.c
index aa7f166f4034..6dfdb7c17981 100644
--- a/drivers/s390/char/tape_class.c
+++ b/drivers/s390/char/tape_class.c
@@ -99,11 +99,10 @@ fail_with_tcd:
99} 99}
100EXPORT_SYMBOL(register_tape_dev); 100EXPORT_SYMBOL(register_tape_dev);
101 101
102void unregister_tape_dev(struct tape_class_device *tcd) 102void unregister_tape_dev(struct device *device, struct tape_class_device *tcd)
103{ 103{
104 if (tcd != NULL && !IS_ERR(tcd)) { 104 if (tcd != NULL && !IS_ERR(tcd)) {
105 sysfs_remove_link(&tcd->class_device->kobj, 105 sysfs_remove_link(&device->kobj, tcd->mode_name);
106 tcd->mode_name);
107 device_destroy(tape_class, tcd->char_device->dev); 106 device_destroy(tape_class, tcd->char_device->dev);
108 cdev_del(tcd->char_device); 107 cdev_del(tcd->char_device);
109 kfree(tcd); 108 kfree(tcd);
diff --git a/drivers/s390/char/tape_class.h b/drivers/s390/char/tape_class.h
index e2b5ac918acf..707b7f48c232 100644
--- a/drivers/s390/char/tape_class.h
+++ b/drivers/s390/char/tape_class.h
@@ -56,6 +56,6 @@ struct tape_class_device *register_tape_dev(
56 char * device_name, 56 char * device_name,
57 char * node_name 57 char * node_name
58); 58);
59void unregister_tape_dev(struct tape_class_device *tcd); 59void unregister_tape_dev(struct device *device, struct tape_class_device *tcd);
60 60
61#endif /* __TAPE_CLASS_H__ */ 61#endif /* __TAPE_CLASS_H__ */