bcs->hw.bas = ubc = kmalloc(sizeof(struct bas_bc_state), GFP_KERNEL);
        if (!ubc) {
-               err("could not allocate bas_bc_state");
+               pr_err("out of memory\n");
                return 0;
        }
 
        ubc->isooutdone = ubc->isooutfree = ubc->isooutovfl = NULL;
        ubc->numsub = 0;
        if (!(ubc->isooutbuf = kmalloc(sizeof(struct isowbuf_t), GFP_KERNEL))) {
-               err("could not allocate isochronous output buffer");
+               pr_err("out of memory\n");
                kfree(ubc);
                bcs->hw.bas = NULL;
                return 0;
        struct bas_cardstate *ucs;
 
        cs->hw.bas = ucs = kmalloc(sizeof *ucs, GFP_KERNEL);
-       if (!ucs)
+       if (!ucs) {
+               pr_err("out of memory\n");
                return 0;
+       }
 
        ucs->urb_cmd_in = NULL;
        ucs->urb_cmd_out = NULL;
        /* register this driver with the USB subsystem */
        result = usb_register(&gigaset_usb_driver);
        if (result < 0) {
-               err("usb_register failed (error %d)", -result);
+               pr_err("error %d registering USB driver\n", -result);
                goto error;
        }
 
-       printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n");
+       pr_info(DRIVER_DESC "\n");
        return 0;
 
 error:
 
        } else if ((bcs->skb = dev_alloc_skb(SBUFSIZE + HW_HDR_LEN)) != NULL)
                skb_reserve(bcs->skb, HW_HDR_LEN);
        else {
-               err("could not allocate skb");
+               pr_err("out of memory\n");
                bcs->inputstate |= INS_skip_frame;
        }
 
 
        gig_dbg(DEBUG_INIT, "allocating cs");
        if (!(cs = alloc_cs(drv))) {
-               err("maximum number of devices exceeded");
+               pr_err("maximum number of devices exceeded\n");
                return NULL;
        }
 
        gig_dbg(DEBUG_INIT, "allocating bcs[0..%d]", channels - 1);
        cs->bcs = kmalloc(channels * sizeof(struct bc_state), GFP_KERNEL);
        if (!cs->bcs) {
-               err("out of memory");
+               pr_err("out of memory\n");
                goto error;
        }
        gig_dbg(DEBUG_INIT, "allocating inbuf");
        cs->inbuf = kmalloc(sizeof(struct inbuf_t), GFP_KERNEL);
        if (!cs->inbuf) {
-               err("out of memory");
+               pr_err("out of memory\n");
                goto error;
        }
 
        for (i = 0; i < channels; ++i) {
                gig_dbg(DEBUG_INIT, "setting up bcs[%d].read", i);
                if (!gigaset_initbcs(cs->bcs + i, cs, i)) {
-                       err("could not allocate channel %d data", i);
+                       pr_err("could not allocate channel %d data\n", i);
                        goto error;
                }
        }
 
        gig_dbg(DEBUG_INIT, "setting up iif");
        if (!gigaset_register_to_LL(cs, modulename)) {
-               err("register_isdn failed");
+               pr_err("error registering ISDN device\n");
                goto error;
        }
 
        make_valid(cs, VALID_ID);
        ++cs->cs_init;
        gig_dbg(DEBUG_INIT, "setting up hw");
-       if (!cs->ops->initcshw(cs)) {
-               err("could not allocate device specific data");
+       if (!cs->ops->initcshw(cs))
                goto error;
-       }
 
        ++cs->cs_init;
 
        for (i = 0; i < cs->channels; ++i) {
                gigaset_freebcs(cs->bcs + i);
                if (!gigaset_initbcs(cs->bcs + i, cs, i))
-                       break;                  //FIXME error handling
+                       pr_err("could not allocate channel %d data\n", i);
        }
 
        if (cs->waiting) {
        if (gigaset_debuglevel == 1)
                gigaset_debuglevel = DEBUG_DEFAULT;
 
-       printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n");
+       pr_info(DRIVER_DESC "\n");
        return 0;
 }
 
 
 #ifndef GIGASET_H
 #define GIGASET_H
 
+/* define global prefix for pr_ macros in linux/kernel.h */
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/compiler.h>
 #include <linux/types.h>
                                         activated */
 };
 
-/* Kernel message macros for situations where dev_printk and friends cannot be
- * used for lack of reliable access to a device structure.
- * linux/usb.h already contains these but in an obsolete form which clutters
- * the log needlessly, and according to the USB maintainer those should be
- * removed rather than fixed anyway.
- */
-#undef err
-
-#define err(format, arg...) printk(KERN_ERR KBUILD_MODNAME ": " \
-       format "\n" , ## arg)
-
 #ifdef CONFIG_GIGASET_DEBUG
 
 #define gig_dbg(level, format, arg...) \
 
        unsigned skblen;
 
        if (!(cs = gigaset_get_cs_by_id(driverID))) {
-               err("%s: invalid driver ID (%d)", __func__, driverID);
+               pr_err("%s: invalid driver ID (%d)\n", __func__, driverID);
                return -ENODEV;
        }
        if (channel < 0 || channel >= cs->channels) {
        gigaset_debugdrivers();
 
        if (!cs) {
-               err("%s: invalid driver ID (%d)", __func__, cntrl->driver);
+               pr_err("%s: invalid driver ID (%d)\n", __func__, cntrl->driver);
                return -ENODEV;
        }
 
 
                return -EBUSY;
 
        if (!cs->connected) {
-               err("not connected!");
+               pr_err("%s: not connected\n", __func__);
                return -ENODEV;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return -ENODEV;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return -ENODEV;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return -ENODEV;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return -ENODEV;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return -ENODEV;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return -ENODEV;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return;
        }
 
 
        cs = (struct cardstate *) tty->driver_data;
        if (!cs) {
-               err("cs==NULL in %s", __func__);
+               pr_err("%s: no cardstate\n", __func__);
                return;
        }
 
 
        ret = tty_register_driver(tty);
        if (ret < 0) {
-               err("failed to register tty driver (error %d)", ret);
+               pr_err("error %d registering tty driver\n", ret);
                goto error;
        }
        gig_dbg(DEBUG_IF, "tty driver initialized");
        return;
 
 enomem:
-       err("could not allocate tty structures");
+       pr_err("out of memory\n");
 error:
        if (drv->tty)
                put_tty_driver(drv->tty);
 
                __func__, read, write, limit);
 #ifdef CONFIG_GIGASET_DEBUG
        if (unlikely(size < 0 || size > BAS_OUTBUFPAD)) {
-               err("invalid size %d", size);
+               pr_err("invalid size %d\n", size);
                return -EINVAL;
        }
        src = iwb->read;
        if (unlikely(limit > BAS_OUTBUFSIZE + BAS_OUTBUFPAD ||
                     (read < src && limit >= src))) {
-               err("isoc write buffer frame reservation violated");
+               pr_err("isoc write buffer frame reservation violated\n");
                return -EFAULT;
        }
 #endif
 
        int rc;
 
        if (!(cs->hw.ser = kzalloc(sizeof(struct ser_cardstate), GFP_KERNEL))) {
-               err("%s: out of memory!", __func__);
+               pr_err("out of memory\n");
                return 0;
        }
 
        cs->hw.ser->dev.id = cs->minor_index;
        cs->hw.ser->dev.dev.release = gigaset_device_release;
        if ((rc = platform_device_register(&cs->hw.ser->dev)) != 0) {
-               err("error %d registering platform device", rc);
+               pr_err("error %d registering platform device\n", rc);
                kfree(cs->hw.ser);
                cs->hw.ser = NULL;
                return 0;
 
        gig_dbg(DEBUG_INIT, "Starting HLL for Gigaset M101");
 
-       printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n");
+       pr_info(DRIVER_DESC "\n");
 
        if (!driver) {
-               err("%s: no driver structure", __func__);
+               pr_err("%s: no driver structure\n", __func__);
                return -ENODEV;
        }
 
        tty->disc_data = NULL;
 
        if (!cs->hw.ser)
-               err("%s: no hw cardstate", __func__);
+               pr_err("%s: no hw cardstate\n", __func__);
        else {
                /* wait for running methods to finish */
                if (!atomic_dec_and_test(&cs->hw.ser->refcnt))
 
        gig_dbg(DEBUG_INIT, "%s", __func__);
        if ((rc = platform_driver_register(&device_driver)) != 0) {
-               err("error %d registering platform driver", rc);
+               pr_err("error %d registering platform driver\n", rc);
                return rc;
        }
 
                goto error;
 
        if ((rc = tty_register_ldisc(N_GIGASET_M101, &gigaset_ldisc)) != 0) {
-               err("error %d registering line discipline", rc);
+               pr_err("error %d registering line discipline\n", rc);
                goto error;
        }
 
        }
 
        if ((rc = tty_unregister_ldisc(N_GIGASET_M101)) != 0)
-               err("error %d unregistering line discipline", rc);
+               pr_err("error %d unregistering line discipline\n", rc);
 
        platform_driver_unregister(&device_driver);
 }
 
        spin_lock_irqsave(&cs->lock, flags);
        if (!cs->connected) {
                spin_unlock_irqrestore(&cs->lock, flags);
-               err("%s: disconnected", __func__);
+               pr_err("%s: disconnected\n", __func__);
                return;
        }
        r = usb_submit_urb(urb, GFP_ATOMIC);
 
        spin_lock_irqsave(&cs->lock, flags);
        if (!cs->connected) {
-               err("%s: not connected", __func__);
+               pr_err("%s: disconnected\n", __func__);
        } else {
                cs->hw.usb->busy = 0;
                tasklet_schedule(&cs->write_tasklet);
 
        cs->hw.usb = ucs =
                kmalloc(sizeof(struct usb_cardstate), GFP_KERNEL);
-       if (!ucs)
+       if (!ucs) {
+               pr_err("out of memory\n");
                return 0;
+       }
 
        ucs->bchars[0] = 0;
        ucs->bchars[1] = 0;
        /* register this driver with the USB subsystem */
        result = usb_register(&gigaset_usb_driver);
        if (result < 0) {
-               err("usb_gigaset: usb_register failed (error %d)",
-                   -result);
+               pr_err("error %d registering USB driver\n", -result);
                goto error;
        }
 
-       printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_DESC "\n");
+       pr_info(DRIVER_DESC "\n");
        return 0;
 
 error: