patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / drivers / s390 / char / tape_34xx.c
index e738c4d..480ec87 100644 (file)
 #include <linux/bio.h>
 #include <linux/workqueue.h>
 
+#define TAPE_DBF_AREA  tape_34xx_dbf
+
 #include "tape.h"
 #include "tape_std.h"
 
 #define PRINTK_HEADER "TAPE_34XX: "
 
+/*
+ * Pointer to debug area.
+ */
+debug_info_t *TAPE_DBF_AREA = NULL;
+EXPORT_SYMBOL(TAPE_DBF_AREA);
+
 enum tape_34xx_type {
        tape_3480,
        tape_3490,
@@ -885,7 +893,7 @@ tape_34xx_ioctl(struct tape_device *device, unsigned int cmd, unsigned long arg)
        if (cmd == TAPE390_DISPLAY) {
                struct display_struct disp;
 
-               if (copy_from_user(&disp, (char *) arg, sizeof(disp)) != 0)
+               if (copy_from_user(&disp, (char __user *) arg, sizeof(disp)) != 0)
                        return -EFAULT;
 
                return tape_std_display(device, &disp);
@@ -1343,7 +1351,13 @@ tape_34xx_init (void)
 {
        int rc;
 
-       DBF_EVENT(3, "34xx init: $Revision: 1.20 $\n");
+       TAPE_DBF_AREA = debug_register ( "tape_34xx", 1, 2, 4*sizeof(long));
+       debug_register_view(TAPE_DBF_AREA, &debug_sprintf_view);
+#ifdef DBF_LIKE_HELL
+       debug_set_level(TAPE_DBF_AREA, 6);
+#endif
+
+       DBF_EVENT(3, "34xx init: $Revision: 1.21 $\n");
        /* Register driver for 3480/3490 tapes. */
        rc = ccw_driver_register(&tape_34xx_driver);
        if (rc)
@@ -1357,12 +1371,14 @@ static void
 tape_34xx_exit(void)
 {
        ccw_driver_unregister(&tape_34xx_driver);
+
+       debug_unregister(TAPE_DBF_AREA);
 }
 
 MODULE_DEVICE_TABLE(ccw, tape_34xx_ids);
 MODULE_AUTHOR("(C) 2001-2002 IBM Deutschland Entwicklung GmbH");
 MODULE_DESCRIPTION("Linux on zSeries channel attached 3480 tape "
-                  "device driver ($Revision: 1.20 $)");
+                  "device driver ($Revision: 1.21 $)");
 MODULE_LICENSE("GPL");
 
 module_init(tape_34xx_init);