]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/char/tape_core.c
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
[linux-2.6-omap-h63xx.git] / drivers / s390 / char / tape_core.c
index f9bb51fa7f5bf7bc3a47f4a40554c2571c4bcb8b..08c09d3503cfd5857de8b205d7f561a86f76dada 100644 (file)
@@ -11,6 +11,7 @@
  *              Stefan Bader <shbader@de.ibm.com>
  */
 
+#define KMSG_COMPONENT "tape"
 #include <linux/module.h>
 #include <linux/init.h>             // for kernel parameters
 #include <linux/kmod.h>             // for requesting modules
@@ -25,7 +26,6 @@
 #include "tape.h"
 #include "tape_std.h"
 
-#define PRINTK_HEADER "TAPE_CORE: "
 #define LONG_BUSY_TIMEOUT 180 /* seconds */
 
 static void __tape_do_irq (struct ccw_device *, unsigned long, struct irb *);
@@ -214,13 +214,13 @@ tape_med_state_set(struct tape_device *device, enum tape_medium_state newstate)
        switch(newstate){
        case MS_UNLOADED:
                device->tape_generic_status |= GMT_DR_OPEN(~0);
-               PRINT_INFO("(%s): Tape is unloaded\n",
-                          dev_name(&device->cdev->dev));
+               dev_info(&device->cdev->dev, "The tape cartridge has been "
+                       "successfully unloaded\n");
                break;
        case MS_LOADED:
                device->tape_generic_status &= ~GMT_DR_OPEN(~0);
-               PRINT_INFO("(%s): Tape has been mounted\n",
-                          dev_name(&device->cdev->dev));
+               dev_info(&device->cdev->dev, "A tape cartridge has been "
+                       "mounted\n");
                break;
        default:
                // print nothing
@@ -333,7 +333,6 @@ tape_generic_online(struct tape_device *device,
        /* Let the discipline have a go at the device. */
        device->discipline = discipline;
        if (!try_module_get(discipline->owner)) {
-               PRINT_ERR("Cannot get module. Module gone.\n");
                return -EINVAL;
        }
 
@@ -391,7 +390,6 @@ int
 tape_generic_offline(struct tape_device *device)
 {
        if (!device) {
-               PRINT_ERR("tape_generic_offline: no such device\n");
                return -ENODEV;
        }
 
@@ -413,9 +411,6 @@ tape_generic_offline(struct tape_device *device)
                        DBF_EVENT(3, "(%08x): Set offline failed "
                                "- drive in use.\n",
                                device->cdev_id);
-                       PRINT_WARN("(%s): Set offline failed "
-                               "- drive in use.\n",
-                               dev_name(&device->cdev->dev));
                        spin_unlock_irq(get_ccwdev_lock(device->cdev));
                        return -EBUSY;
        }
@@ -435,14 +430,11 @@ tape_alloc_device(void)
        device = kzalloc(sizeof(struct tape_device), GFP_KERNEL);
        if (device == NULL) {
                DBF_EXCEPTION(2, "ti:no mem\n");
-               PRINT_INFO ("can't allocate memory for "
-                           "tape info structure\n");
                return ERR_PTR(-ENOMEM);
        }
        device->modeset_byte = kmalloc(1, GFP_KERNEL | GFP_DMA);
        if (device->modeset_byte == NULL) {
                DBF_EXCEPTION(2, "ti:no mem\n");
-               PRINT_INFO("can't allocate memory for modeset byte\n");
                kfree(device);
                return ERR_PTR(-ENOMEM);
        }
@@ -490,7 +482,6 @@ tape_put_device(struct tape_device *device)
        } else {
                if (remain < 0) {
                        DBF_EVENT(4, "put device without reference\n");
-                       PRINT_ERR("put device without reference\n");
                } else {
                        DBF_EVENT(4, "tape_free_device(%p)\n", device);
                        kfree(device->modeset_byte);
@@ -538,8 +529,6 @@ tape_generic_probe(struct ccw_device *cdev)
        ret = sysfs_create_group(&cdev->dev.kobj, &tape_attr_group);
        if (ret) {
                tape_put_device(device);
-               PRINT_ERR("probe failed for tape device %s\n",
-                         dev_name(&cdev->dev));
                return ret;
        }
        cdev->dev.driver_data = device;
@@ -547,7 +536,6 @@ tape_generic_probe(struct ccw_device *cdev)
        device->cdev = cdev;
        ccw_device_get_id(cdev, &dev_id);
        device->cdev_id = devid_to_int(&dev_id);
-       PRINT_INFO("tape device %s found\n", dev_name(&cdev->dev));
        return ret;
 }
 
@@ -584,7 +572,6 @@ tape_generic_remove(struct ccw_device *cdev)
 
        device = cdev->dev.driver_data;
        if (!device) {
-               PRINT_ERR("No device pointer in tape_generic_remove!\n");
                return;
        }
        DBF_LH(3, "(%08x): tape_generic_remove(%p)\n", device->cdev_id, cdev);
@@ -615,10 +602,8 @@ tape_generic_remove(struct ccw_device *cdev)
                         */
                        DBF_EVENT(3, "(%08x): Drive in use vanished!\n",
                                device->cdev_id);
-                       PRINT_WARN("(%s): Drive in use vanished - "
-                               "expect trouble!\n",
-                               dev_name(&device->cdev->dev));
-                       PRINT_WARN("State was %i\n", device->tape_state);
+                       dev_warn(&device->cdev->dev, "A tape unit was detached"
+                               " while in use\n");
                        tape_state_set(device, TS_NOT_OPER);
                        __tape_discard_requests(device);
                        spin_unlock_irq(get_ccwdev_lock(device->cdev));
@@ -639,8 +624,7 @@ tape_alloc_request(int cplength, int datasize)
 {
        struct tape_request *request;
 
-       if (datasize > PAGE_SIZE || (cplength*sizeof(struct ccw1)) > PAGE_SIZE)
-               BUG();
+       BUG_ON(datasize > PAGE_SIZE || (cplength*sizeof(struct ccw1)) > PAGE_SIZE);
 
        DBF_LH(6, "tape_alloc_request(%d, %d)\n", cplength, datasize);
 
@@ -797,8 +781,7 @@ static void tape_long_busy_timeout(unsigned long data)
        device = (struct tape_device *) data;
        spin_lock_irq(get_ccwdev_lock(device->cdev));
        request = list_entry(device->req_queue.next, struct tape_request, list);
-       if (request->status != TAPE_REQUEST_LONG_BUSY)
-               BUG();
+       BUG_ON(request->status != TAPE_REQUEST_LONG_BUSY);
        DBF_LH(6, "%08x: Long busy timeout.\n", device->cdev_id);
        __tape_start_next_request(device);
        device->lb_timeout.data = (unsigned long) tape_put_device(device);
@@ -829,30 +812,6 @@ __tape_end_request(
                __tape_start_next_request(device);
 }
 
-/*
- * Write sense data to console/dbf
- */
-void
-tape_dump_sense(struct tape_device* device, struct tape_request *request,
-               struct irb *irb)
-{
-       unsigned int *sptr;
-
-       PRINT_INFO("-------------------------------------------------\n");
-       PRINT_INFO("DSTAT : %02x  CSTAT: %02x   CPA: %04x\n",
-                  irb->scsw.cmd.dstat, irb->scsw.cmd.cstat, irb->scsw.cmd.cpa);
-       PRINT_INFO("DEVICE: %s\n", dev_name(&device->cdev->dev));
-       if (request != NULL)
-               PRINT_INFO("OP    : %s\n", tape_op_verbose[request->op]);
-
-       sptr = (unsigned int *) irb->ecw;
-       PRINT_INFO("Sense data: %08X %08X %08X %08X \n",
-                  sptr[0], sptr[1], sptr[2], sptr[3]);
-       PRINT_INFO("Sense data: %08X %08X %08X %08X \n",
-                  sptr[4], sptr[5], sptr[6], sptr[7]);
-       PRINT_INFO("--------------------------------------------------\n");
-}
-
 /*
  * Write sense data to dbf
  */
@@ -1051,8 +1010,6 @@ __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
 
        device = (struct tape_device *) cdev->dev.driver_data;
        if (device == NULL) {
-               PRINT_ERR("could not get device structure for %s "
-                         "in interrupt\n", dev_name(&cdev->dev));
                return;
        }
        request = (struct tape_request *) intparm;
@@ -1064,13 +1021,13 @@ __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
                /* FIXME: What to do with the request? */
                switch (PTR_ERR(irb)) {
                        case -ETIMEDOUT:
-                               PRINT_WARN("(%s): Request timed out\n",
+                               DBF_LH(1, "(%s): Request timed out\n",
                                        dev_name(&cdev->dev));
                        case -EIO:
                                __tape_end_request(device, request, -EIO);
                                break;
                        default:
-                               PRINT_ERR("(%s): Unexpected i/o error %li\n",
+                               DBF_LH(1, "(%s): Unexpected i/o error %li\n",
                                        dev_name(&cdev->dev),
                                        PTR_ERR(irb));
                }
@@ -1182,8 +1139,6 @@ __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
                default:
                        if (rc > 0) {
                                DBF_EVENT(6, "xunknownrc\n");
-                               PRINT_ERR("Invalid return code from discipline "
-                                       "interrupt function.\n");
                                __tape_end_request(device, request, -EIO);
                        } else {
                                __tape_end_request(device, request, rc);
@@ -1323,7 +1278,6 @@ EXPORT_SYMBOL(tape_state_set);
 EXPORT_SYMBOL(tape_med_state_set);
 EXPORT_SYMBOL(tape_alloc_request);
 EXPORT_SYMBOL(tape_free_request);
-EXPORT_SYMBOL(tape_dump_sense);
 EXPORT_SYMBOL(tape_dump_sense_dbf);
 EXPORT_SYMBOL(tape_do_io);
 EXPORT_SYMBOL(tape_do_io_async);