_cdebbuf *cdb = capi_cmsg2str(&s_cmsg);
 
                if (cdb) {
-                       printk(KERN_DEBUG "%s: applid=%d %s\n", __FUNCTION__,
+                       printk(KERN_DEBUG "%s: applid=%d %s\n", __func__,
                                ap->applid, cdb->buf);
                        cdebbuf_free(cdb);
                } else
                        printk(KERN_DEBUG "%s: applid=%d %s not traced\n",
-                               __FUNCTION__, ap->applid,
+                               __func__, ap->applid,
                                capi_cmd2str(s_cmsg.Command, s_cmsg.Subcommand));
        }
        if (s_cmsg.Command == CAPI_DATA_B3
 
 #include <linux/isdn/capilli.h>
 
 #define DBG(format, arg...) do { \
-printk(KERN_DEBUG "%s: " format "\n" , __FUNCTION__ , ## arg); \
+printk(KERN_DEBUG "%s: " format "\n" , __func__ , ## arg); \
 } while (0)
 
 struct capilib_msgidqueue {
 
        if (card)
                card->register_appl(card, applid, rparam);
        else
-               printk(KERN_WARNING "%s: cannot get card resources\n", __FUNCTION__);
+               printk(KERN_WARNING "%s: cannot get card resources\n", __func__);
 }
 
 
                printk(KERN_DEBUG "kcapi: notify up contr %d\n", contr);
        }
        if (!card) {
-               printk(KERN_WARNING "%s: invalid contr %d\n", __FUNCTION__, contr);
+               printk(KERN_WARNING "%s: invalid contr %d\n", __func__, contr);
                return;
        }
        for (applid = 1; applid <= CAPI_MAXAPPL; applid++) {
 
 
 #ifdef KCAPI_DEBUG
 #define DBG(format, arg...) do { \
-printk(KERN_DEBUG "%s: " format "\n" , __FUNCTION__ , ## arg); \
+printk(KERN_DEBUG "%s: " format "\n" , __func__ , ## arg); \
 } while (0)
 #else
 #define DBG(format, arg...) /* */
 
                                        err = pnp_activate_dev(pnp_d);
                                        if (err<0) {
                                                printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                                       __FUNCTION__, err);
+                                                       __func__, err);
                                                return(0);
                                        }
                                        card->para[1] = pnp_port_start(pnp_d, 0);
 
                        err = pnp_activate_dev(pnp_avm_d);
                        if (err<0) {
                                printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                       __FUNCTION__, err);
+                                       __func__, err);
                                return(0);
                        }
                        cs->hw.avm.cfg_reg =
 
                                err = pnp_activate_dev(pnp_d);
                                if (err<0) {
                                        printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                               __FUNCTION__, err);
+                                               __func__, err);
                                        return(0);
                                }
                                card->para[1] = pnp_port_start(pnp_d, 0);
 
                                        err = pnp_activate_dev(pnp_d);
                                        if (err<0) {
                                                printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                                       __FUNCTION__, err);
+                                                       __func__, err);
                                                return(0);
                                        }
                                        card->para[1] = pnp_port_start(pnp_d, 0);
 
                                        err = pnp_activate_dev(pnp_d);
                                        if (err<0) {
                                                printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                                       __FUNCTION__, err);
+                                                       __func__, err);
                                                return(0);
                                        }
                                        card->para[1] = pnp_port_start(pnp_d, 0);
 
        if (status) {
                printk(KERN_INFO
                       "HFC-S USB: %s error resubmitting URB fifo(%d)\n",
-                      __FUNCTION__, fifon);
+                      __func__, fifon);
        }
 }
 
                                stop_isoc_chain(&context->fifos[i]);
                                DBG(HFCUSB_DBG_INIT,
                                    "HFC-S USB: %s stopping ISOC chain Fifo(%i)",
-                                   __FUNCTION__, i);
+                                   __func__, i);
                        }
                } else {
                        if (context->fifos[i].active > 0) {
                                context->fifos[i].active = 0;
                                DBG(HFCUSB_DBG_INIT,
                                    "HFC-S USB: %s unlinking URB for Fifo(%i)",
-                                   __FUNCTION__, i);
+                                   __func__, i);
                        }
                        usb_kill_urb(context->fifos[i].urb);
                        usb_free_urb(context->fifos[i].urb);
 
                                        err = pnp_activate_dev(pnp_d);
                                        if (err<0) {
                                                printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                                       __FUNCTION__, err);
+                                                       __func__, err);
                                                return(0);
                                        }
                                        card->para[1] = pnp_port_start(pnp_d, 0);
 
 
 #define DBG(level, format, arg...) do { \
 if (level & __debug_variable) \
-printk(KERN_DEBUG "%s: " format "\n" , __FUNCTION__ , ## arg); \
+printk(KERN_DEBUG "%s: " format "\n" , __func__ , ## arg); \
 } while (0)
 
 #define DBG_PACKET(level,data,count) \
-  if (level & __debug_variable) dump_packet(__FUNCTION__,data,count)
+  if (level & __debug_variable) dump_packet(__func__,data,count)
 
 #define DBG_SKB(level,skb) \
-  if ((level & __debug_variable) && skb) dump_packet(__FUNCTION__,skb->data,skb->len)
+  if ((level & __debug_variable) && skb) dump_packet(__func__,skb->data,skb->len)
 
 
 static void __attribute__((unused))
 
        pnp_disable_dev(pdev);
        retval = pnp_activate_dev(pdev);
        if (retval < 0) {
-               printk(KERN_WARNING "%s: pnp_activate_dev(%s) ret(%d)\n", __FUNCTION__,
+               printk(KERN_WARNING "%s: pnp_activate_dev(%s) ret(%d)\n", __func__,
                        (char *)dev_id->driver_data, retval);
                goto err_free;
        }
 
                                        err = pnp_activate_dev(pnp_d);
                                        if (err<0) {
                                                printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                                       __FUNCTION__, err);
+                                                       __func__, err);
                                                return(0);
                                        }
                                        card->para[1] = pnp_port_start(pnp_d, 0);
 
                        err = pnp_activate_dev(pnp_d);
                        if (err < 0) {
                                printk(KERN_WARNING "%s: pnp_activate_dev "
-                                       "ret(%d)\n", __FUNCTION__, err);
+                                       "ret(%d)\n", __func__, err);
                                return 0;
                        }
                        card->para[1] = pnp_port_start(pnp_d, 0);
 
                                err = pnp_activate_dev(pnp_d);
                                if (err<0) {
                                        printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                               __FUNCTION__, err);
+                                               __func__, err);
                                        return(0);
                                }
                                card->para[1] = pnp_port_start(pnp_d, 0);
 
 #define L1_EVENT_COUNT (EV_TIMER3 + 1)
 
 #define ERR(format, arg...) \
-printk(KERN_ERR "%s:%s: " format "\n" , __FILE__,  __FUNCTION__ , ## arg)
+printk(KERN_ERR "%s:%s: " format "\n" , __FILE__,  __func__ , ## arg)
 
 #define WARN(format, arg...) \
-printk(KERN_WARNING "%s:%s: " format "\n" , __FILE__,  __FUNCTION__ , ## arg)
+printk(KERN_WARNING "%s:%s: " format "\n" , __FILE__,  __func__ , ## arg)
 
 #define INFO(format, arg...) \
-printk(KERN_INFO "%s:%s: " format "\n" , __FILE__,  __FUNCTION__ , ## arg)
+printk(KERN_INFO "%s:%s: " format "\n" , __FILE__,  __func__ , ## arg)
 
 #include "isdnhdlc.h"
 #include "fsm.h"
 
 /*
  * Submit an URB with error reporting. This is a macro so
- * the __FUNCTION__ returns the caller function name.
+ * the __func__ returns the caller function name.
  */
 #define SUBMIT_URB(urb, mem_flags) \
 ({ \
 #ifdef CONFIG_HISAX_DEBUG
 
 #define DBG_ISO_PACKET(level,urb) \
-  if (level & __debug_variable) dump_iso_packet(__FUNCTION__,urb)
+  if (level & __debug_variable) dump_iso_packet(__func__,urb)
 
 static void __attribute__((unused))
 dump_iso_packet(const char *name, struct urb *urb)
 
                                        err = pnp_activate_dev(pnp_d);
                                        if (err<0) {
                                                printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)\n",
-                                                       __FUNCTION__, err);
+                                                       __func__, err);
                                                return(0);
                                        }
                                        card->para[3] = pnp_port_start(pnp_d, 2);
 
 
        if ((di < 0) || (ch < 0)) {
                printk(KERN_WARNING "%s: called with invalid drv(%d) or channel(%d)\n",
-                       __FUNCTION__, di, ch);
+                       __func__, di, ch);
                return;
        }
        for (i = 0; i < ISDN_MAX_CHANNELS; i++)
 
 
        lp = nd->queue;
 //     printk(KERN_DEBUG "%s: lp:%s(%p) nlp:%s(%p) last(%p)\n",
-//             __FUNCTION__, lp->name, lp, nlp->name, nlp, lp->last);
+//             __func__, lp->name, lp, nlp->name, nlp, lp->last);
        nlp->last = lp->last;
        lp->last->next = nlp;
        lp->last = nlp;
                master_lp = (isdn_net_local *) lp->master->priv;
 
 //     printk(KERN_DEBUG "%s: lp:%s(%p) mlp:%s(%p) last(%p) next(%p) mndq(%p)\n",
-//             __FUNCTION__, lp->name, lp, master_lp->name, master_lp, lp->last, lp->next, master_lp->netdev->queue);
+//             __func__, lp->name, lp, master_lp->name, master_lp, lp->last, lp->next, master_lp->netdev->queue);
        spin_lock_irqsave(&master_lp->netdev->queue_lock, flags);
        lp->last->next = lp->next;
        lp->next->last = lp->last;
        }
        lp->next = lp->last = lp;       /* (re)set own pointers */
 //     printk(KERN_DEBUG "%s: mndq(%p)\n",
-//             __FUNCTION__, master_lp->netdev->queue);
+//             __func__, master_lp->netdev->queue);
        spin_unlock_irqrestore(&master_lp->netdev->queue_lock, flags);
 }
 
 
 
        if (lp->ppp_slot < 0 || lp->ppp_slot >= ISDN_MAX_CHANNELS) {
                printk(KERN_ERR "%s: ppp_slot(%d) out of range\n",
-                       __FUNCTION__, lp->ppp_slot);
+                       __func__, lp->ppp_slot);
                return 0;
        }
 
 #endif /* CONFIG_ISDN_MPP */
        if (lp->ppp_slot < 0 || lp->ppp_slot >= ISDN_MAX_CHANNELS) {
                printk(KERN_ERR "%s: ppp_slot(%d) now invalid\n",
-                       __FUNCTION__, lp->ppp_slot);
+                       __func__, lp->ppp_slot);
                return 0;
        }
        is = ippp_table[lp->ppp_slot];
 {
        if (lp->ppp_slot < 0 || lp->ppp_slot >= ISDN_MAX_CHANNELS) {
                printk(KERN_ERR "%s: ppp_slot(%d) out of range\n",
-                       __FUNCTION__, lp->ppp_slot);
+                       __func__, lp->ppp_slot);
                return;
        }
        ippp_table[lp->ppp_slot]->state = IPPP_OPEN | IPPP_CONNECT | IPPP_NOBLOCK;
 
        if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
                printk(KERN_ERR "%s: slot(%d) out of range\n",
-                       __FUNCTION__, slot);
+                       __func__, slot);
                return 0;
        }
        is = ippp_table[slot];
        is = file->private_data;
 
        if (!is) {
-               printk(KERN_ERR "%s: no file->private_data\n", __FUNCTION__);
+               printk(KERN_ERR "%s: no file->private_data\n", __func__);
                return;
        }
        if (is->debug & 0x1)
                isdn_net_dev *p = is->lp->netdev;
 
                if (!p) {
-                       printk(KERN_ERR "%s: no lp->netdev\n", __FUNCTION__);
+                       printk(KERN_ERR "%s: no lp->netdev\n", __func__);
                        return;
                }
                is->state &= ~IPPP_CONNECT;     /* -> effect: no call of wakeup */
                                printk(KERN_DEBUG "isdn_ppp: VJC_UNCOMP\n");
                        if (net_dev->local->ppp_slot < 0) {
                                printk(KERN_ERR "%s: net_dev->local->ppp_slot(%d) out of range\n",
-                                       __FUNCTION__, net_dev->local->ppp_slot);
+                                       __func__, net_dev->local->ppp_slot);
                                goto drop_packet;
                        }
                        if (slhc_remember(ippp_table[net_dev->local->ppp_slot]->slcomp, skb->data, skb->len) <= 0) {
                                                          skb_old->len);
                                if (net_dev->local->ppp_slot < 0) {
                                        printk(KERN_ERR "%s: net_dev->local->ppp_slot(%d) out of range\n",
-                                               __FUNCTION__, net_dev->local->ppp_slot);
+                                               __func__, net_dev->local->ppp_slot);
                                        goto drop_packet;
                                }
                                pkt_len = slhc_uncompress(ippp_table[net_dev->local->ppp_slot]->slcomp,
 
        if (lp->ppp_slot < 0) {
                printk(KERN_ERR "%s: lp->ppp_slot(%d) out of range\n",
-                       __FUNCTION__, lp->ppp_slot);
+                       __func__, lp->ppp_slot);
                return(-EINVAL);
        }
 
        slot = lp->ppp_slot;
        if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
                printk(KERN_ERR "%s: lp->ppp_slot(%d)\n",
-                       __FUNCTION__, lp->ppp_slot);
+                       __func__, lp->ppp_slot);
                stats->frame_drops++;
                dev_kfree_skb(skb);
                spin_unlock_irqrestore(&mp->lock, flags);
                slot = lpq->ppp_slot;
                if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
                        printk(KERN_ERR "%s: lpq->ppp_slot(%d)\n",
-                               __FUNCTION__, lpq->ppp_slot);
+                               __func__, lpq->ppp_slot);
                } else {
                        u32 lls = ippp_table[slot]->last_link_seqno;
                        if (MP_LT(lls, minseq))
 
        if (lp->ppp_slot < 0 || lp->ppp_slot >= ISDN_MAX_CHANNELS) {
                printk(KERN_ERR "%s: lp->ppp_slot(%d) out of range\n",
-                       __FUNCTION__, lp->ppp_slot);
+                       __func__, lp->ppp_slot);
                return;
        }
        if( MP_FLAGS(from) == (MP_BEGIN_FRAG | MP_END_FRAG) ) {
                lp->ppp_slot);
        if (lp->ppp_slot < 0 || lp->ppp_slot >= ISDN_MAX_CHANNELS) {
                printk(KERN_ERR "%s: lp->ppp_slot(%d) out of range\n",
-                       __FUNCTION__, lp->ppp_slot);
+                       __func__, lp->ppp_slot);
                return;
        }
        is = ippp_table[lp->ppp_slot];
                int slot = ((isdn_net_local *) (lp->master->priv))->ppp_slot;
                if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
                        printk(KERN_ERR "%s: slot(%d) out of range\n",
-                               __FUNCTION__, slot);
+                               __func__, slot);
                        return;
                }       
                mis = ippp_table[slot];
                return;
        if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
                printk(KERN_ERR "%s: lp->ppp_slot(%d) out of range\n",
-                       __FUNCTION__, slot);
+                       __func__, slot);
                return;
        }       
        is = ippp_table[slot];
                slot = ((isdn_net_local *) (lp->master->priv))->ppp_slot;
                if (slot < 0 || slot >= ISDN_MAX_CHANNELS) {
                        printk(KERN_ERR "%s: slot(%d) out of range\n",
-                               __FUNCTION__, slot);
+                               __func__, slot);
                        return;
                }       
                mis = ippp_table[slot];
 
        modem_info *info = (modem_info *) tty->driver_data;
        u_char control, status;
 
-       if (isdn_tty_paranoia_check(info, tty->name, __FUNCTION__))
+       if (isdn_tty_paranoia_check(info, tty->name, __func__))
                return -ENODEV;
        if (tty->flags & (1 << TTY_IO_ERROR))
                return -EIO;
 {
        modem_info *info = (modem_info *) tty->driver_data;
 
-       if (isdn_tty_paranoia_check(info, tty->name, __FUNCTION__))
+       if (isdn_tty_paranoia_check(info, tty->name, __func__))
                return -ENODEV;
        if (tty->flags & (1 << TTY_IO_ERROR))
                return -EIO;
        if (isdn_tty_paranoia_check(info, tty->name, "isdn_tty_open"))
                return -ENODEV;
        if (!try_module_get(info->owner)) {
-               printk(KERN_WARNING "%s: cannot reserve module\n", __FUNCTION__);
+               printk(KERN_WARNING "%s: cannot reserve module\n", __func__);
                return -ENODEV;
        }
 #ifdef ISDN_DEBUG_MODEM_OPEN