#define _GNU_SOURCE
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+#define dev_fmt pr_fmt
+#define DRV_NAME KBUILD_MODNAME
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
 
        retval = usb_submit_urb(a_priv->bulk_urb, GFP_KERNEL);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: failed to submit bulk out urb, retval=%i\n",
-                       __func__, retval);
+               dev_err(&usb_dev->dev, "failed to submit bulk out urb, retval=%i\n", retval);
                mutex_unlock(&a_priv->bulk_alloc_lock);
                goto cleanup;
        }
        mutex_unlock(&a_priv->bulk_alloc_lock);
        if (down_interruptible(&context->complete)) {
-               dev_err(&usb_dev->dev, "%s: interrupted\n", __func__);
                retval = -ERESTARTSYS;
                goto cleanup;
        }
 
        retval = usb_submit_urb(a_priv->bulk_urb, GFP_KERNEL);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: failed to submit bulk out urb, retval=%i\n",
-                       __func__, retval);
+               dev_err(&usb_dev->dev, "failed to submit bulk in urb, retval=%i\n", retval);
                mutex_unlock(&a_priv->bulk_alloc_lock);
                goto cleanup;
        }
        mutex_unlock(&a_priv->bulk_alloc_lock);
        if (down_interruptible(&context->complete)) {
-               dev_err(&usb_dev->dev, "%s: interrupted\n", __func__);
                retval = -ERESTARTSYS;
                goto cleanup;
        }
 
 static void agilent_82357a_dump_raw_block(const u8 *raw_data, int length)
 {
-       pr_info("hex block dump\n");
        print_hex_dump(KERN_INFO, "", DUMP_PREFIX_NONE, 8, 1, raw_data, length, true);
 }
 
        static const int max_writes = 31;
 
        if (num_writes > max_writes) {
-               dev_err(&usb_dev->dev, "%s: bug! num_writes=%i too large\n", __func__, num_writes);
+               dev_err(&usb_dev->dev, "bug! num_writes=%i too large\n", num_writes);
                return -EIO;
        }
        out_data_length = num_writes * bytes_per_write + header_length;
                out_data[i++] = writes[j].address;
                out_data[i++] = writes[j].value;
        }
-       if (i > out_data_length)
-               dev_err(&usb_dev->dev, "%s: bug! buffer overrun\n", __func__);
+
        retval = mutex_lock_interruptible(&a_priv->bulk_transfer_lock);
        if (retval) {
                kfree(out_data);
        retval = agilent_82357a_send_bulk_msg(a_priv, out_data, i, &bytes_written, 1000);
        kfree(out_data);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_send_bulk_msg returned %i, bytes_written=%i, i=%i\n",
-                       __func__, retval, bytes_written, i);
+               dev_err(&usb_dev->dev, "send_bulk_msg returned %i, bytes_written=%i, i=%i\n",
+                       retval, bytes_written, i);
                mutex_unlock(&a_priv->bulk_transfer_lock);
                return retval;
        }
        mutex_unlock(&a_priv->bulk_transfer_lock);
 
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_receive_bulk_msg returned %i, bytes_read=%i\n",
-                       __func__, retval, bytes_read);
+               dev_err(&usb_dev->dev, "receive_bulk_msg returned %i, bytes_read=%i\n",
+                       retval, bytes_read);
                agilent_82357a_dump_raw_block(in_data, bytes_read);
                kfree(in_data);
                return -EIO;
        }
        if (in_data[0] != (0xff & ~DATA_PIPE_CMD_WR_REGS)) {
-               dev_err(&usb_dev->dev, "%s: error, bulk command=0x%x != ~DATA_PIPE_CMD_WR_REGS\n",
-                       __func__, in_data[0]);
+               dev_err(&usb_dev->dev, "bulk command=0x%x != ~DATA_PIPE_CMD_WR_REGS\n", in_data[0]);
                return -EIO;
        }
        if (in_data[1]) {
-               dev_err(&usb_dev->dev, "%s: nonzero error code 0x%x in DATA_PIPE_CMD_WR_REGS response\n",
-                       __func__, in_data[1]);
+               dev_err(&usb_dev->dev, "nonzero error code 0x%x in DATA_PIPE_CMD_WR_REGS response\n",
+                       in_data[1]);
                return -EIO;
        }
        kfree(in_data);
        static const int header_length = 2;
        static const int max_reads = 62;
 
-       if (num_reads > max_reads)
-               dev_err(&usb_dev->dev, "%s: bug! num_reads=%i too large\n", __func__, num_reads);
-
+       if (num_reads > max_reads) {
+               dev_err(&usb_dev->dev, "bug! num_reads=%i too large\n", num_reads);
+               return -EIO;
+       }
        out_data_length = num_reads + header_length;
        out_data = kmalloc(out_data_length, GFP_KERNEL);
        if (!out_data)
        out_data[i++] = num_reads;
        for (j = 0; j < num_reads; j++)
                out_data[i++] = reads[j].address;
-       if (i > out_data_length)
-               dev_err(&usb_dev->dev, "%s: bug! buffer overrun\n", __func__);
+
        if (blocking) {
                retval = mutex_lock_interruptible(&a_priv->bulk_transfer_lock);
                if (retval) {
        retval = agilent_82357a_send_bulk_msg(a_priv, out_data, i, &bytes_written, 1000);
        kfree(out_data);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_send_bulk_msg returned %i, bytes_written=%i, i=%i\n",
-                       __func__, retval, bytes_written, i);
+               dev_err(&usb_dev->dev, "send_bulk_msg returned %i, bytes_written=%i, i=%i\n",
+                       retval, bytes_written, i);
                mutex_unlock(&a_priv->bulk_transfer_lock);
                return retval;
        }
        mutex_unlock(&a_priv->bulk_transfer_lock);
 
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_receive_bulk_msg returned %i, bytes_read=%i\n",
-                       __func__, retval, bytes_read);
+               dev_err(&usb_dev->dev, "receive_bulk_msg returned %i, bytes_read=%i\n",
+                       retval, bytes_read);
                agilent_82357a_dump_raw_block(in_data, bytes_read);
                kfree(in_data);
                return -EIO;
        }
        i = 0;
        if (in_data[i++] != (0xff & ~DATA_PIPE_CMD_RD_REGS)) {
-               dev_err(&usb_dev->dev, "%s: error, bulk command=0x%x != ~DATA_PIPE_CMD_RD_REGS\n",
-                       __func__, in_data[0]);
+               dev_err(&usb_dev->dev, "bulk command=0x%x != ~DATA_PIPE_CMD_RD_REGS\n", in_data[0]);
                return -EIO;
        }
        if (in_data[i++]) {
-               dev_err(&usb_dev->dev, "%s: nonzero error code 0x%x in DATA_PIPE_CMD_RD_REGS response\n",
-                       __func__, in_data[1]);
+               dev_err(&usb_dev->dev, "nonzero error code 0x%x in DATA_PIPE_CMD_RD_REGS response\n",
+                       in_data[1]);
                return -EIO;
        }
        for (j = 0; j < num_reads; j++)
                                                                    wIndex, status_data,
                                                                    status_data_len, 100);
        if (receive_control_retval < 0) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_receive_control_msg() returned %i\n",
-                       __func__, receive_control_retval);
+               dev_err(&usb_dev->dev, "82357a_receive_control_msg() returned %i\n",
+                       receive_control_retval);
                retval = -EIO;
                goto cleanup;
        }
        if (status_data[0] != (~XFER_ABORT & 0xff)) {
-               dev_err(&usb_dev->dev, "%s: error, major code=0x%x != ~XFER_ABORT\n",
-                       __func__, status_data[0]);
+               dev_err(&usb_dev->dev, "major code=0x%x != ~XFER_ABORT\n", status_data[0]);
                retval = -EIO;
                goto cleanup;
        }
                fallthrough;
        case UGP_ERR_FLUSHING_ALREADY:
        default:
-               dev_err(&usb_dev->dev, "%s: abort returned error code=0x%x\n",
-                       __func__, status_data[1]);
+               dev_err(&usb_dev->dev, "abort returned error code=0x%x\n", status_data[1]);
                retval = -EIO;
                break;
        }
        retval = agilent_82357a_send_bulk_msg(a_priv, out_data, i, &bytes_written, msec_timeout);
        kfree(out_data);
        if (retval || bytes_written != i) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_send_bulk_msg returned %i, bytes_written=%i, i=%i\n",
-                       __func__, retval, bytes_written, i);
+               dev_err(&usb_dev->dev, "send_bulk_msg returned %i, bytes_written=%i, i=%i\n",
+                       retval, bytes_written, i);
                mutex_unlock(&a_priv->bulk_transfer_lock);
                if (retval < 0)
                        return retval;
                                                                     &extra_bytes_read, 100);
                bytes_read += extra_bytes_read;
                if (extra_bytes_retval) {
-                       dev_err(&usb_dev->dev, "%s: extra_bytes_retval=%i, bytes_read=%i\n",
-                               __func__, extra_bytes_retval, bytes_read);
+                       dev_err(&usb_dev->dev, "extra_bytes_retval=%i, bytes_read=%i\n",
+                               extra_bytes_retval, bytes_read);
                        agilent_82357a_abort(a_priv, 0);
                }
        } else if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_receive_bulk_msg returned %i, bytes_read=%i\n",
-                       __func__, retval, bytes_read);
+               dev_err(&usb_dev->dev, "receive_bulk_msg returned %i, bytes_read=%i\n",
+                       retval, bytes_read);
                agilent_82357a_abort(a_priv, 0);
        }
        mutex_unlock(&a_priv->bulk_transfer_lock);
        if (bytes_read > length + 1) {
                bytes_read = length + 1;
-               pr_warn("%s: bytes_read > length? truncating", __func__);
+               dev_warn(&usb_dev->dev, "bytes_read > length? truncating");
        }
 
        if (bytes_read >= 1) {
        kfree(out_data);
        if (retval || raw_bytes_written != i) {
                agilent_82357a_abort(a_priv, 0);
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_send_bulk_msg returned %i, raw_bytes_written=%i, i=%i\n",
-                       __func__, retval, raw_bytes_written, i);
+               dev_err(&usb_dev->dev, "send_bulk_msg returned %i, raw_bytes_written=%i, i=%i\n",
+                       retval, raw_bytes_written, i);
                mutex_unlock(&a_priv->bulk_transfer_lock);
                if (retval < 0)
                        return retval;
                                                   &a_priv->interrupt_flags) ||
                                          test_bit(TIMO_NUM, &board->status));
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: wait write complete interrupted\n", __func__);
+               dev_dbg(&usb_dev->dev, "wait write complete interrupted\n");
                agilent_82357a_abort(a_priv, 0);
                mutex_unlock(&a_priv->bulk_transfer_lock);
                return -ERESTARTSYS;
                read_reg.address = BSR;
                retval = agilent_82357a_read_registers(a_priv, &read_reg, 1, 1);
                if (retval) {
-                       dev_err(&usb_dev->dev, "%s: agilent_82357a_read_registers() returned error\n",
-                               __func__);
+                       dev_err(&usb_dev->dev, "read_registers() returned error\n");
                        return -ETIMEDOUT;
                }
 
                        read_reg.address = ADSR;
                        retval = agilent_82357a_read_registers(a_priv, &read_reg, 1, 1);
                        if (retval) {
-                               dev_err(&usb_dev->dev, "%s: agilent_82357a_read_registers() returned error\n",
-                                       __func__);
+                               dev_err(&usb_dev->dev, "read_registers() returned error\n");
                                return -ETIMEDOUT;
                        }
                        adsr = read_reg.value;
                                                    100);
        mutex_unlock(&a_priv->bulk_transfer_lock);
        if (retval < 0) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_receive_control_msg() returned %i\n",
-                       __func__, retval);
+               dev_err(&usb_dev->dev, "receive_control_msg() returned %i\n", retval);
                kfree(status_data);
                return -EIO;
        }
                write.value = AUX_TCA;
        retval = agilent_82357a_write_registers(a_priv, &write, 1);
        if (retval)
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
 
        return retval;
 }
        write.value = AUX_GTS;
        retval = agilent_82357a_write_registers(a_priv, &write, 1);
        if (retval)
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
        return 0;
 }
 
        ++i;
        retval = agilent_82357a_write_registers(a_priv, writes, i);
        if (retval)
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
        return;// retval;
 }
 
        }
        retval = agilent_82357a_write_registers(a_priv, &write, 1);
        if (retval)
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
 }
 
 static void agilent_82357a_remote_enable(gpib_board_t *board, int enable)
                write.value |= AUX_CS;
        retval = agilent_82357a_write_registers(a_priv, &write, 1);
        if (retval)
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
        a_priv->ren_state = enable;
        return;// 0;
 }
 {
        struct agilent_82357a_priv *a_priv = board->private_data;
 
-       if (compare_8_bits == 0) {
-               pr_warn("%s: hardware only supports 8-bit EOS compare", __func__);
+       if (compare_8_bits == 0)
                return -EOPNOTSUPP;
-       }
+
        a_priv->eos_char = eos_byte;
        a_priv->eos_mode = REOS | BIN;
        return 0;
        retval = agilent_82357a_read_registers(a_priv, &address_status, 1, 0);
        if (retval) {
                if (retval != -EAGAIN)
-                       dev_err(&usb_dev->dev, "%s: agilent_82357a_read_registers() returned error\n",
-                               __func__);
+                       dev_err(&usb_dev->dev, "read_registers() returned error\n");
                return board->status;
        }
        // check for remote/local
        retval = agilent_82357a_read_registers(a_priv, &bus_status, 1, 0);
        if (retval) {
                if (retval != -EAGAIN)
-                       dev_err(&usb_dev->dev, "%s: agilent_82357a_read_registers() returned error\n",
-                               __func__);
+                       dev_err(&usb_dev->dev, "read_registers() returned error\n");
                return board->status;
        }
        if (bus_status.value & BSR_SRQ_BIT)
        write.value = address & ADDRESS_MASK;
        retval = agilent_82357a_write_registers(a_priv, &write, 1);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
                return retval;
        }
        return retval;
 static int agilent_82357a_secondary_address(gpib_board_t *board, unsigned int address, int enable)
 {
        if (enable)
-               pr_warn("%s: warning: assigning a secondary address not supported\n", __func__);
-       return  -EOPNOTSUPP;
+               return  -EOPNOTSUPP;
+       return 0;
 }
 
 static int agilent_82357a_parallel_poll(gpib_board_t *board, uint8_t *result)
        writes[1].value = a_priv->hw_control_bits & ~NOT_PARALLEL_POLL;
        retval = agilent_82357a_write_registers(a_priv, writes, 2);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
                return retval;
        }
        udelay(2);      //silly, since usb write will take way longer
        read.address = CPTR;
        retval = agilent_82357a_read_registers(a_priv, &read, 1, 1);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_read_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "read_registers() returned error\n");
                return retval;
        }
        *result = read.value;
        writes[1].value = AUX_RPP;
        retval = agilent_82357a_write_registers(a_priv, writes, 2);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
                return retval;
        }
        return 0;
        retval = agilent_82357a_read_registers(a_priv, &bus_status, 1, 0);
        if (retval) {
                if (retval != -EAGAIN)
-                       dev_err(&usb_dev->dev, "%s: agilent_82357a_read_registers() returned error\n",
-                               __func__);
+                       dev_err(&usb_dev->dev, "read_registers() returned error\n");
                return retval;
        }
        if (bus_status.value & BSR_REN_BIT)
        write.value = nanosec_to_fast_talker_bits(&nanosec);
        retval = agilent_82357a_write_registers(a_priv, &write, 1);
        if (retval)
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
        return nanosec;
 }
 
        default: /* other error, resubmit */
                retval = usb_submit_urb(a_priv->interrupt_urb, GFP_ATOMIC);
                if (retval)
-                       dev_err(&usb_dev->dev, "%s: failed to resubmit interrupt urb\n", __func__);
+                       dev_err(&usb_dev->dev, "failed to resubmit interrupt urb\n");
                return;
        }
 
 
        retval = usb_submit_urb(a_priv->interrupt_urb, GFP_ATOMIC);
        if (retval)
-               dev_err(&usb_dev->dev, "%s: failed to resubmit interrupt urb\n", __func__);
+               dev_err(&usb_dev->dev, "failed to resubmit interrupt urb\n");
 }
 
 static int agilent_82357a_setup_urbs(gpib_board_t *board)
        if (retval) {
                usb_free_urb(a_priv->interrupt_urb);
                a_priv->interrupt_urb = NULL;
-               dev_err(&usb_dev->dev, "%s: failed to submit first interrupt urb, retval=%i\n",
-                       __func__, retval);
+               dev_err(&usb_dev->dev, "failed to submit first interrupt urb, retval=%i\n", retval);
                goto setup_exit;
        }
        mutex_unlock(&a_priv->interrupt_alloc_lock);
 {
        kfree(board->private_data);
        board->private_data = NULL;
-
 }
 
+#define INIT_NUM_REG_WRITES 18
 static int agilent_82357a_init(gpib_board_t *board)
 {
        struct agilent_82357a_priv *a_priv = board->private_data;
        struct usb_device *usb_dev = interface_to_usbdev(a_priv->bus_interface);
        struct agilent_82357a_register_pairlet hw_control;
-       struct agilent_82357a_register_pairlet writes[0x20];
+       struct agilent_82357a_register_pairlet writes[INIT_NUM_REG_WRITES];
        int retval;
-       int i;
        unsigned int nanosec;
 
-       i = 0;
-       writes[i].address = LED_CONTROL;
-       writes[i].value = FAIL_LED_ON;
-       ++i;
-       writes[i].address = RESET_TO_POWERUP;
-       writes[i].value = RESET_SPACEBALL;
-       ++i;
-       retval = agilent_82357a_write_registers(a_priv, writes, i);
+       writes[0].address = LED_CONTROL;
+       writes[0].value = FAIL_LED_ON;
+       writes[1].address = RESET_TO_POWERUP;
+       writes[1].value = RESET_SPACEBALL;
+       retval = agilent_82357a_write_registers(a_priv, writes, 2);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
                return -EIO;
        }
        set_current_state(TASK_INTERRUPTIBLE);
        if (schedule_timeout(usec_to_jiffies(2000)))
                return -ERESTARTSYS;
-       i = 0;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_NBAF;
-       ++i;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_HLDE;
-       ++i;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_TON;
-       ++i;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_LON;
-       ++i;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_RSV2;
-       ++i;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_INVAL;
-       ++i;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_RPP;
-       ++i;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_STDL;
-       ++i;
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_VSTDL;
-       ++i;
-       writes[i].address = FAST_TALKER_T1;
+       writes[0].address = AUXCR;
+       writes[0].value = AUX_NBAF;
+       writes[1].address = AUXCR;
+       writes[1].value = AUX_HLDE;
+       writes[2].address = AUXCR;
+       writes[2].value = AUX_TON;
+       writes[3].address = AUXCR;
+       writes[3].value = AUX_LON;
+       writes[4].address = AUXCR;
+       writes[4].value = AUX_RSV2;
+       writes[5].address = AUXCR;
+       writes[5].value = AUX_INVAL;
+       writes[6].address = AUXCR;
+       writes[6].value = AUX_RPP;
+       writes[7].address = AUXCR;
+       writes[7].value = AUX_STDL;
+       writes[8].address = AUXCR;
+       writes[8].value = AUX_VSTDL;
+       writes[9].address = FAST_TALKER_T1;
        nanosec = board->t1_nano_sec;
-       writes[i].value = nanosec_to_fast_talker_bits(&nanosec);
+       writes[9].value = nanosec_to_fast_talker_bits(&nanosec);
        board->t1_nano_sec = nanosec;
-       ++i;
-       writes[i].address = ADR;
-       writes[i].value = board->pad & ADDRESS_MASK;
-       ++i;
-       writes[i].address = PPR;
-       writes[i].value = 0;
-       ++i;
-       writes[i].address = SPMR;
-       writes[i].value = 0;
-       ++i;
-       writes[i].address = PROTOCOL_CONTROL;
-       writes[i].value = WRITE_COMPLETE_INTERRUPT_EN;
-       ++i;
-       writes[i].address = IMR0;
-       writes[i].value = HR_BOIE | HR_BIIE;
-       ++i;
-       writes[i].address = IMR1;
-       writes[i].value = HR_SRQIE;
-       ++i;
+       writes[10].address = ADR;
+       writes[10].value = board->pad & ADDRESS_MASK;
+       writes[11].address = PPR;
+       writes[11].value = 0;
+       writes[12].address = SPMR;
+       writes[12].value = 0;
+       writes[13].address = PROTOCOL_CONTROL;
+       writes[13].value = WRITE_COMPLETE_INTERRUPT_EN;
+       writes[14].address = IMR0;
+       writes[14].value = HR_BOIE | HR_BIIE;
+       writes[15].address = IMR1;
+       writes[15].value = HR_SRQIE;
        // turn off reset state
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_CHIP_RESET;
-       ++i;
-       writes[i].address = LED_CONTROL;
-       writes[i].value = FIRMWARE_LED_CONTROL;
-       ++i;
-       if (i > ARRAY_SIZE(writes)) {
-               dev_err(&usb_dev->dev, "%s: bug! writes[] overflow\n", __func__);
-               return -EFAULT;
-       }
-       retval = agilent_82357a_write_registers(a_priv, writes, i);
+       writes[16].address = AUXCR;
+       writes[16].value = AUX_CHIP_RESET;
+       writes[17].address = LED_CONTROL;
+       writes[17].value = FIRMWARE_LED_CONTROL;
+       retval = agilent_82357a_write_registers(a_priv, writes, INIT_NUM_REG_WRITES);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
                return -EIO;
        }
        hw_control.address = HW_CONTROL;
        retval = agilent_82357a_read_registers(a_priv, &hw_control, 1, 1);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_read_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "read_registers() returned error\n");
                return -EIO;
        }
        a_priv->hw_control_bits = (hw_control.value & ~0x7) | NOT_TI_RESET | NOT_PARALLEL_POLL;
        }
        if (i == MAX_NUM_82357A_INTERFACES) {
                dev_err(board->gpib_dev,
-                       "No Agilent 82357 gpib adapters found, have you loaded its firmware?\n");
+                       "No supported adapters found, have you loaded its firmware?\n");
                retval = -ENODEV;
                goto attach_fail;
        }
                goto attach_fail;
        }
 
-       dev_info(&usb_dev->dev,
-                "bus %d dev num %d attached to gpib minor %d, agilent usb interface %i\n",
+       dev_info(&usb_dev->dev, "bus %d dev num %d attached to gpib%d, interface %i\n",
                 usb_dev->bus->busnum, usb_dev->devnum, board->minor, i);
        mutex_unlock(&agilent_82357a_hotplug_lock);
        return retval;
        struct usb_device *usb_dev = interface_to_usbdev(a_priv->bus_interface);
        struct agilent_82357a_register_pairlet writes[0x20];
        int retval;
-       int i;
 
-       i = 0;
        // turn on tms9914 reset state
-       writes[i].address = AUXCR;
-       writes[i].value = AUX_CS | AUX_CHIP_RESET;
-       ++i;
+       writes[0].address = AUXCR;
+       writes[0].value = AUX_CS | AUX_CHIP_RESET;
        a_priv->hw_control_bits &= ~NOT_TI_RESET;
-       writes[i].address = HW_CONTROL;
-       writes[i].value = a_priv->hw_control_bits;
-       ++i;
-       writes[i].address = PROTOCOL_CONTROL;
-       writes[i].value = 0;
-       ++i;
-       writes[i].address = IMR0;
-       writes[i].value = 0;
-       ++i;
-       writes[i].address = IMR1;
-       writes[i].value = 0;
-       ++i;
-       writes[i].address = LED_CONTROL;
-       writes[i].value = 0;
-       ++i;
-       if (i > ARRAY_SIZE(writes)) {
-               dev_err(&usb_dev->dev, "%s: bug! writes[] overflow\n", __func__);
-               return -EFAULT;
-       }
-       retval = agilent_82357a_write_registers(a_priv, writes, i);
+       writes[1].address = HW_CONTROL;
+       writes[1].value = a_priv->hw_control_bits;
+       writes[2].address = PROTOCOL_CONTROL;
+       writes[2].value = 0;
+       writes[3].address = IMR0;
+       writes[3].value = 0;
+       writes[4].address = IMR1;
+       writes[4].value = 0;
+       writes[5].address = LED_CONTROL;
+       writes[5].value = 0;
+       retval = agilent_82357a_write_registers(a_priv, writes, 6);
        if (retval) {
-               dev_err(&usb_dev->dev, "%s: agilent_82357a_write_registers() returned error\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "write_registers() returned error\n");
                return -EIO;
        }
        return 0;
                agilent_82357a_release_urbs(a_priv);
                agilent_82357a_free_private(board);
        }
-       dev_info(board->gpib_dev, "%s: detached\n", __func__);
        mutex_unlock(&agilent_82357a_hotplug_lock);
 }
 
        if (i == MAX_NUM_82357A_INTERFACES) {
                usb_put_dev(usb_dev);
                mutex_unlock(&agilent_82357a_hotplug_lock);
-               dev_err(&usb_dev->dev, "%s: out of space in agilent_82357a_driver_interfaces[]\n",
-                       __func__);
+               dev_err(&usb_dev->dev, "out of space in agilent_82357a_driver_interfaces[]\n");
                return -1;
        }
        path = kmalloc(path_length, GFP_KERNEL);
                                        mutex_unlock(&a_priv->control_alloc_lock);
                                }
                        }
-                       dev_dbg(&usb_dev->dev, "nulled agilent_82357a_driver_interfaces[%i]\n", i);
                        agilent_82357a_driver_interfaces[i] = NULL;
                        break;
                }
        }
        if (i == MAX_NUM_82357A_INTERFACES)
-               dev_err(&usb_dev->dev, "unable to find interface in agilent_82357a_driver_interfaces[]? bug?\n");
+               dev_err(&usb_dev->dev, "unable to find interface - bug?\n");
        usb_put_dev(usb_dev);
 
        mutex_unlock(&agilent_82357a_hotplug_lock);
                                        agilent_82357a_abort(a_priv, 0);
                                        retval = agilent_82357a_go_idle(board);
                                        if (retval) {
-                                               dev_err(&usb_dev->dev, "%s: failed to go idle, retval=%i\n",
-                                                       __func__, retval);
+                                               dev_err(&usb_dev->dev, "failed to go idle, retval=%i\n",
+                                                       retval);
                                                mutex_unlock(&agilent_82357a_hotplug_lock);
                                                return retval;
                                        }
                                        mutex_lock(&a_priv->interrupt_alloc_lock);
                                        agilent_82357a_cleanup_urbs(a_priv);
                                        mutex_unlock(&a_priv->interrupt_alloc_lock);
-                                       dev_info(&usb_dev->dev,
-                                                "bus %d dev num %d  gpib minor %d, agilent usb interface %i suspended\n",
-                                                usb_dev->bus->busnum, usb_dev->devnum,
-                                                board->minor, i);
+                                       dev_dbg(&usb_dev->dev,
+                                               "bus %d dev num %d gpib %d, interface %i suspended\n",
+                                               usb_dev->bus->busnum, usb_dev->devnum,
+                                               board->minor, i);
                                }
                        }
                        break;
                        mutex_lock(&a_priv->interrupt_alloc_lock);
                        retval = usb_submit_urb(a_priv->interrupt_urb, GFP_KERNEL);
                        if (retval) {
-                               dev_err(&usb_dev->dev, "%s: failed to resubmit interrupt urb, retval=%i\n",
-                                       __func__, retval);
+                               dev_err(&usb_dev->dev, "failed to resubmit interrupt urb in resume, retval=%i\n",
+                                       retval);
                                mutex_unlock(&a_priv->interrupt_alloc_lock);
                                mutex_unlock(&agilent_82357a_hotplug_lock);
                                return retval;
                // assert/unassert REN
                agilent_82357a_remote_enable(board, a_priv->ren_state);
 
-               dev_info(&usb_dev->dev,
-                        "bus %d dev num %d  gpib minor %d, agilent usb interface %i resumed\n",
-                        usb_dev->bus->busnum, usb_dev->devnum, board->minor, i);
+               dev_dbg(&usb_dev->dev,
+                       "bus %d dev num %d gpib%d, interface %i resumed\n",
+                       usb_dev->bus->busnum, usb_dev->devnum, board->minor, i);
        }
 
 resume_exit:
 }
 
 static struct usb_driver agilent_82357a_bus_driver = {
-       .name = "agilent_82357a_gpib",
+       .name = DRV_NAME,
        .probe = agilent_82357a_driver_probe,
        .disconnect = agilent_82357a_driver_disconnect,
        .suspend = agilent_82357a_driver_suspend,
        int i;
        int ret;
 
-       pr_info("agilent_82357a_gpib driver loading");
        for (i = 0; i < MAX_NUM_82357A_INTERFACES; ++i)
                agilent_82357a_driver_interfaces[i] = NULL;
 
        ret = usb_register(&agilent_82357a_bus_driver);
        if (ret) {
-               pr_err("agilent_82357a: usb_register failed: error = %d\n", ret);
+               pr_err("usb_register failed: error = %d\n", ret);
                return ret;
        }
 
        ret = gpib_register_driver(&agilent_82357a_gpib_interface, THIS_MODULE);
        if (ret) {
-               pr_err("agilent_82357a: gpib_register_driver failed: error = %d\n", ret);
+               pr_err("gpib_register_driver failed: error = %d\n", ret);
                usb_deregister(&agilent_82357a_bus_driver);
                return ret;
        }
 
 static void __exit agilent_82357a_exit_module(void)
 {
-       pr_info("agilent_82357a_gpib driver unloading");
        gpib_unregister_driver(&agilent_82357a_gpib_interface);
        usb_deregister(&agilent_82357a_bus_driver);
 }