get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/818413/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 818413,
    "url": "http://patchwork.ozlabs.org/api/patches/818413/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/e9eb34b7a508fbe3b89bb8b8aa8141f018871081.1506384414.git.alistair.francis@xilinx.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<e9eb34b7a508fbe3b89bb8b8aa8141f018871081.1506384414.git.alistair.francis@xilinx.com>",
    "list_archive_url": null,
    "date": "2017-09-26T00:08:39",
    "name": "[v1,1/8] Replace all occurances of __FUNCTION__ with __func__",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "a6eba512ef633f7113a95c59d3879e579cc15dc1",
    "submitter": {
        "id": 47878,
        "url": "http://patchwork.ozlabs.org/api/people/47878/?format=api",
        "name": "Alistair Francis",
        "email": "alistair.francis@xilinx.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/e9eb34b7a508fbe3b89bb8b8aa8141f018871081.1506384414.git.alistair.francis@xilinx.com/mbox/",
    "series": [
        {
            "id": 5037,
            "url": "http://patchwork.ozlabs.org/api/series/5037/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=5037",
            "date": "2017-09-26T00:08:34",
            "name": "Remove some of the fprintf(stderr, \"*",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/5037/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/818413/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/818413/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=xilinx.onmicrosoft.com\n\theader.i=@xilinx.onmicrosoft.com header.b=\"wqfBRnCc\"; \n\tdkim-atps=neutral",
            "spf=pass (sender IP is 149.199.60.100)\n\tsmtp.mailfrom=xilinx.com; lists.xenproject.org; dkim=none (message not\n\tsigned) header.d=none; lists.xenproject.org;\n\tdmarc=bestguesspass action=none header.from=xilinx.com;"
        ],
        "Received": [
            "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y1M764tWTz9t1t\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 10:20:50 +1000 (AEST)",
            "from localhost ([::1]:44938 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dwdcG-0008LV-Pr\n\tfor incoming@patchwork.ozlabs.org; Mon, 25 Sep 2017 20:20:48 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:55852)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dwdVH-0003NJ-TK\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 20:13:45 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dwdV8-0005zD-9m\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 20:13:35 -0400",
            "from mail-sn1nam02on0065.outbound.protection.outlook.com\n\t([104.47.36.65]:38592\n\thelo=NAM02-SN1-obe.outbound.protection.outlook.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <alistai@xilinx.com>)\n\tid 1dwdUU-0005V3-Ol; Mon, 25 Sep 2017 20:12:47 -0400",
            "from BY2PR02CA0007.namprd02.prod.outlook.com\n\t(2a01:111:e400:5261::17) by BY1PR02MB1130.namprd02.prod.outlook.com\n\t(2a01:111:e400:52a7::16) with Microsoft SMTP Server (version=TLS1_2, \n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7;\n\tTue, 26 Sep 2017 00:12:40 +0000",
            "from SN1NAM02FT028.eop-nam02.prod.protection.outlook.com\n\t(2a01:111:f400:7e44::205) by BY2PR02CA0007.outlook.office365.com\n\t(2a01:111:e400:5261::17) with Microsoft SMTP Server (version=TLS1_2, \n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.56.8 via\n\tFrontend Transport; Tue, 26 Sep 2017 00:12:40 +0000",
            "from xsj-pvapsmtpgw02 (149.199.60.100) by\n\tSN1NAM02FT028.mail.protection.outlook.com (10.152.72.105) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.35.14\n\tvia Frontend Transport; Tue, 26 Sep 2017 00:12:39 +0000",
            "from unknown-38-66.xilinx.com ([149.199.38.66]:49782\n\thelo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dwdUM-0001ns-Lm; Mon, 25 Sep 2017 17:12:38 -0700",
            "from [127.0.0.1] (helo=localhost)\n\tby xsj-pvapsmtp01 with smtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dwdUM-0008UU-Jn; Mon, 25 Sep 2017 17:12:38 -0700",
            "from xsj-pvapsmtp01 (xsj-mail.xilinx.com [149.199.38.66])\n\tby xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id\n\tv8Q0CP3P007337; Mon, 25 Sep 2017 17:12:25 -0700",
            "from [172.19.2.220] (helo=localhost.localdomain)\n\tby xsj-pvapsmtp01 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dwdU9-0008TR-KV; Mon, 25 Sep 2017 17:12:25 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=xilinx.onmicrosoft.com; s=selector1-xilinx-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=5j4XC3w5tNgvY2Z2poSSmhgjAOdeMYcL4joAdtWEEN0=;\n\tb=wqfBRnCczp9tePFzPobWDf+qhPhfrqSdDo4ttCba/be4PwR/PxTe7lP1jTo95j7uhoAfGAsxjo8Ke0wlET0j815EDVIywvtGwwb1acDdZsGtW8AZCWx0/TCmPxdbidyTzm7aNbL2LonDer1mL8hwBHLEbFmqR6QiiKE3aHqpt8c=",
        "Received-SPF": "Pass (protection.outlook.com: domain of xilinx.com designates\n\t149.199.60.100 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=149.199.60.100; helo=xsj-pvapsmtpgw02;",
        "From": "Alistair Francis <alistair.francis@xilinx.com>",
        "To": "<qemu-devel@nongnu.org>",
        "Date": "Mon, 25 Sep 2017 17:08:39 -0700",
        "Message-ID": "<e9eb34b7a508fbe3b89bb8b8aa8141f018871081.1506384414.git.alistair.francis@xilinx.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": "<cover.1506384414.git.alistair.francis@xilinx.com>",
        "References": "<cover.1506384414.git.alistair.francis@xilinx.com>",
        "X-RCIS-Action": "ALLOW",
        "X-TM-AS-Product-Ver": "IMSS-7.1.0.1224-8.1.0.1062-23350.005",
        "X-TM-AS-User-Approved-Sender": "Yes;Yes",
        "X-EOPAttributedMessage": "0",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Forefront-Antispam-Report": "CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; \n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(39860400002)(346002)(376002)(2980300002)(438002)(199003)(189002)(2906002)(9786002)(7416002)(5660300001)(6666003)(48376002)(81156014)(8676002)(305945005)(50466002)(575784001)(551934003)(356003)(81166006)(189998001)(36756003)(50226002)(76176999)(8936002)(50986999)(118296001)(77096006)(16200700003)(36386004)(53946003)(5003940100001)(47776003)(39060400002)(4326008)(5890100001)(63266004)(6916009)(54906003)(316002)(2351001)(16586007)(106466001)(2950100002)(8666007)(33646002)(478600001)(107986001)(21314002)(5001870100001)(579004)(559001)(569006);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR02MB1130; H:xsj-pvapsmtpgw02;\n\tFPR:; SPF:Pass; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com;\n\tA:1; MX:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; SN1NAM02FT028;\n\t1:UFyQoOKII0kHOD1gp/yfnM3Mum/YUQFoEotAOMe7NW8YjVwhu+Rt53yl/Ql+a6bZzYnDvoO2soH4qtbd1xmWoWRmWQN+88QDUlfldv3Saap/7PKl3O7VSRxidy7hFHA4",
            "1; BY1PR02MB1130;\n\t3:eWnGj0ubAbgzWEw55iV8xcL2aTeKo7dB/guGplq5S5bnlufekVx0iyXuLmI/lI3WpzFvYAeOzxOpsV+4uIdyxVCv2eqcEAbj6TdKuAarLUn+2cVuvkUxOa6AcSodtVqguI4kVY/ss6b3ac5MPQeJmQ/6N7DcTz3G2sikYarKe12DqErwmw75lRZ0yOAIgEuyiCN6TWPYPUMeVV4Waz0tOmYZXMP2CKtNICma/AiOOEkk1ViiaiLSeqcLfp91NeDCWTY0lt73xBvAFT5aJpkCaS5H1XDz9cJq1XmAT5sH0tza/JA6+aQv/PXAqNAxZjZLS2rJ2C2WmhJNTZmmHO6Jj/+N8rwbU52jxC4wRT9uCeg=;\n\t25:/TWiwSE7T26ODoNCzfO3ud0oiMjdSCyCb4YIo2yAFXyBr8z8tpuEldkANF02tnc9tMkp11s2mx+c8V9tDiZFYFtgmu9oTW9K4X6CFdCFMSiFw69ctRfqLZ7kdDKkW31/rPQ3c0CLCDQTaNdY1TCiuPiARFDaAttauACi8RTs2RG/4I5XfJ+XpJkN4gzbtpYAUC3z5XmxIHoOQ7ZK4eS+R+F6N0dzvsroRb0cjwGG1gNLadP8d2J2UkZkanpICXmscJqz7NT9sUImtSoPy5qnNMhkuxC/3rHoApM/xf/L7j2oHB1HXt7O7LKDmNbXjNV9a61F0+f49+GOV/pSJNQR5A==",
            "1; BY1PR02MB1130;\n\t31:v28v/F6Yw+axwLBQFrRaNbDdSl5T47jKzBTNOe4rpihHtjKQkrn48nqto1Tv7DdW7zsAzd2FFow49kS0jucwTcqdVgHBbgB3VBtCw9qzhiBEk0fANaQ/xkF0YNrNbMLbqsGVl1viN9i0BjswZIkS3MbX5YSpOj0tLaFDyYGA4EZuer/BRgmKFKgXSB+17rAekNVCB9Xd1P0vZ+jbWwQZVoiQZocygKyTMz4YrkKqgjA=;\n\t20:Agh/8lmkC2oETfvbY+6n0vyO4QgjXy8blTl1Y0YwOGvmVM8RlitlDvaoL2YQbV8DYwf06JdGQraxyKiDLIYTpvj2xqW/sFYqgzGlhPxOLZqHHZqXe6s8TrdZhbp+8gMJLYRF/sIceOmdxSP8TaNYWj61AlF87xX/t9SjjkpW1s1iwdk+PrFvalNJE4xP0z5YLoPzbMxhkQoDOkvmFZttRcgSxuY92TBptnffPvrDZO+bHhGCdB7cjsvFf8iMwbiuQ/V44DXKvN3QD48nhsnMb+UKsBlw1OI0Ru5G7RiRdoajW3v3ZbdVCaPD9VbslwgIxs3rWdbIU/On6DB3IURgAWxaBN/LxvqgNGdoF30FlUmJIU87w9ld6e86OMAtds/VX719Wr5aK0pEStGC/5eDGpAlFv15qO3ryWA1VNapohpOUDTZ9vCi30YEyQi6zWLs1nIjAU6EIV/jrCarbElmV/kVSdvMIOkrOatUt0DWeFI9sWICkFDrAqe94C6UCMqW",
            "1; BY1PR02MB1130;\n\t4:ZU3xsdIQhEF4V2dEcBbWxhwn1wqzf20juSGI0MUspXSOMhenfpaq71nDDoVaAXI5+9d9gYD8ovqgXLKQ5YnBQFB+5w3YJ/ZLwuKYuRntOG5uIbOr1pbW3bbCFigRfwIxqvEc4bUOKfn2PU9R8ZNpoodhOwPjTCFKlKuhBscXyYlihFEC13uUr1bApGnug+g/7OWb+/GH/42qJsshmP4NRk7EqQFn+2y2QKO4/yepx+5tv7gc3X7knbtWWoZzzCf1uEHuchlG2CgpO+VDdVIDkJ8/XxprwZZ+YbKOb7Ws7WaNXxtmPF5v/PCJAIhef24mbfh5tptNLCWWcbRnrDcuYZql0TvSr7K+dkive3d5lmcrBymbb5f2osuRzGak82IFj4sRJnTRclO9eADj2QgUug==",
            "=?us-ascii?Q?1; BY1PR02MB1130;\n\t23:ueCeF7tkbZlPK1c0AsnntGq5mFZwlgy47xsK9cm2b?=\n\tHSqr2bmMfHEZzLQyZMPyLrfYwf/Sa5uIhtmINca6AxQzq7cIO0bv+gn1PQ8vHYH4SyJYdsR0XBpPglM9NGK71gzJntGkxPuvDw9isr/VkAk0jbnVEEzaep5kAAvpKJgpDzp0aaXwDu7iJN5BlMgA7YynrXrpvFvpxTDwWDtKb8gx0TjYwHwXuUmvr5SNio3CYTNpOtrBBbP2scCfM7M9oM0wRRWvk+qaqLjMeE5itai5jt5Vtu1ZuJhe50wN7llXpg4X8KRx9tg25SqLhBKexyOufYNIwXwAvabCCma79J7kKv966kP3TeoosH50w83d4TcZwaQXVy5mdKQud+cP13OyGsx6gzNMd3UBpaWadvxtwU2D2yOO8KUDYTi4nClJzrZM5ApF800KwPoDG33eV6FsUYykaitu4YxrDOzu3lZnV9UzLZG+vAMoZPY9DDAeR0/DARYdlUfD+Ypkdmw2OWgReakfoINRdnJ89PS4V6ZDy2589JeOehrVcvumw+u/rXmps1ebN2tHyfMWWzNlKZ3qH8YEHMmHozYvLIQt1gIIQAblUyvZCwLaw6Qd2ang7v0K0zaob7ik9PryoJw7pebrZ4+7pWa7VzW6YLcN5i81GYMI29KP6AXjNPaknM2cDbHsJ45CNrqxel/t0rdCsAjBBYsEPbt+hRmFTtNkKotHggMbmoZIiCeDG/I+IlXHQKZc2CrL2ZM8Ew/zugZvTNRNX7x5lEEKr6swRUnmhxk4qkdtTUtP4dZ7PO8WOYkuGsQ4VbbJTfkhuTCBvLmhsWStpSPkJ0Mxv7er7SbW1Z5vbavp30yqroE8DxpdXj/5m+aDqIZRcJiJsNQT2l0KsFrIgs/Cno2mplALah5SFroslRDNs5MOMxuaj8szGetQ2DYZbKhvoLmdykW/LDS0QkZlmgd3IHaR9zUseokEIqF6JdQ/C+qK1x5/uvJyukMCbg587oT+mMZ3ZOW0BRC/sXyESEIWH1EOVht34jbRmXuC8Q/5LDZfIdzLdEH09klhy2zbyPNAeZ3kjjbVMvZ9vTIkK+k0M0751qUR0aas8rDmN9+CfsL8lIMGgHWcJIZO7vGljpJs0gTGvqOKmMv/yDpt4qYADB4fmjI4h2She+dEfnnNZ9abZjQC069ggDg3/UFq/eTHP4SabWmgV/51OaLiK2fB7PkHtgXcGQhdSR6cLSL2AsodUNbp2L/APTpb0GyFa0gpQz7fiFSAeEhkkMeOqoTVLTJhbb2y8iVWC4w9A==",
            "1; BY1PR02MB1130;\n\t6:IZGnG9VJEQY3JoksiI3Wi8jBlWRcYsgveZY6B4xnr2wW6iB8G6GkaZBFQ93Rz4mgRWL2VYiBNMwnHN727fqMmoVBh1GmwviHn+BEGSANFA5+szXDhBdDpPLacU6n7JwxlQpGSpEqx1rpHhyu8wvJemrd7ysBDcMeouIi7+F4eAie9TwY82vatJtTTqhAW/3vlMbgUTvbOFYLk9b62gs9kKQcjraNpbwqPz3FG6Zje7RbL1/Jiln2FMsffW5cjkY+G6jHw5OkKwGut5h6xqmpNGuAoHLR0apUiEbCG/1wgQq3VrPPk+5fxgnnGPT3Nb9hyZfQUM4FXps+X/FiW2m3XA==;\n\t5:MROt1NChOWP42WGCq+BQIuaH2APLomw9q6is+xE+WVbCZixZIkHnYaXqZLqNNrDh9KLcgbfcLzbzSy1/Pq11/7D2DH21SqCbxzCsEUqTqvQSVQJ3sLovwhgW4oqWd3VPb9+0fAJZ3X10Ug0kJrx98A==;\n\t24:FvO6GhrlMoX3ldvY+lAqgMygkIN4e1/0YfiizM/UUTZWN4NYdH2/1wDnjYGayYR441bLpT5hDEnOen1xviSGtoPuECCA2M8SdJCzJnLCzQY=;\n\t7:E/yJo0e/duSLBfSnvWHyAjHp1a7LTYVWi2uOA3+UWmICTenfdudZfFy2O/LfORDNAqgHM/1imm+ly7dwO5Y3OG6X+LfYR4rcGsCUoL2hg6fVP3k1hcIQDww6u3WOpk4zZS/QE5UwXwFJc9P7Do+ZOhIpjr+X9Vim3zVbBIhtsS49DhO0DDOYcq9cWaobE5fdL0C4up6PrUSb/iXVNqLrKG3FcLcNxJK+kBBK3Es/ZtI="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "4b178fd9-2eba-4ac6-897a-08d504734cf8",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(8251501002)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:BY1PR02MB1130; ",
        "X-MS-TrafficTypeDiagnostic": "BY1PR02MB1130:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(131327999870524)(788757137089)(192813158149592)(70601490899591);",
        "X-Microsoft-Antispam-PRVS": "<BY1PR02MB113080D51AE83725B5FB1E86DC7B0@BY1PR02MB1130.namprd02.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93004095)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123558100)(20161123560025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BY1PR02MB1130; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BY1PR02MB1130; ",
        "X-Forefront-PRVS": "0442E569BC",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "xilinx.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "26 Sep 2017 00:12:39.3305\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "657af505-d5df-48d0-8300-c31994686c5c",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=657af505-d5df-48d0-8300-c31994686c5c; \n\tIp=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BY1PR02MB1130",
        "X-detected-operating-system": "by eggs.gnu.org: Windows 7 or 8 [fuzzy]",
        "X-Received-From": "104.47.36.65",
        "Subject": "[Qemu-devel] [PATCH v1 1/8] Replace all occurances of __FUNCTION__\n\twith __func__",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.21",
        "Precedence": "list",
        "List-Id": "<qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Cc": "\"Dr. David Alan Gilbert\" <dgilbert@redhat.com>,\n\tStefano Stabellini <sstabellini@kernel.org>,\n\tFam Zheng <famz@redhat.com>, qemu-block@nongnu.org,\n\tPeter Crosthwaite <crosthwaite.peter@gmail.com>,\n\tJohn Snow <jsnow@redhat.com>,\n\tJuan Quintela <quintela@redhat.com>, armbru@redhat.com,\n\talistair.francis@xilinx.com,\n\tYongbok Kim <yongbok.kim@imgtec.com>, qemu-arm@nongnu.org,\n\tGerd Hoffmann <kraxel@redhat.com>,\n\tStefan Hajnoczi <stefanha@redhat.com>, xen-devel@lists.xenproject.org,\n\tAnthony Perard <anthony.perard@citrix.com>, alistair23@gmail.com,\n\tAurelien Jarno <aurelien@aurel32.net>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"
    },
    "content": "Replace all occurs of __FUNCTION__ except for the check in checkpatch\nwith the non GCC specific __func__.\n\nOne line in hcd-musb.c was manually tweaked to pass checkpatch.\n\nSigned-off-by: Alistair Francis <alistair.francis@xilinx.com>\nCc: Gerd Hoffmann <kraxel@redhat.com>\nCc: Andrzej Zaborowski <balrogg@gmail.com>\nCc: Stefano Stabellini <sstabellini@kernel.org>\nCc: Anthony Perard <anthony.perard@citrix.com>\nCc: John Snow <jsnow@redhat.com>\nCc: Aurelien Jarno <aurelien@aurel32.net>\nCc: Yongbok Kim <yongbok.kim@imgtec.com>\nCc: Peter Crosthwaite <crosthwaite.peter@gmail.com>\nCc: Stefan Hajnoczi <stefanha@redhat.com> (supporter:Block\nCc: Fam Zheng <famz@redhat.com> (supporter:Block\nCc: Juan Quintela <quintela@redhat.com>\nCc: \"Dr. David Alan Gilbert\" <dgilbert@redhat.com>\nCc: qemu-arm@nongnu.org\nCc: qemu-block@nongnu.org\nCc: xen-devel@lists.xenproject.org\n---\n\n audio/audio_int.h          |  2 +-\n hw/arm/nseries.c           |  2 +-\n hw/arm/omap1.c             | 42 +++++++++++++++++++++---------------------\n hw/arm/omap2.c             | 12 ++++++------\n hw/arm/palm.c              | 14 +++++++-------\n hw/arm/pxa2xx.c            | 46 +++++++++++++++++++++++-----------------------\n hw/arm/pxa2xx_gpio.c       |  6 +++---\n hw/arm/pxa2xx_pic.c        |  4 ++--\n hw/arm/tosa.c              | 10 +++++-----\n hw/audio/hda-codec.c       | 10 +++++-----\n hw/audio/intel-hda.c       | 28 ++++++++++++++--------------\n hw/audio/wm8750.c          |  4 ++--\n hw/block/nand.c            |  4 ++--\n hw/block/onenand.c         |  8 ++++----\n hw/bt/core.c               | 10 +++++-----\n hw/bt/hci-csr.c            | 14 +++++++-------\n hw/bt/hci.c                | 26 +++++++++++++-------------\n hw/bt/hid.c                |  2 +-\n hw/bt/l2cap.c              | 22 +++++++++++-----------\n hw/bt/sdp.c                |  6 +++---\n hw/display/blizzard.c      | 18 +++++++++---------\n hw/display/omap_dss.c      |  6 +++---\n hw/display/pxa2xx_lcd.c    | 14 +++++++-------\n hw/display/qxl-render.c    |  6 +++---\n hw/display/qxl.h           |  2 +-\n hw/display/tc6393xb.c      |  2 +-\n hw/display/xenfb.c         |  2 +-\n hw/dma/omap_dma.c          | 26 +++++++++++++-------------\n hw/dma/pxa2xx_dma.c        | 14 +++++++-------\n hw/gpio/max7310.c          |  8 ++++----\n hw/gpio/omap_gpio.c        |  2 +-\n hw/i2c/omap_i2c.c          |  6 +++---\n hw/ide/ahci.c              |  2 +-\n hw/ide/microdrive.c        |  4 ++--\n hw/input/lm832x.c          |  6 +++---\n hw/input/pxa2xx_keypad.c   |  6 +++---\n hw/input/tsc2005.c         |  8 ++++----\n hw/input/tsc210x.c         |  4 ++--\n hw/intc/omap_intc.c        |  2 +-\n hw/isa/vt82c686.c          |  2 +-\n hw/mips/gt64xxx_pci.c      |  2 +-\n hw/misc/cbus.c             | 12 ++++++------\n hw/misc/omap_clk.c         |  4 ++--\n hw/misc/omap_gpmc.c        |  6 +++---\n hw/misc/omap_l4.c          |  4 ++--\n hw/misc/omap_sdrc.c        |  2 +-\n hw/misc/omap_tap.c         |  6 +++---\n hw/misc/tmp105.c           |  2 +-\n hw/pci-host/bonito.c       |  2 +-\n hw/sd/pxa2xx_mmci.c        |  6 +++---\n hw/ssi/omap_spi.c          |  6 +++---\n hw/timer/omap_gptimer.c    |  6 +++---\n hw/timer/twl92230.c        |  6 +++---\n hw/usb/desc.c              |  2 +-\n hw/usb/dev-bluetooth.c     |  4 ++--\n hw/usb/hcd-musb.c          |  4 ++--\n hw/usb/tusb6010.c          | 14 +++++++-------\n hw/xenpv/xen_domainbuild.c | 16 ++++++++--------\n hw/xenpv/xen_machine_pv.c  |  2 +-\n include/hw/arm/omap.h      | 10 +++++-----\n include/hw/arm/sharpsl.h   |  2 +-\n memory_mapping.c           |  2 +-\n migration/block.c          |  4 ++--\n ui/cursor.c                |  6 +++---\n ui/spice-display.c         |  4 ++--\n 65 files changed, 273 insertions(+), 273 deletions(-)",
    "diff": "diff --git a/audio/audio_int.h b/audio/audio_int.h\nindex 5bcb1c60e1..543b1bd8d5 100644\n--- a/audio/audio_int.h\n+++ b/audio/audio_int.h\n@@ -253,7 +253,7 @@ static inline int audio_ring_dist (int dst, int src, int len)\n #define AUDIO_STRINGIFY(n) AUDIO_STRINGIFY_(n)\n \n #if defined _MSC_VER || defined __GNUC__\n-#define AUDIO_FUNC __FUNCTION__\n+#define AUDIO_FUNC __func__\n #else\n #define AUDIO_FUNC __FILE__ \":\" AUDIO_STRINGIFY (__LINE__)\n #endif\ndiff --git a/hw/arm/nseries.c b/hw/arm/nseries.c\nindex 58005b6619..32687afced 100644\n--- a/hw/arm/nseries.c\n+++ b/hw/arm/nseries.c\n@@ -463,7 +463,7 @@ static uint32_t mipid_txrx(void *opaque, uint32_t cmd, int len)\n     uint8_t ret;\n \n     if (len > 9) {\n-        hw_error(\"%s: FIXME: bad SPI word width %i\\n\", __FUNCTION__, len);\n+        hw_error(\"%s: FIXME: bad SPI word width %i\\n\", __func__, len);\n     }\n \n     if (s->p >= ARRAY_SIZE(s->resp)) {\ndiff --git a/hw/arm/omap1.c b/hw/arm/omap1.c\nindex b3e7625130..1388200191 100644\n--- a/hw/arm/omap1.c\n+++ b/hw/arm/omap1.c\n@@ -999,7 +999,7 @@ static uint64_t omap_id_read(void *opaque, hwaddr addr,\n         case omap1510:\n             return 0x03310115;\n         default:\n-            hw_error(\"%s: bad mpu model\\n\", __FUNCTION__);\n+            hw_error(\"%s: bad mpu model\\n\", __func__);\n         }\n         break;\n \n@@ -1010,7 +1010,7 @@ static uint64_t omap_id_read(void *opaque, hwaddr addr,\n         case omap1510:\n             return 0xfb47002f;\n         default:\n-            hw_error(\"%s: bad mpu model\\n\", __FUNCTION__);\n+            hw_error(\"%s: bad mpu model\\n\", __func__);\n         }\n         break;\n     }\n@@ -1716,7 +1716,7 @@ static void omap_clkm_write(void *opaque, hwaddr addr,\n     case 0x18:\t/* ARM_SYSST */\n         if ((s->clkm.clocking_scheme ^ (value >> 11)) & 7) {\n             s->clkm.clocking_scheme = (value >> 11) & 7;\n-            printf(\"%s: clocking scheme set to %s\\n\", __FUNCTION__,\n+            printf(\"%s: clocking scheme set to %s\\n\", __func__,\n                             clkschemename[s->clkm.clocking_scheme]);\n         }\n         s->clkm.cold_start &= value & 0x3f;\n@@ -2129,14 +2129,14 @@ qemu_irq *omap_mpuio_in_get(struct omap_mpuio_s *s)\n void omap_mpuio_out_set(struct omap_mpuio_s *s, int line, qemu_irq handler)\n {\n     if (line >= 16 || line < 0)\n-        hw_error(\"%s: No GPIO line %i\\n\", __FUNCTION__, line);\n+        hw_error(\"%s: No GPIO line %i\\n\", __func__, line);\n     s->handler[line] = handler;\n }\n \n void omap_mpuio_key(struct omap_mpuio_s *s, int row, int col, int down)\n {\n     if (row >= 5 || row < 0)\n-        hw_error(\"%s: No key %i-%i\\n\", __FUNCTION__, col, row);\n+        hw_error(\"%s: No key %i-%i\\n\", __func__, col, row);\n \n     if (down)\n         s->buttons[row] |= 1 << col;\n@@ -2313,7 +2313,7 @@ void omap_uwire_attach(struct omap_uwire_s *s,\n                 uWireSlave *slave, int chipselect)\n {\n     if (chipselect < 0 || chipselect > 3) {\n-        fprintf(stderr, \"%s: Bad chipselect %i\\n\", __FUNCTION__, chipselect);\n+        fprintf(stderr, \"%s: Bad chipselect %i\\n\", __func__, chipselect);\n         exit(-1);\n     }\n \n@@ -2335,7 +2335,7 @@ static void omap_pwl_update(struct omap_pwl_s *s)\n \n     if (output != s->output) {\n         s->output = output;\n-        printf(\"%s: Backlight now at %i/256\\n\", __FUNCTION__, output);\n+        printf(\"%s: Backlight now at %i/256\\n\", __func__, output);\n     }\n }\n \n@@ -2473,7 +2473,7 @@ static void omap_pwt_write(void *opaque, hwaddr addr,\n     case 0x04:\t/* VRC */\n         if ((value ^ s->vrc) & 1) {\n             if (value & 1)\n-                printf(\"%s: %iHz buzz on\\n\", __FUNCTION__, (int)\n+                printf(\"%s: %iHz buzz on\\n\", __func__, (int)\n                                 /* 1.5 MHz from a 12-MHz or 13-MHz PWT_CLK */\n                                 ((omap_clk_getrate(s->clk) >> 3) /\n                                  /* Pre-multiplexer divider */\n@@ -2490,7 +2490,7 @@ static void omap_pwt_write(void *opaque, hwaddr addr,\n                                  ((value & (1 << 5)) ?  80 : 127) /\n                                  (107 * 55 * 63 * 127)));\n             else\n-                printf(\"%s: silence!\\n\", __FUNCTION__);\n+                printf(\"%s: silence!\\n\", __func__);\n         }\n         s->vrc = value & 0x7f;\n         break;\n@@ -2562,7 +2562,7 @@ static void omap_rtc_alarm_update(struct omap_rtc_s *s)\n {\n     s->alarm_ti = mktimegm(&s->alarm_tm);\n     if (s->alarm_ti == -1)\n-        printf(\"%s: conversion failed\\n\", __FUNCTION__);\n+        printf(\"%s: conversion failed\\n\", __func__);\n }\n \n static uint64_t omap_rtc_read(void *opaque, hwaddr addr,\n@@ -3028,7 +3028,7 @@ static void omap_mcbsp_source_tick(void *opaque)\n     if (!s->rx_rate)\n         return;\n     if (s->rx_req)\n-        printf(\"%s: Rx FIFO overrun\\n\", __FUNCTION__);\n+        printf(\"%s: Rx FIFO overrun\\n\", __func__);\n \n     s->rx_req = s->rx_rate << bps[(s->rcr[0] >> 5) & 7];\n \n@@ -3074,7 +3074,7 @@ static void omap_mcbsp_sink_tick(void *opaque)\n     if (!s->tx_rate)\n         return;\n     if (s->tx_req)\n-        printf(\"%s: Tx FIFO underrun\\n\", __FUNCTION__);\n+        printf(\"%s: Tx FIFO underrun\\n\", __func__);\n \n     s->tx_req = s->tx_rate << bps[(s->xcr[0] >> 5) & 7];\n \n@@ -3176,7 +3176,7 @@ static uint64_t omap_mcbsp_read(void *opaque, hwaddr addr,\n         /* Fall through.  */\n     case 0x02:\t/* DRR1 */\n         if (s->rx_req < 2) {\n-            printf(\"%s: Rx FIFO underrun\\n\", __FUNCTION__);\n+            printf(\"%s: Rx FIFO underrun\\n\", __func__);\n             omap_mcbsp_rx_done(s);\n         } else {\n             s->tx_req -= 2;\n@@ -3282,7 +3282,7 @@ static void omap_mcbsp_writeh(void *opaque, hwaddr addr,\n             if (s->tx_req < 2)\n                 omap_mcbsp_tx_done(s);\n         } else\n-            printf(\"%s: Tx FIFO overrun\\n\", __FUNCTION__);\n+            printf(\"%s: Tx FIFO overrun\\n\", __func__);\n         return;\n \n     case 0x08:\t/* SPCR2 */\n@@ -3297,7 +3297,7 @@ static void omap_mcbsp_writeh(void *opaque, hwaddr addr,\n         s->spcr[0] &= 0x0006;\n         s->spcr[0] |= 0xf8f9 & value;\n         if (value & (1 << 15))\t\t\t\t/* DLB */\n-            printf(\"%s: Digital Loopback mode enable attempt\\n\", __FUNCTION__);\n+            printf(\"%s: Digital Loopback mode enable attempt\\n\", __func__);\n         if (~value & 1) {\t\t\t\t/* RRST */\n             s->spcr[0] &= ~6;\n             s->rx_req = 0;\n@@ -3330,13 +3330,13 @@ static void omap_mcbsp_writeh(void *opaque, hwaddr addr,\n         s->mcr[1] = value & 0x03e3;\n         if (value & 3)\t\t\t\t\t/* XMCM */\n             printf(\"%s: Tx channel selection mode enable attempt\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         return;\n     case 0x1a:\t/* MCR1 */\n         s->mcr[0] = value & 0x03e1;\n         if (value & 1)\t\t\t\t\t/* RMCM */\n             printf(\"%s: Rx channel selection mode enable attempt\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         return;\n     case 0x1c:\t/* RCERA */\n         s->rcer[0] = value & 0xffff;\n@@ -3418,7 +3418,7 @@ static void omap_mcbsp_writew(void *opaque, hwaddr addr,\n             if (s->tx_req < 4)\n                 omap_mcbsp_tx_done(s);\n         } else\n-            printf(\"%s: Tx FIFO overrun\\n\", __FUNCTION__);\n+            printf(\"%s: Tx FIFO overrun\\n\", __func__);\n         return;\n     }\n \n@@ -3536,7 +3536,7 @@ static void omap_lpg_tick(void *opaque)\n         timer_mod(s->tm, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + s->on);\n \n     s->cycle = !s->cycle;\n-    printf(\"%s: LED is %s\\n\", __FUNCTION__, s->cycle ? \"on\" : \"off\");\n+    printf(\"%s: LED is %s\\n\", __func__, s->cycle ? \"on\" : \"off\");\n }\n \n static void omap_lpg_update(struct omap_lpg_s *s)\n@@ -3557,9 +3557,9 @@ static void omap_lpg_update(struct omap_lpg_s *s)\n \n     timer_del(s->tm);\n     if (on == period && s->on < s->period)\n-        printf(\"%s: LED is on\\n\", __FUNCTION__);\n+        printf(\"%s: LED is on\\n\", __func__);\n     else if (on == 0 && s->on)\n-        printf(\"%s: LED is off\\n\", __FUNCTION__);\n+        printf(\"%s: LED is off\\n\", __func__);\n     else if (on && (on != s->on || period != s->period)) {\n         s->cycle = 0;\n         s->on = on;\ndiff --git a/hw/arm/omap2.c b/hw/arm/omap2.c\nindex f5b148881c..b53878b8b9 100644\n--- a/hw/arm/omap2.c\n+++ b/hw/arm/omap2.c\n@@ -1312,7 +1312,7 @@ static void omap_prcm_apll_update(struct omap_prcm_s *s)\n \n     if (mode[0] == 1 || mode[0] == 2 || mode[1] == 1 || mode[1] == 2)\n         fprintf(stderr, \"%s: bad EN_54M_PLL or bad EN_96M_PLL\\n\",\n-                        __FUNCTION__);\n+                        __func__);\n }\n \n static void omap_prcm_dpll_update(struct omap_prcm_s *s)\n@@ -1331,7 +1331,7 @@ static void omap_prcm_dpll_update(struct omap_prcm_s *s)\n     s->dpll_lock = 0;\n     switch (mode) {\n     case 0:\n-        fprintf(stderr, \"%s: bad EN_DPLL\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: bad EN_DPLL\\n\", __func__);\n         break;\n     case 1:\t/* Low-power bypass mode (Default) */\n     case 2:\t/* Fast-relock bypass mode */\n@@ -1358,7 +1358,7 @@ static void omap_prcm_dpll_update(struct omap_prcm_s *s)\n         omap_clk_reparent(core, dpll_x2);\n         break;\n     case 3:\n-        fprintf(stderr, \"%s: bad CORE_CLK_SRC\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: bad CORE_CLK_SRC\\n\", __func__);\n         break;\n     }\n }\n@@ -1628,7 +1628,7 @@ static void omap_prcm_write(void *opaque, hwaddr addr,\n     case 0x500:\t/* CM_CLKEN_PLL */\n         if (value & 0xffffff30)\n             fprintf(stderr, \"%s: write 0s in CM_CLKEN_PLL for \"\n-                            \"future compatibility\\n\", __FUNCTION__);\n+                            \"future compatibility\\n\", __func__);\n         if ((s->clken[9] ^ value) & 0xcc) {\n             s->clken[9] &= ~0xcc;\n             s->clken[9] |= value & 0xcc;\n@@ -1647,7 +1647,7 @@ static void omap_prcm_write(void *opaque, hwaddr addr,\n     case 0x540:\t/* CM_CLKSEL1_PLL */\n         if (value & 0xfc4000d7)\n             fprintf(stderr, \"%s: write 0s in CM_CLKSEL1_PLL for \"\n-                            \"future compatibility\\n\", __FUNCTION__);\n+                            \"future compatibility\\n\", __func__);\n         if ((s->clksel[5] ^ value) & 0x003fff00) {\n             s->clksel[5] = value & 0x03bfff28;\n             omap_prcm_dpll_update(s);\n@@ -1659,7 +1659,7 @@ static void omap_prcm_write(void *opaque, hwaddr addr,\n     case 0x544:\t/* CM_CLKSEL2_PLL */\n         if (value & ~3)\n             fprintf(stderr, \"%s: write 0s in CM_CLKSEL2_PLL[31:2] for \"\n-                            \"future compatibility\\n\", __FUNCTION__);\n+                            \"future compatibility\\n\", __func__);\n         if (s->clksel[6] != (value & 3)) {\n             s->clksel[6] = value & 3;\n             omap_prcm_dpll_update(s);\ndiff --git a/hw/arm/palm.c b/hw/arm/palm.c\nindex a1f55d79b4..285f43709d 100644\n--- a/hw/arm/palm.c\n+++ b/hw/arm/palm.c\n@@ -44,7 +44,7 @@ static void static_write(void *opaque, hwaddr offset, uint64_t value,\n {\n #ifdef SPY\n     printf(\"%s: value %08lx written at \" PA_FMT \"\\n\",\n-                    __FUNCTION__, value, offset);\n+                    __func__, value, offset);\n #endif\n }\n \n@@ -127,11 +127,11 @@ static void palmte_onoff_gpios(void *opaque, int line, int level)\n     switch (line) {\n     case 0:\n         printf(\"%s: current to MMC/SD card %sabled.\\n\",\n-                        __FUNCTION__, level ? \"dis\" : \"en\");\n+                        __func__, level ? \"dis\" : \"en\");\n         break;\n     case 1:\n         printf(\"%s: internal speaker amplifier %s.\\n\",\n-                        __FUNCTION__, level ? \"down\" : \"on\");\n+                        __func__, level ? \"down\" : \"on\");\n         break;\n \n     /* These LCD & Audio output signals have not been identified yet.  */\n@@ -139,12 +139,12 @@ static void palmte_onoff_gpios(void *opaque, int line, int level)\n     case 3:\n     case 4:\n         printf(\"%s: LCD GPIO%i %s.\\n\",\n-                        __FUNCTION__, line - 1, level ? \"high\" : \"low\");\n+                        __func__, line - 1, level ? \"high\" : \"low\");\n         break;\n     case 5:\n     case 6:\n         printf(\"%s: Audio GPIO%i %s.\\n\",\n-                        __FUNCTION__, line - 4, level ? \"high\" : \"low\");\n+                        __func__, line - 4, level ? \"high\" : \"low\");\n         break;\n     }\n }\n@@ -234,7 +234,7 @@ static void palmte_init(MachineState *machine)\n         rom_size = get_image_size(option_rom[0].name);\n         if (rom_size > flash_size) {\n             fprintf(stderr, \"%s: ROM image too big (%x > %x)\\n\",\n-                            __FUNCTION__, rom_size, flash_size);\n+                            __func__, rom_size, flash_size);\n             rom_size = 0;\n         }\n         if (rom_size > 0) {\n@@ -244,7 +244,7 @@ static void palmte_init(MachineState *machine)\n         }\n         if (rom_size < 0) {\n             fprintf(stderr, \"%s: error loading '%s'\\n\",\n-                            __FUNCTION__, option_rom[0].name);\n+                            __func__, option_rom[0].name);\n         }\n     }\n \ndiff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c\nindex cf07234578..078006f390 100644\n--- a/hw/arm/pxa2xx.c\n+++ b/hw/arm/pxa2xx.c\n@@ -107,7 +107,7 @@ static uint64_t pxa2xx_pm_read(void *opaque, hwaddr addr,\n         return s->pm_regs[addr >> 2];\n     default:\n     fail:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n     return 0;\n@@ -139,7 +139,7 @@ static void pxa2xx_pm_write(void *opaque, hwaddr addr,\n             break;\n         }\n \n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n }\n@@ -180,7 +180,7 @@ static uint64_t pxa2xx_cm_read(void *opaque, hwaddr addr,\n         return s->cm_regs[CCCR >> 2] | (3 << 28);\n \n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n     return 0;\n@@ -205,7 +205,7 @@ static void pxa2xx_cm_write(void *opaque, hwaddr addr,\n         break;\n \n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n }\n@@ -410,7 +410,7 @@ static uint64_t pxa2xx_mm_read(void *opaque, hwaddr addr,\n             return s->mm_regs[addr >> 2];\n \n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n     return 0;\n@@ -429,7 +429,7 @@ static void pxa2xx_mm_write(void *opaque, hwaddr addr,\n         }\n \n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n }\n@@ -619,7 +619,7 @@ static uint64_t pxa2xx_ssp_read(void *opaque, hwaddr addr,\n         if (!s->enable)\n             return 0xffffffff;\n         if (s->rx_level < 1) {\n-            printf(\"%s: SSP Rx Underrun\\n\", __FUNCTION__);\n+            printf(\"%s: SSP Rx Underrun\\n\", __func__);\n             return 0xffffffff;\n         }\n         s->rx_level --;\n@@ -636,7 +636,7 @@ static uint64_t pxa2xx_ssp_read(void *opaque, hwaddr addr,\n     case SSACD:\n         return s->ssacd;\n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n     return 0;\n@@ -653,9 +653,9 @@ static void pxa2xx_ssp_write(void *opaque, hwaddr addr,\n         s->sscr[0] = value & 0xc7ffffff;\n         s->enable = value & SSCR0_SSE;\n         if (value & SSCR0_MOD)\n-            printf(\"%s: Attempt to use network mode\\n\", __FUNCTION__);\n+            printf(\"%s: Attempt to use network mode\\n\", __func__);\n         if (s->enable && SSCR0_DSS(value) < 4)\n-            printf(\"%s: Wrong data size: %i bits\\n\", __FUNCTION__,\n+            printf(\"%s: Wrong data size: %i bits\\n\", __func__,\n                             SSCR0_DSS(value));\n         if (!(value & SSCR0_SSE)) {\n             s->sssr = 0;\n@@ -668,7 +668,7 @@ static void pxa2xx_ssp_write(void *opaque, hwaddr addr,\n     case SSCR1:\n         s->sscr[1] = value;\n         if (value & (SSCR1_LBM | SSCR1_EFWR))\n-            printf(\"%s: Attempt to use SSP test mode\\n\", __FUNCTION__);\n+            printf(\"%s: Attempt to use SSP test mode\\n\", __func__);\n         pxa2xx_ssp_fifo_update(s);\n         break;\n \n@@ -728,7 +728,7 @@ static void pxa2xx_ssp_write(void *opaque, hwaddr addr,\n         break;\n \n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n }\n@@ -990,7 +990,7 @@ static uint64_t pxa2xx_rtc_read(void *opaque, hwaddr addr,\n         else\n             return s->last_swcr;\n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n     return 0;\n@@ -1096,7 +1096,7 @@ static void pxa2xx_rtc_write(void *opaque, hwaddr addr,\n         break;\n \n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n     }\n }\n \n@@ -1342,7 +1342,7 @@ static uint64_t pxa2xx_i2c_read(void *opaque, hwaddr addr,\n             s->ibmr = 0;\n         return s->ibmr;\n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n     return 0;\n@@ -1415,7 +1415,7 @@ static void pxa2xx_i2c_write(void *opaque, hwaddr addr,\n         break;\n \n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n     }\n }\n \n@@ -1616,7 +1616,7 @@ static uint64_t pxa2xx_i2s_read(void *opaque, hwaddr addr,\n         }\n         return 0;\n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n     return 0;\n@@ -1639,14 +1639,14 @@ static void pxa2xx_i2s_write(void *opaque, hwaddr addr,\n             s->status &= ~(1 << 7);\t\t\t/* I2SOFF */\n         }\n         if (value & (1 << 4))\t\t\t\t/* EFWR */\n-            printf(\"%s: Attempt to use special function\\n\", __FUNCTION__);\n+            printf(\"%s: Attempt to use special function\\n\", __func__);\n         s->enable = (value & 9) == 1;\t\t\t/* ENB && !RST*/\n         pxa2xx_i2s_update(s);\n         break;\n     case SACR1:\n         s->control[1] = value & 0x0039;\n         if (value & (1 << 5))\t\t\t\t/* ENLBF */\n-            printf(\"%s: Attempt to use loopback function\\n\", __FUNCTION__);\n+            printf(\"%s: Attempt to use loopback function\\n\", __func__);\n         if (value & (1 << 4))\t\t\t\t/* DPRL */\n             s->fifo_len = 0;\n         pxa2xx_i2s_update(s);\n@@ -1673,7 +1673,7 @@ static void pxa2xx_i2s_write(void *opaque, hwaddr addr,\n         }\n         break;\n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n     }\n }\n \n@@ -1849,7 +1849,7 @@ static uint64_t pxa2xx_fir_read(void *opaque, hwaddr addr,\n             pxa2xx_fir_update(s);\n             return ret;\n         }\n-        printf(\"%s: Rx FIFO underrun.\\n\", __FUNCTION__);\n+        printf(\"%s: Rx FIFO underrun.\\n\", __func__);\n         break;\n     case ICSR0:\n         return s->status[0];\n@@ -1858,7 +1858,7 @@ static uint64_t pxa2xx_fir_read(void *opaque, hwaddr addr,\n     case ICFOR:\n         return s->rx_len;\n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n         break;\n     }\n     return 0;\n@@ -1910,7 +1910,7 @@ static void pxa2xx_fir_write(void *opaque, hwaddr addr,\n     case ICFOR:\n         break;\n     default:\n-        printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n+        printf(\"%s: Bad register \" REG_FMT \"\\n\", __func__, addr);\n     }\n }\n \ndiff --git a/hw/arm/pxa2xx_gpio.c b/hw/arm/pxa2xx_gpio.c\nindex 521dbad039..e15070188e 100644\n--- a/hw/arm/pxa2xx_gpio.c\n+++ b/hw/arm/pxa2xx_gpio.c\n@@ -107,7 +107,7 @@ static void pxa2xx_gpio_set(void *opaque, int line, int level)\n     uint32_t mask;\n \n     if (line >= s->lines) {\n-        printf(\"%s: No GPIO pin %i\\n\", __FUNCTION__, line);\n+        printf(\"%s: No GPIO pin %i\\n\", __func__, line);\n         return;\n     }\n \n@@ -195,7 +195,7 @@ static uint64_t pxa2xx_gpio_read(void *opaque, hwaddr offset,\n         return s->status[bank];\n \n     default:\n-        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __func__, offset);\n     }\n \n     return 0;\n@@ -248,7 +248,7 @@ static void pxa2xx_gpio_write(void *opaque, hwaddr offset,\n         break;\n \n     default:\n-        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __func__, offset);\n     }\n }\n \ndiff --git a/hw/arm/pxa2xx_pic.c b/hw/arm/pxa2xx_pic.c\nindex b516ced8c0..61275fa040 100644\n--- a/hw/arm/pxa2xx_pic.c\n+++ b/hw/arm/pxa2xx_pic.c\n@@ -165,7 +165,7 @@ static uint64_t pxa2xx_pic_mem_read(void *opaque, hwaddr offset,\n     case ICHP:\t/* Highest Priority register */\n         return pxa2xx_pic_highest(s);\n     default:\n-        printf(\"%s: Bad register offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        printf(\"%s: Bad register offset \" REG_FMT \"\\n\", __func__, offset);\n         return 0;\n     }\n }\n@@ -198,7 +198,7 @@ static void pxa2xx_pic_mem_write(void *opaque, hwaddr offset,\n         s->priority[32 + ((offset - IPR32) >> 2)] = value & 0x8000003f;\n         break;\n     default:\n-        printf(\"%s: Bad register offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        printf(\"%s: Bad register offset \" REG_FMT \"\\n\", __func__, offset);\n         return;\n     }\n     pxa2xx_pic_update(opaque);\ndiff --git a/hw/arm/tosa.c b/hw/arm/tosa.c\nindex 044796350a..a55b1a369c 100644\n--- a/hw/arm/tosa.c\n+++ b/hw/arm/tosa.c\n@@ -159,7 +159,7 @@ static int tosa_dac_send(I2CSlave *i2c, uint8_t data)\n     s->buf[s->len] = data;\n     if (s->len ++ > 2) {\n #ifdef VERBOSE\n-        fprintf(stderr, \"%s: message too long (%i bytes)\\n\", __FUNCTION__, s->len);\n+        fprintf(stderr, \"%s: message too long (%i bytes)\\n\", __func__, s->len);\n #endif\n         return 1;\n     }\n@@ -181,14 +181,14 @@ static int tosa_dac_event(I2CSlave *i2c, enum i2c_event event)\n     case I2C_START_SEND:\n         break;\n     case I2C_START_RECV:\n-        printf(\"%s: recv not supported!!!\\n\", __FUNCTION__);\n+        printf(\"%s: recv not supported!!!\\n\", __func__);\n         break;\n     case I2C_FINISH:\n #ifdef VERBOSE\n         if (s->len < 2)\n-            printf(\"%s: message too short (%i bytes)\\n\", __FUNCTION__, s->len);\n+            printf(\"%s: message too short (%i bytes)\\n\", __func__, s->len);\n         if (s->len > 2)\n-            printf(\"%s: message too long\\n\", __FUNCTION__);\n+            printf(\"%s: message too long\\n\", __func__);\n #endif\n         break;\n     default:\n@@ -200,7 +200,7 @@ static int tosa_dac_event(I2CSlave *i2c, enum i2c_event event)\n \n static int tosa_dac_recv(I2CSlave *s)\n {\n-    printf(\"%s: recv not supported!!!\\n\", __FUNCTION__);\n+    printf(\"%s: recv not supported!!!\\n\", __func__);\n     return -1;\n }\n \ndiff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c\nindex 5402cd196c..e8aa7842e6 100644\n--- a/hw/audio/hda-codec.c\n+++ b/hw/audio/hda-codec.c\n@@ -316,7 +316,7 @@ static void hda_audio_command(HDACodecDevice *hda, uint32_t nid, uint32_t data)\n         goto fail;\n     }\n     dprint(a, 2, \"%s: nid %d (%s), verb 0x%x, payload 0x%x\\n\",\n-           __FUNCTION__, nid, node->name, verb, payload);\n+           __func__, nid, node->name, verb, payload);\n \n     switch (verb) {\n     /* all nodes */\n@@ -449,7 +449,7 @@ static void hda_audio_command(HDACodecDevice *hda, uint32_t nid, uint32_t data)\n \n fail:\n     dprint(a, 1, \"%s: not handled: nid %d (%s), verb 0x%x, payload 0x%x\\n\",\n-           __FUNCTION__, nid, node ? node->name : \"?\", verb, payload);\n+           __func__, nid, node ? node->name : \"?\", verb, payload);\n     hda_codec_response(hda, true, 0);\n }\n \n@@ -484,7 +484,7 @@ static int hda_audio_init(HDACodecDevice *hda, const struct desc_codec *desc)\n \n     a->desc = desc;\n     a->name = object_get_typename(OBJECT(a));\n-    dprint(a, 1, \"%s: cad %d\\n\", __FUNCTION__, a->hda.cad);\n+    dprint(a, 1, \"%s: cad %d\\n\", __func__, a->hda.cad);\n \n     AUD_register_card(\"hda\", &a->card);\n     for (i = 0; i < a->desc->nnodes; i++) {\n@@ -526,7 +526,7 @@ static void hda_audio_exit(HDACodecDevice *hda)\n     HDAAudioStream *st;\n     int i;\n \n-    dprint(a, 1, \"%s\\n\", __FUNCTION__);\n+    dprint(a, 1, \"%s\\n\", __func__);\n     for (i = 0; i < ARRAY_SIZE(a->st); i++) {\n         st = a->st + i;\n         if (st->node == NULL) {\n@@ -547,7 +547,7 @@ static int hda_audio_post_load(void *opaque, int version)\n     HDAAudioStream *st;\n     int i;\n \n-    dprint(a, 1, \"%s\\n\", __FUNCTION__);\n+    dprint(a, 1, \"%s\\n\", __func__);\n     if (version == 1) {\n         /* assume running_compat[] is for output streams */\n         for (i = 0; i < ARRAY_SIZE(a->running_compat); i++)\ndiff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c\nindex 18a50a8f83..ed51177b15 100644\n--- a/hw/audio/intel-hda.c\n+++ b/hw/audio/intel-hda.c\n@@ -265,7 +265,7 @@ static void intel_hda_update_irq(IntelHDAState *d)\n     } else {\n         level = 0;\n     }\n-    dprint(d, 2, \"%s: level %d [%s]\\n\", __FUNCTION__,\n+    dprint(d, 2, \"%s: level %d [%s]\\n\", __func__,\n            level, msi ? \"msi\" : \"intx\");\n     if (msi) {\n         if (level) {\n@@ -285,7 +285,7 @@ static int intel_hda_send_command(IntelHDAState *d, uint32_t verb)\n     cad = (verb >> 28) & 0x0f;\n     if (verb & (1 << 27)) {\n         /* indirect node addressing, not specified in HDA 1.0 */\n-        dprint(d, 1, \"%s: indirect node addressing (guest bug?)\\n\", __FUNCTION__);\n+        dprint(d, 1, \"%s: indirect node addressing (guest bug?)\\n\", __func__);\n         return -1;\n     }\n     nid = (verb >> 20) & 0x7f;\n@@ -293,7 +293,7 @@ static int intel_hda_send_command(IntelHDAState *d, uint32_t verb)\n \n     codec = hda_codec_find(&d->codecs, cad);\n     if (codec == NULL) {\n-        dprint(d, 1, \"%s: addressed non-existing codec\\n\", __FUNCTION__);\n+        dprint(d, 1, \"%s: addressed non-existing codec\\n\", __func__);\n         return -1;\n     }\n     cdc = HDA_CODEC_DEVICE_GET_CLASS(codec);\n@@ -307,22 +307,22 @@ static void intel_hda_corb_run(IntelHDAState *d)\n     uint32_t rp, verb;\n \n     if (d->ics & ICH6_IRS_BUSY) {\n-        dprint(d, 2, \"%s: [icw] verb 0x%08x\\n\", __FUNCTION__, d->icw);\n+        dprint(d, 2, \"%s: [icw] verb 0x%08x\\n\", __func__, d->icw);\n         intel_hda_send_command(d, d->icw);\n         return;\n     }\n \n     for (;;) {\n         if (!(d->corb_ctl & ICH6_CORBCTL_RUN)) {\n-            dprint(d, 2, \"%s: !run\\n\", __FUNCTION__);\n+            dprint(d, 2, \"%s: !run\\n\", __func__);\n             return;\n         }\n         if ((d->corb_rp & 0xff) == d->corb_wp) {\n-            dprint(d, 2, \"%s: corb ring empty\\n\", __FUNCTION__);\n+            dprint(d, 2, \"%s: corb ring empty\\n\", __func__);\n             return;\n         }\n         if (d->rirb_count == d->rirb_cnt) {\n-            dprint(d, 2, \"%s: rirb count reached\\n\", __FUNCTION__);\n+            dprint(d, 2, \"%s: rirb count reached\\n\", __func__);\n             return;\n         }\n \n@@ -331,7 +331,7 @@ static void intel_hda_corb_run(IntelHDAState *d)\n         verb = ldl_le_pci_dma(&d->pci, addr + 4*rp);\n         d->corb_rp = rp;\n \n-        dprint(d, 2, \"%s: [rp 0x%x] verb 0x%08x\\n\", __FUNCTION__, rp, verb);\n+        dprint(d, 2, \"%s: [rp 0x%x] verb 0x%08x\\n\", __func__, rp, verb);\n         intel_hda_send_command(d, verb);\n     }\n }\n@@ -345,7 +345,7 @@ static void intel_hda_response(HDACodecDevice *dev, bool solicited, uint32_t res\n \n     if (d->ics & ICH6_IRS_BUSY) {\n         dprint(d, 2, \"%s: [irr] response 0x%x, cad 0x%x\\n\",\n-               __FUNCTION__, response, dev->cad);\n+               __func__, response, dev->cad);\n         d->irr = response;\n         d->ics &= ~(ICH6_IRS_BUSY | 0xf0);\n         d->ics |= (ICH6_IRS_VALID | (dev->cad << 4));\n@@ -353,7 +353,7 @@ static void intel_hda_response(HDACodecDevice *dev, bool solicited, uint32_t res\n     }\n \n     if (!(d->rirb_ctl & ICH6_RBCTL_DMA_EN)) {\n-        dprint(d, 1, \"%s: rirb dma disabled, drop codec response\\n\", __FUNCTION__);\n+        dprint(d, 1, \"%s: rirb dma disabled, drop codec response\\n\", __func__);\n         return;\n     }\n \n@@ -365,17 +365,17 @@ static void intel_hda_response(HDACodecDevice *dev, bool solicited, uint32_t res\n     d->rirb_wp = wp;\n \n     dprint(d, 2, \"%s: [wp 0x%x] response 0x%x, extra 0x%x\\n\",\n-           __FUNCTION__, wp, response, ex);\n+           __func__, wp, response, ex);\n \n     d->rirb_count++;\n     if (d->rirb_count == d->rirb_cnt) {\n-        dprint(d, 2, \"%s: rirb count reached (%d)\\n\", __FUNCTION__, d->rirb_count);\n+        dprint(d, 2, \"%s: rirb count reached (%d)\\n\", __func__, d->rirb_count);\n         if (d->rirb_ctl & ICH6_RBCTL_IRQ_EN) {\n             d->rirb_sts |= ICH6_RBSTS_IRQ;\n             intel_hda_update_irq(d);\n         }\n     } else if ((d->corb_rp & 0xff) == d->corb_wp) {\n-        dprint(d, 2, \"%s: corb ring empty (%d/%d)\\n\", __FUNCTION__,\n+        dprint(d, 2, \"%s: corb ring empty (%d/%d)\\n\", __func__,\n                d->rirb_count, d->rirb_cnt);\n         if (d->rirb_ctl & ICH6_RBCTL_IRQ_EN) {\n             d->rirb_sts |= ICH6_RBSTS_IRQ;\n@@ -1144,7 +1144,7 @@ static int intel_hda_post_load(void *opaque, int version)\n     IntelHDAState* d = opaque;\n     int i;\n \n-    dprint(d, 1, \"%s\\n\", __FUNCTION__);\n+    dprint(d, 1, \"%s\\n\", __func__);\n     for (i = 0; i < ARRAY_SIZE(d->st); i++) {\n         if (d->st[i].ctl & 0x02) {\n             intel_hda_parse_bdl(d, &d->st[i]);\ndiff --git a/hw/audio/wm8750.c b/hw/audio/wm8750.c\nindex d2bf2e1da1..de04d8ae8f 100644\n--- a/hw/audio/wm8750.c\n+++ b/hw/audio/wm8750.c\n@@ -315,7 +315,7 @@ static int wm8750_event(I2CSlave *i2c, enum i2c_event event)\n #ifdef VERBOSE\n         if (s->i2c_len < 2)\n             printf(\"%s: message too short (%i bytes)\\n\",\n-                            __FUNCTION__, s->i2c_len);\n+                            __func__, s->i2c_len);\n #endif\n         break;\n     default:\n@@ -555,7 +555,7 @@ static int wm8750_tx(I2CSlave *i2c, uint8_t data)\n \n #ifdef VERBOSE\n     default:\n-        printf(\"%s: unknown register %02x\\n\", __FUNCTION__, cmd);\n+        printf(\"%s: unknown register %02x\\n\", __func__, cmd);\n #endif\n     }\n \ndiff --git a/hw/block/nand.c b/hw/block/nand.c\nindex 0d33ac281f..5bc1829889 100644\n--- a/hw/block/nand.c\n+++ b/hw/block/nand.c\n@@ -321,7 +321,7 @@ static void nand_command(NANDFlashState *s)\n         break;\n \n     default:\n-        printf(\"%s: Unknown NAND command 0x%02x\\n\", __FUNCTION__, s->cmd);\n+        printf(\"%s: Unknown NAND command 0x%02x\\n\", __func__, s->cmd);\n     }\n }\n \n@@ -638,7 +638,7 @@ DeviceState *nand_init(BlockBackend *blk, int manf_id, int chip_id)\n     DeviceState *dev;\n \n     if (nand_flash_ids[chip_id].size == 0) {\n-        hw_error(\"%s: Unsupported NAND chip ID.\\n\", __FUNCTION__);\n+        hw_error(\"%s: Unsupported NAND chip ID.\\n\", __func__);\n     }\n     dev = DEVICE(object_new(TYPE_NAND));\n     qdev_prop_set_uint8(dev, \"manufacturer_id\", manf_id);\ndiff --git a/hw/block/onenand.c b/hw/block/onenand.c\nindex b7423607d9..224daf7ccf 100644\n--- a/hw/block/onenand.c\n+++ b/hw/block/onenand.c\n@@ -661,12 +661,12 @@ static uint64_t onenand_read(void *opaque, hwaddr addr,\n     case 0xff02:\t/* ECC Result of spare area data */\n     case 0xff03:\t/* ECC Result of main area data */\n     case 0xff04:\t/* ECC Result of spare area data */\n-        hw_error(\"%s: imeplement ECC\\n\", __FUNCTION__);\n+        hw_error(\"%s: imeplement ECC\\n\", __func__);\n         return 0x0000;\n     }\n \n     fprintf(stderr, \"%s: unknown OneNAND register %x\\n\",\n-                    __FUNCTION__, offset);\n+                    __func__, offset);\n     return 0;\n }\n \n@@ -711,7 +711,7 @@ static void onenand_write(void *opaque, hwaddr addr,\n \n         default:\n             fprintf(stderr, \"%s: unknown OneNAND boot command %\"PRIx64\"\\n\",\n-                            __FUNCTION__, value);\n+                            __func__, value);\n         }\n         break;\n \n@@ -762,7 +762,7 @@ static void onenand_write(void *opaque, hwaddr addr,\n \n     default:\n         fprintf(stderr, \"%s: unknown OneNAND register %x\\n\",\n-                        __FUNCTION__, offset);\n+                        __func__, offset);\n     }\n }\n \ndiff --git a/hw/bt/core.c b/hw/bt/core.c\nindex 615f0af073..c1806b71a3 100644\n--- a/hw/bt/core.c\n+++ b/hw/bt/core.c\n@@ -32,23 +32,23 @@ static void bt_dummy_lmp_connection_complete(struct bt_link_s *link)\n {\n     if (link->slave->reject_reason)\n         fprintf(stderr, \"%s: stray LMP_not_accepted received, fixme\\n\",\n-                        __FUNCTION__);\n+                        __func__);\n     else\n         fprintf(stderr, \"%s: stray LMP_accepted received, fixme\\n\",\n-                        __FUNCTION__);\n+                        __func__);\n     exit(-1);\n }\n \n static void bt_dummy_lmp_disconnect_master(struct bt_link_s *link)\n {\n-    fprintf(stderr, \"%s: stray LMP_detach received, fixme\\n\", __FUNCTION__);\n+    fprintf(stderr, \"%s: stray LMP_detach received, fixme\\n\", __func__);\n     exit(-1);\n }\n \n static void bt_dummy_lmp_acl_resp(struct bt_link_s *link,\n                 const uint8_t *data, int start, int len)\n {\n-    fprintf(stderr, \"%s: stray ACL response PDU, fixme\\n\", __FUNCTION__);\n+    fprintf(stderr, \"%s: stray ACL response PDU, fixme\\n\", __func__);\n     exit(-1);\n }\n \n@@ -113,7 +113,7 @@ void bt_device_done(struct bt_device_s *dev)\n     while (*p && *p != dev)\n         p = &(*p)->next;\n     if (*p != dev) {\n-        fprintf(stderr, \"%s: bad bt device \\\"%s\\\"\\n\", __FUNCTION__,\n+        fprintf(stderr, \"%s: bad bt device \\\"%s\\\"\\n\", __func__,\n                         dev->lmp_name ?: \"(null)\");\n         exit(-1);\n     }\ndiff --git a/hw/bt/hci-csr.c b/hw/bt/hci-csr.c\nindex d13192b9b5..ac067b81f6 100644\n--- a/hw/bt/hci-csr.c\n+++ b/hw/bt/hci-csr.c\n@@ -111,14 +111,14 @@ static uint8_t *csrhci_out_packet(struct csrhci_s *s, int len)\n \n     if (off < FIFO_LEN) {\n         if (off + len > FIFO_LEN && (s->out_size = off + len) > FIFO_LEN * 2) {\n-            fprintf(stderr, \"%s: can't alloc %i bytes\\n\", __FUNCTION__, len);\n+            fprintf(stderr, \"%s: can't alloc %i bytes\\n\", __func__, len);\n             exit(-1);\n         }\n         return s->outfifo + off;\n     }\n \n     if (s->out_len > s->out_size) {\n-        fprintf(stderr, \"%s: can't alloc %i bytes\\n\", __FUNCTION__, len);\n+        fprintf(stderr, \"%s: can't alloc %i bytes\\n\", __func__, len);\n         exit(-1);\n     }\n \n@@ -169,7 +169,7 @@ static void csrhci_in_packet_vendor(struct csrhci_s *s, int ocf,\n \n             s->hci->bdaddr_set(s->hci, s->bd_addr.b);\n             fprintf(stderr, \"%s: bd_address loaded from firmware: \"\n-                            \"%02x:%02x:%02x:%02x:%02x:%02x\\n\", __FUNCTION__,\n+                            \"%02x:%02x:%02x:%02x:%02x:%02x\\n\", __func__,\n                             s->bd_addr.b[0], s->bd_addr.b[1], s->bd_addr.b[2],\n                             s->bd_addr.b[3], s->bd_addr.b[4], s->bd_addr.b[5]);\n         }\n@@ -181,7 +181,7 @@ static void csrhci_in_packet_vendor(struct csrhci_s *s, int ocf,\n         break;\n \n     default:\n-        fprintf(stderr, \"%s: got a bad CMD packet\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: got a bad CMD packet\\n\", __func__);\n         return;\n     }\n \n@@ -226,7 +226,7 @@ static void csrhci_in_packet(struct csrhci_s *s, uint8_t *pkt)\n     case H4_NEG_PKT:\n         if (s->in_hdr != sizeof(csrhci_neg_packet) ||\n                         memcmp(pkt - 1, csrhci_neg_packet, s->in_hdr)) {\n-            fprintf(stderr, \"%s: got a bad NEG packet\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: got a bad NEG packet\\n\", __func__);\n             return;\n         }\n         pkt += 2;\n@@ -241,7 +241,7 @@ static void csrhci_in_packet(struct csrhci_s *s, uint8_t *pkt)\n \n     case H4_ALIVE_PKT:\n         if (s->in_hdr != 4 || pkt[1] != 0x55 || pkt[2] != 0x00) {\n-            fprintf(stderr, \"%s: got a bad ALIVE packet\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: got a bad ALIVE packet\\n\", __func__);\n             return;\n         }\n \n@@ -254,7 +254,7 @@ static void csrhci_in_packet(struct csrhci_s *s, uint8_t *pkt)\n     default:\n     bad_pkt:\n         /* TODO: error out */\n-        fprintf(stderr, \"%s: got a bad packet\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: got a bad packet\\n\", __func__);\n         break;\n     }\n \ndiff --git a/hw/bt/hci.c b/hw/bt/hci.c\nindex 476ebec0ab..df05f07887 100644\n--- a/hw/bt/hci.c\n+++ b/hw/bt/hci.c\n@@ -458,7 +458,7 @@ static inline uint8_t *bt_hci_event_start(struct bt_hci_s *hci,\n \n     if (len > 255) {\n         fprintf(stderr, \"%s: HCI event params too long (%ib)\\n\",\n-                        __FUNCTION__, len);\n+                        __func__, len);\n         exit(-1);\n     }\n \n@@ -589,7 +589,7 @@ static void bt_hci_inquiry_result(struct bt_hci_s *hci,\n         bt_hci_inquiry_result_with_rssi(hci, slave);\n         return;\n     default:\n-        fprintf(stderr, \"%s: bad inquiry mode %02x\\n\", __FUNCTION__,\n+        fprintf(stderr, \"%s: bad inquiry mode %02x\\n\", __func__,\n                         hci->lm.inquiry_mode);\n         exit(-1);\n     }\n@@ -1528,7 +1528,7 @@ static void bt_submit_hci(struct HCIInfo *info,\n                             \"the Inquiry command has been issued, a Command \"\n                             \"Status event has been received for the Inquiry \"\n                             \"command, and before the Inquiry Complete event \"\n-                            \"occurs\", __FUNCTION__);\n+                            \"occurs\", __func__);\n             bt_hci_event_complete_status(hci, HCI_COMMAND_DISALLOWED);\n             break;\n         }\n@@ -1567,7 +1567,7 @@ static void bt_submit_hci(struct HCIInfo *info,\n                             \"the Inquiry command has been issued, a Command \"\n                             \"Status event has been received for the Inquiry \"\n                             \"command, and before the Inquiry Complete event \"\n-                            \"occurs\", __FUNCTION__);\n+                            \"occurs\", __func__);\n             bt_hci_event_complete_status(hci, HCI_COMMAND_DISALLOWED);\n             break;\n         }\n@@ -1972,7 +1972,7 @@ static void bt_submit_hci(struct HCIInfo *info,\n \n     short_hci:\n         fprintf(stderr, \"%s: HCI packet too short (%iB)\\n\",\n-                        __FUNCTION__, length);\n+                        __func__, length);\n         bt_hci_event_status(hci, HCI_INVALID_PARAMETERS);\n         break;\n     }\n@@ -1992,7 +1992,7 @@ static inline void bt_hci_lmp_acl_data(struct bt_hci_s *hci, uint16_t handle,\n \n     if (len + HCI_ACL_HDR_SIZE > sizeof(hci->acl_buf)) {\n         fprintf(stderr, \"%s: can't take ACL packets %i bytes long\\n\",\n-                        __FUNCTION__, len);\n+                        __func__, len);\n         return;\n     }\n     memcpy(hci->acl_buf + HCI_ACL_HDR_SIZE, data, len);\n@@ -2030,7 +2030,7 @@ static void bt_submit_acl(struct HCIInfo *info,\n \n     if (length < HCI_ACL_HDR_SIZE) {\n         fprintf(stderr, \"%s: ACL packet too short (%iB)\\n\",\n-                        __FUNCTION__, length);\n+                        __func__, length);\n         return;\n     }\n \n@@ -2042,7 +2042,7 @@ static void bt_submit_acl(struct HCIInfo *info,\n \n     if (bt_hci_handle_bad(hci, handle)) {\n         fprintf(stderr, \"%s: invalid ACL handle %03x\\n\",\n-                        __FUNCTION__, handle);\n+                        __func__, handle);\n         /* TODO: signal an error */\n         return;\n     }\n@@ -2050,7 +2050,7 @@ static void bt_submit_acl(struct HCIInfo *info,\n \n     if (datalen > length) {\n         fprintf(stderr, \"%s: ACL packet too short (%iB < %iB)\\n\",\n-                        __FUNCTION__, length, datalen);\n+                        __func__, length, datalen);\n         return;\n     }\n \n@@ -2061,7 +2061,7 @@ static void bt_submit_acl(struct HCIInfo *info,\n             hci->asb_handle = handle;\n         else if (handle != hci->asb_handle) {\n             fprintf(stderr, \"%s: Bad handle %03x in Active Slave Broadcast\\n\",\n-                            __FUNCTION__, handle);\n+                            __func__, handle);\n             /* TODO: signal an error */\n             return;\n         }\n@@ -2074,7 +2074,7 @@ static void bt_submit_acl(struct HCIInfo *info,\n             hci->psb_handle = handle;\n         else if (handle != hci->psb_handle) {\n             fprintf(stderr, \"%s: Bad handle %03x in Parked Slave Broadcast\\n\",\n-                            __FUNCTION__, handle);\n+                            __func__, handle);\n             /* TODO: signal an error */\n             return;\n         }\n@@ -2106,13 +2106,13 @@ static void bt_submit_sco(struct HCIInfo *info,\n \n     if (bt_hci_handle_bad(hci, handle)) {\n         fprintf(stderr, \"%s: invalid SCO handle %03x\\n\",\n-                        __FUNCTION__, handle);\n+                        __func__, handle);\n         return;\n     }\n \n     if (datalen > length) {\n         fprintf(stderr, \"%s: SCO packet too short (%iB < %iB)\\n\",\n-                        __FUNCTION__, length, datalen);\n+                        __func__, length, datalen);\n         return;\n     }\n \ndiff --git a/hw/bt/hid.c b/hw/bt/hid.c\nindex f6affbbb44..09d17322e4 100644\n--- a/hw/bt/hid.c\n+++ b/hw/bt/hid.c\n@@ -420,7 +420,7 @@ static void bt_hid_interrupt_sdu(void *opaque, const uint8_t *data, int len)\n     return;\n bad:\n     fprintf(stderr, \"%s: bad transaction on Interrupt channel.\\n\",\n-                    __FUNCTION__);\n+                    __func__);\n }\n \n /* \"Virtual cable\" plug/unplug event.  */\ndiff --git a/hw/bt/l2cap.c b/hw/bt/l2cap.c\nindex e342045140..3e53dd082d 100644\n--- a/hw/bt/l2cap.c\n+++ b/hw/bt/l2cap.c\n@@ -468,7 +468,7 @@ static void l2cap_channel_close(struct l2cap_instance_s *l2cap,\n     if (likely(ch)) {\n         if (ch->remote_cid != source_cid) {\n             fprintf(stderr, \"%s: Ignoring a Disconnection Request with the \"\n-                            \"invalid SCID %04x.\\n\", __FUNCTION__, source_cid);\n+                            \"invalid SCID %04x.\\n\", __func__, source_cid);\n             return;\n         }\n \n@@ -791,7 +791,7 @@ static void l2cap_command(struct l2cap_instance_s *l2cap, int code, int id,\n     /* TODO: do the IDs really have to be in sequence?  */\n     if (!id || (id != l2cap->last_id && id != l2cap->next_id)) {\n         fprintf(stderr, \"%s: out of sequence command packet ignored.\\n\",\n-                        __FUNCTION__);\n+                        __func__);\n         return;\n     }\n #else\n@@ -814,7 +814,7 @@ static void l2cap_command(struct l2cap_instance_s *l2cap, int code, int id,\n \n         /* We never issue commands other than Command Reject currently.  */\n         fprintf(stderr, \"%s: stray Command Reject (%02x, %04x) \"\n-                        \"packet, ignoring.\\n\", __FUNCTION__, id,\n+                        \"packet, ignoring.\\n\", __func__, id,\n                         le16_to_cpu(((l2cap_cmd_rej *) params)->reason));\n         break;\n \n@@ -837,7 +837,7 @@ static void l2cap_command(struct l2cap_instance_s *l2cap, int code, int id,\n \n         /* We never issue Connection Requests currently. TODO  */\n         fprintf(stderr, \"%s: unexpected Connection Response (%02x) \"\n-                        \"packet, ignoring.\\n\", __FUNCTION__, id);\n+                        \"packet, ignoring.\\n\", __func__, id);\n         break;\n \n     case L2CAP_CONF_REQ:\n@@ -866,7 +866,7 @@ static void l2cap_command(struct l2cap_instance_s *l2cap, int code, int id,\n                         ((l2cap_conf_rsp *) params)->data,\n                         len - L2CAP_CONF_RSP_SIZE(0)))\n             fprintf(stderr, \"%s: unexpected Configure Response (%02x) \"\n-                            \"packet, ignoring.\\n\", __FUNCTION__, id);\n+                            \"packet, ignoring.\\n\", __func__, id);\n         break;\n \n     case L2CAP_DISCONN_REQ:\n@@ -888,7 +888,7 @@ static void l2cap_command(struct l2cap_instance_s *l2cap, int code, int id,\n \n         /* We never issue Disconnection Requests currently. TODO  */\n         fprintf(stderr, \"%s: unexpected Disconnection Response (%02x) \"\n-                        \"packet, ignoring.\\n\", __FUNCTION__, id);\n+                        \"packet, ignoring.\\n\", __func__, id);\n         break;\n \n     case L2CAP_ECHO_REQ:\n@@ -898,7 +898,7 @@ static void l2cap_command(struct l2cap_instance_s *l2cap, int code, int id,\n     case L2CAP_ECHO_RSP:\n         /* We never issue Echo Requests currently. TODO  */\n         fprintf(stderr, \"%s: unexpected Echo Response (%02x) \"\n-                        \"packet, ignoring.\\n\", __FUNCTION__, id);\n+                        \"packet, ignoring.\\n\", __func__, id);\n         break;\n \n     case L2CAP_INFO_REQ:\n@@ -918,7 +918,7 @@ static void l2cap_command(struct l2cap_instance_s *l2cap, int code, int id,\n \n         /* We never issue Information Requests currently. TODO  */\n         fprintf(stderr, \"%s: unexpected Information Response (%02x) \"\n-                        \"packet, ignoring.\\n\", __FUNCTION__, id);\n+                        \"packet, ignoring.\\n\", __func__, id);\n         break;\n \n     default:\n@@ -1067,7 +1067,7 @@ static void l2cap_frame_in(struct l2cap_instance_s *l2cap,\n \n     if (unlikely(cid >= L2CAP_CID_MAX || !l2cap->cid[cid])) {\n         fprintf(stderr, \"%s: frame addressed to a non-existent L2CAP \"\n-                        \"channel %04x received.\\n\", __FUNCTION__, cid);\n+                        \"channel %04x received.\\n\", __func__, cid);\n         return;\n     }\n \n@@ -1129,7 +1129,7 @@ static uint8_t *l2cap_bframe_out(struct bt_l2cap_conn_params_s *parm, int len)\n \n     if (len > chan->params.remote_mtu) {\n         fprintf(stderr, \"%s: B-Frame for CID %04x longer than %i octets.\\n\",\n-                        __FUNCTION__,\n+                        __func__,\n                         chan->remote_cid, chan->params.remote_mtu);\n         exit(-1);\n     }\n@@ -1354,7 +1354,7 @@ void bt_l2cap_psm_register(struct bt_l2cap_device_s *dev, int psm, int min_mtu,\n \n     if (new_psm) {\n         fprintf(stderr, \"%s: PSM %04x already registered for device `%s'.\\n\",\n-                        __FUNCTION__, psm, dev->device.lmp_name);\n+                        __func__, psm, dev->device.lmp_name);\n         exit(-1);\n     }\n \ndiff --git a/hw/bt/sdp.c b/hw/bt/sdp.c\nindex 3cb60b9495..7c0d38b504 100644\n--- a/hw/bt/sdp.c\n+++ b/hw/bt/sdp.c\n@@ -506,7 +506,7 @@ static void bt_l2cap_sdp_sdu_in(void *opaque, const uint8_t *data, int len)\n     int rsp_len = 0;\n \n     if (len < 5) {\n-        fprintf(stderr, \"%s: short SDP PDU (%iB).\\n\", __FUNCTION__, len);\n+        fprintf(stderr, \"%s: short SDP PDU (%iB).\\n\", __func__, len);\n         return;\n     }\n \n@@ -518,7 +518,7 @@ static void bt_l2cap_sdp_sdu_in(void *opaque, const uint8_t *data, int len)\n \n     if (len != plen) {\n         fprintf(stderr, \"%s: wrong SDP PDU length (%iB != %iB).\\n\",\n-                        __FUNCTION__, plen, len);\n+                        __func__, plen, len);\n         err = SDP_INVALID_PDU_SIZE;\n         goto respond;\n     }\n@@ -545,7 +545,7 @@ static void bt_l2cap_sdp_sdu_in(void *opaque, const uint8_t *data, int len)\n     case SDP_SVC_SEARCH_ATTR_RSP:\n     default:\n         fprintf(stderr, \"%s: unexpected SDP PDU ID %02x.\\n\",\n-                        __FUNCTION__, pdu_id);\n+                        __func__, pdu_id);\n         err = SDP_INVALID_SYNTAX;\n         break;\n     }\ndiff --git a/hw/display/blizzard.c b/hw/display/blizzard.c\nindex cbf07d14d9..291abe6fca 100644\n--- a/hw/display/blizzard.c\n+++ b/hw/display/blizzard.c\n@@ -474,7 +474,7 @@ static uint16_t blizzard_reg_read(void *opaque, uint8_t reg)\n         return s->gpio_pdown;\n \n     default:\n-        fprintf(stderr, \"%s: unknown register %02x\\n\", __FUNCTION__, reg);\n+        fprintf(stderr, \"%s: unknown register %02x\\n\", __func__, reg);\n         return 0;\n     }\n }\n@@ -502,7 +502,7 @@ static void blizzard_reg_write(void *opaque, uint8_t reg, uint16_t value)\n         s->pll_mode = value & 0x77;\n         if ((value & 3) == 0 || (value & 3) == 3)\n             fprintf(stderr, \"%s: wrong PLL Control bits (%i)\\n\",\n-                    __FUNCTION__, value & 3);\n+                    __func__, value & 3);\n         break;\n \n     case 0x0e:\t/* Clock-Source Select */\n@@ -541,7 +541,7 @@ static void blizzard_reg_write(void *opaque, uint8_t reg, uint16_t value)\n     case 0x28:\t/* LCD Panel Configuration */\n         s->lcd_config = value & 0xff;\n         if (value & (1 << 7))\n-            fprintf(stderr, \"%s: data swap not supported!\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: data swap not supported!\\n\", __func__);\n         break;\n \n     case 0x2a:\t/* LCD Horizontal Display Width */\n@@ -586,7 +586,7 @@ static void blizzard_reg_write(void *opaque, uint8_t reg, uint16_t value)\n         s->hssi_config[1] = value;\n         if (((value >> 4) & 3) == 3)\n             fprintf(stderr, \"%s: Illegal active-data-links value\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         break;\n     case 0x42:\t/* High-speed Serial Interface Tx Mode */\n         s->hssi_config[2] = value & 0xbd;\n@@ -641,7 +641,7 @@ static void blizzard_reg_write(void *opaque, uint8_t reg, uint16_t value)\n         s->enable = value & 1;\n         s->blank = (value >> 1) & 1;\n         if (value & (1 << 4))\n-            fprintf(stderr, \"%s: Macrovision enable attempt!\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: Macrovision enable attempt!\\n\", __func__);\n         break;\n \n     case 0x6a:\t/* Special Effects */\n@@ -718,7 +718,7 @@ static void blizzard_reg_write(void *opaque, uint8_t reg, uint16_t value)\n         s->bpp = blizzard_iformat_bpp[s->iformat];\n         if (!s->bpp)\n             fprintf(stderr, \"%s: Illegal or unsupported input format %x\\n\",\n-                            __FUNCTION__, s->iformat);\n+                            __func__, s->iformat);\n         break;\n     case 0x8e:\t/* Data Source Select */\n         s->source = value & 7;\n@@ -730,7 +730,7 @@ static void blizzard_reg_write(void *opaque, uint8_t reg, uint16_t value)\n                         !((s->ix[1] - s->ix[0]) & (s->iy[1] - s->iy[0]) &\n                           (s->ox[1] - s->ox[0]) & (s->oy[1] - s->oy[0]) & 1))\n             fprintf(stderr, \"%s: Illegal input/output window positions\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n \n         blizzard_transfer_setup(s);\n         break;\n@@ -784,7 +784,7 @@ static void blizzard_reg_write(void *opaque, uint8_t reg, uint16_t value)\n         s->pm = value & 0x83;\n         if (value & s->mode & 1)\n             fprintf(stderr, \"%s: The display must be disabled before entering \"\n-                            \"Standby Mode\\n\", __FUNCTION__);\n+                            \"Standby Mode\\n\", __func__);\n         break;\n     case 0xe8:\t/* Non-display Period Control / Status */\n         s->status = value & 0x1b;\n@@ -815,7 +815,7 @@ static void blizzard_reg_write(void *opaque, uint8_t reg, uint16_t value)\n         break;\n \n     default:\n-        fprintf(stderr, \"%s: unknown register %02x\\n\", __FUNCTION__, reg);\n+        fprintf(stderr, \"%s: unknown register %02x\\n\", __func__, reg);\n         break;\n     }\n }\ndiff --git a/hw/display/omap_dss.c b/hw/display/omap_dss.c\nindex 783e9e1318..601f178fdd 100644\n--- a/hw/display/omap_dss.c\n+++ b/hw/display/omap_dss.c\n@@ -526,7 +526,7 @@ static void omap_disc_write(void *opaque, hwaddr addr,\n         s->dispc.l[0].attr = value & 0x7ff;\n         if (value & (3 << 9))\n             fprintf(stderr, \"%s: Big-endian pixel format not supported\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         s->dispc.l[0].enable = value & 1;\n         s->dispc.l[0].bpp = (value >> 1) & 0xf;\n         s->dispc.invalidate = 1;\n@@ -617,7 +617,7 @@ static void omap_rfbi_transfer_start(struct omap_dss_s *s)\n     if (s->rfbi.control & (1 << 1)) {\t\t\t\t/* BYPASS */\n         /* TODO: in non-Bypass mode we probably need to just assert the\n          * DRQ and wait for DMA to write the pixels.  */\n-        fprintf(stderr, \"%s: Bypass mode unimplemented\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: Bypass mode unimplemented\\n\", __func__);\n         return;\n     }\n \n@@ -1086,6 +1086,6 @@ struct omap_dss_s *omap_dss_init(struct omap_target_agent_s *ta,\n void omap_rfbi_attach(struct omap_dss_s *s, int cs, struct rfbi_chip_s *chip)\n {\n     if (cs < 0 || cs > 1)\n-        hw_error(\"%s: wrong CS %i\\n\", __FUNCTION__, cs);\n+        hw_error(\"%s: wrong CS %i\\n\", __func__, cs);\n     s->rfbi.chip[cs] = chip;\n }\ndiff --git a/hw/display/pxa2xx_lcd.c b/hw/display/pxa2xx_lcd.c\nindex 845521c5b2..b83f80753a 100644\n--- a/hw/display/pxa2xx_lcd.c\n+++ b/hw/display/pxa2xx_lcd.c\n@@ -405,7 +405,7 @@ static uint64_t pxa2xx_lcdc_read(void *opaque, hwaddr offset,\n \n     default:\n     fail:\n-        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __func__, offset);\n     }\n \n     return 0;\n@@ -424,7 +424,7 @@ static void pxa2xx_lcdc_write(void *opaque, hwaddr offset,\n             s->status[0] |= LCSR0_QD;\n \n         if (!(s->control[0] & LCCR0_LCDT) && (value & LCCR0_LCDT))\n-            printf(\"%s: internal frame buffer unsupported\\n\", __FUNCTION__);\n+            printf(\"%s: internal frame buffer unsupported\\n\", __func__);\n \n         if ((s->control[3] & LCCR3_API) &&\n                 (value & LCCR0_ENB) && !(value & LCCR0_LCDT))\n@@ -460,7 +460,7 @@ static void pxa2xx_lcdc_write(void *opaque, hwaddr offset,\n \n     case OVL1C1:\n         if (!(s->ovl1c[0] & OVLC1_EN) && (value & OVLC1_EN))\n-            printf(\"%s: Overlay 1 not supported\\n\", __FUNCTION__);\n+            printf(\"%s: Overlay 1 not supported\\n\", __func__);\n \n         s->ovl1c[0] = value & 0x80ffffff;\n         s->dma_ch[1].up = (value & OVLC1_EN) || (s->control[0] & LCCR0_SDS);\n@@ -472,7 +472,7 @@ static void pxa2xx_lcdc_write(void *opaque, hwaddr offset,\n \n     case OVL2C1:\n         if (!(s->ovl2c[0] & OVLC1_EN) && (value & OVLC1_EN))\n-            printf(\"%s: Overlay 2 not supported\\n\", __FUNCTION__);\n+            printf(\"%s: Overlay 2 not supported\\n\", __func__);\n \n         s->ovl2c[0] = value & 0x80ffffff;\n         s->dma_ch[2].up = !!(value & OVLC1_EN);\n@@ -486,7 +486,7 @@ static void pxa2xx_lcdc_write(void *opaque, hwaddr offset,\n \n     case CCR:\n         if (!(s->ccr & CCR_CEN) && (value & CCR_CEN))\n-            printf(\"%s: Hardware cursor unimplemented\\n\", __FUNCTION__);\n+            printf(\"%s: Hardware cursor unimplemented\\n\", __func__);\n \n         s->ccr = value & 0x81ffffe7;\n         s->dma_ch[5].up = !!(value & CCR_CEN);\n@@ -560,7 +560,7 @@ static void pxa2xx_lcdc_write(void *opaque, hwaddr offset,\n \n     default:\n     fail:\n-        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __func__, offset);\n     }\n }\n \n@@ -1050,7 +1050,7 @@ PXA2xxLCDState *pxa2xx_lcdc_init(MemoryRegion *sysmem,\n         s->dest_width = 4;\n         break;\n     default:\n-        fprintf(stderr, \"%s: Bad color depth\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: Bad color depth\\n\", __func__);\n         exit(1);\n     }\n \ndiff --git a/hw/display/qxl-render.c b/hw/display/qxl-render.c\nindex 90e0865618..e7ac4f8789 100644\n--- a/hw/display/qxl-render.c\n+++ b/hw/display/qxl-render.c\n@@ -78,7 +78,7 @@ void qxl_render_resize(PCIQXLDevice *qxl)\n         qxl->guest_primary.bits_pp = 32;\n         break;\n     default:\n-        fprintf(stderr, \"%s: unhandled format: %x\\n\", __FUNCTION__,\n+        fprintf(stderr, \"%s: unhandled format: %x\\n\", __func__,\n                 qxl->guest_primary.surface.format);\n         qxl->guest_primary.bytes_pp = 4;\n         qxl->guest_primary.bits_pp = 32;\n@@ -248,7 +248,7 @@ static QEMUCursor *qxl_cursor(PCIQXLDevice *qxl, QXLCursor *cursor,\n         break;\n     default:\n         fprintf(stderr, \"%s: not implemented: type %d\\n\",\n-                __FUNCTION__, cursor->header.type);\n+                __func__, cursor->header.type);\n         goto fail;\n     }\n     return c;\n@@ -275,7 +275,7 @@ int qxl_render_cursor(PCIQXLDevice *qxl, QXLCommandExt *ext)\n     }\n \n     if (qxl->debug > 1 && cmd->type != QXL_CURSOR_MOVE) {\n-        fprintf(stderr, \"%s\", __FUNCTION__);\n+        fprintf(stderr, \"%s\", __func__);\n         qxl_log_cmd_cursor(qxl, cmd, ext->group_id);\n         fprintf(stderr, \"\\n\");\n     }\ndiff --git a/hw/display/qxl.h b/hw/display/qxl.h\nindex f6556adb73..7d1b60014a 100644\n--- a/hw/display/qxl.h\n+++ b/hw/display/qxl.h\n@@ -133,7 +133,7 @@ typedef struct PCIQXLDevice {\n #define PCI_QXL(obj) OBJECT_CHECK(PCIQXLDevice, (obj), TYPE_PCI_QXL)\n \n #define PANIC_ON(x) if ((x)) {                         \\\n-    printf(\"%s: PANIC %s failed\\n\", __FUNCTION__, #x); \\\n+    printf(\"%s: PANIC %s failed\\n\", __func__, #x); \\\n     abort();                                           \\\n }\n \ndiff --git a/hw/display/tc6393xb.c b/hw/display/tc6393xb.c\nindex 74d10af3d4..79f161740a 100644\n--- a/hw/display/tc6393xb.c\n+++ b/hw/display/tc6393xb.c\n@@ -148,7 +148,7 @@ static void tc6393xb_gpio_set(void *opaque, int line, int level)\n //    TC6393xbState *s = opaque;\n \n     if (line > TC6393XB_GPIOS) {\n-        printf(\"%s: No GPIO pin %i\\n\", __FUNCTION__, line);\n+        printf(\"%s: No GPIO pin %i\\n\", __func__, line);\n         return;\n     }\n \ndiff --git a/hw/display/xenfb.c b/hw/display/xenfb.c\nindex df8b78f6f4..6dc98d0497 100644\n--- a/hw/display/xenfb.c\n+++ b/hw/display/xenfb.c\n@@ -643,7 +643,7 @@ static void xenfb_guest_copy(struct XenFB *xenfb, int x, int y, int w, int h)\n     }\n     if (oops) /* should not happen */\n         xen_pv_printf(&xenfb->c.xendev, 0, \"%s: oops: convert %d -> %d bpp?\\n\",\n-                      __FUNCTION__, xenfb->depth, bpp);\n+                      __func__, xenfb->depth, bpp);\n \n     dpy_gfx_update(xenfb->con, x, y, w, h);\n }\ndiff --git a/hw/dma/omap_dma.c b/hw/dma/omap_dma.c\nindex 45dfe7aadd..abd18c67ea 100644\n--- a/hw/dma/omap_dma.c\n+++ b/hw/dma/omap_dma.c\n@@ -161,7 +161,7 @@ static void omap_dma_channel_load(struct omap_dma_channel_s *ch)\n     a->pck_element = 0;\n \n     if (unlikely(!ch->elements || !ch->frames)) {\n-        printf(\"%s: bad DMA request\\n\", __FUNCTION__);\n+        printf(\"%s: bad DMA request\\n\", __func__);\n         return;\n     }\n \n@@ -519,7 +519,7 @@ static void omap_dma_transfer_setup(struct soc_dma_ch_s *dma)\n         continue;\n #endif\n         printf(\"%s: Bus time-out in DMA%i operation\\n\",\n-                        __FUNCTION__, dma->num);\n+                        __func__, dma->num);\n     }\n \n     min_elems = INT_MAX;\n@@ -879,14 +879,14 @@ static int omap_dma_ch_reg_write(struct omap_dma_s *s,\n         ch->pack[0] = (value & 0x0040) >> 6;\n         ch->port[0] = (enum omap_dma_port) ((value & 0x003c) >> 2);\n         if (ch->port[0] >= __omap_dma_port_last)\n-            printf(\"%s: invalid DMA port %i\\n\", __FUNCTION__,\n+            printf(\"%s: invalid DMA port %i\\n\", __func__,\n                             ch->port[0]);\n         if (ch->port[1] >= __omap_dma_port_last)\n-            printf(\"%s: invalid DMA port %i\\n\", __FUNCTION__,\n+            printf(\"%s: invalid DMA port %i\\n\", __func__,\n                             ch->port[1]);\n         ch->data_type = 1 << (value & 3);\n         if ((value & 3) == 3) {\n-            printf(\"%s: bad data_type for DMA channel\\n\", __FUNCTION__);\n+            printf(\"%s: bad data_type for DMA channel\\n\", __func__);\n             ch->data_type >>= 1;\n         }\n         break;\n@@ -1440,7 +1440,7 @@ static int omap_dma_sys_read(struct omap_dma_s *s, int offset,\n     case 0x482:\t/* DMA_PCh1_SR */\n     case 0x4c0:\t/* DMA_PChD_SR_0 */\n         printf(\"%s: Physical Channel Status Registers not implemented.\\n\",\n-               __FUNCTION__);\n+               __func__);\n         *ret = 0xff;\n         break;\n \n@@ -1898,13 +1898,13 @@ static void omap_dma4_write(void *opaque, hwaddr addr,\n             omap_dma_reset(s->dma);\n         s->ocp = value & 0x3321;\n         if (((s->ocp >> 12) & 3) == 3)\t\t\t\t/* MIDLEMODE */\n-            fprintf(stderr, \"%s: invalid DMA power mode\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: invalid DMA power mode\\n\", __func__);\n         return;\n \n     case 0x78:\t/* DMA4_GCR */\n         s->gcr = value & 0x00ff00ff;\n \tif ((value & 0xff) == 0x00)\t\t/* MAX_CHANNEL_FIFO_DEPTH */\n-            fprintf(stderr, \"%s: wrong FIFO depth in GCR\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: wrong FIFO depth in GCR\\n\", __func__);\n         return;\n \n     case 0x80 ... 0xfff:\n@@ -1935,7 +1935,7 @@ static void omap_dma4_write(void *opaque, hwaddr addr,\n         ch->src_sync = (value >> 24) & 1;\t/* XXX For CamDMA must be 1 */\n         if (ch->buf_disable && !ch->src_sync)\n             fprintf(stderr, \"%s: Buffering disable is not allowed in \"\n-                            \"destination synchronised mode\\n\", __FUNCTION__);\n+                            \"destination synchronised mode\\n\", __func__);\n         ch->prefetch = (value >> 23) & 1;\n         ch->bs = (value >> 18) & 1;\n         ch->transparent_copy = (value >> 17) & 1;\n@@ -1947,7 +1947,7 @@ static void omap_dma4_write(void *opaque, hwaddr addr,\n         ch->fs = (value & 0x0020) >> 5;\n         if (ch->fs && ch->bs && ch->mode[0] && ch->mode[1])\n             fprintf(stderr, \"%s: For a packet transfer at least one port \"\n-                            \"must be constant-addressed\\n\", __FUNCTION__);\n+                            \"must be constant-addressed\\n\", __func__);\n         ch->sync = (value & 0x001f) | ((value >> 14) & 0x0060);\n         /* XXX must be 0x01 for CamDMA */\n \n@@ -1978,7 +1978,7 @@ static void omap_dma4_write(void *opaque, hwaddr addr,\n         ch->endian_lock[1] =(value >> 18) & 1;\n         if (ch->endian[0] != ch->endian[1])\n             fprintf(stderr, \"%s: DMA endianness conversion enable attempt\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         ch->write_mode = (value >> 16) & 3;\n         ch->burst[1] = (value & 0xc000) >> 14;\n         ch->pack[1] = (value & 0x2000) >> 13;\n@@ -1988,10 +1988,10 @@ static void omap_dma4_write(void *opaque, hwaddr addr,\n         ch->translate[0] = (value & 0x003c) >> 2;\n         if (ch->translate[0] | ch->translate[1])\n             fprintf(stderr, \"%s: bad MReqAddressTranslate sideband signal\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         ch->data_type = 1 << (value & 3);\n         if ((value & 3) == 3) {\n-            printf(\"%s: bad data_type for DMA channel\\n\", __FUNCTION__);\n+            printf(\"%s: bad data_type for DMA channel\\n\", __func__);\n             ch->data_type >>= 1;\n         }\n         break;\ndiff --git a/hw/dma/pxa2xx_dma.c b/hw/dma/pxa2xx_dma.c\nindex 634a4328f0..f4eb26cf17 100644\n--- a/hw/dma/pxa2xx_dma.c\n+++ b/hw/dma/pxa2xx_dma.c\n@@ -169,7 +169,7 @@ static inline void pxa2xx_dma_descriptor_fetch(\n         s->chan[ch].dest &= ~3;\n \n     if (s->chan[ch].cmd & (DCMD_CMPEN | DCMD_FLYBYS | DCMD_FLYBYT))\n-        printf(\"%s: unsupported mode in channel %i\\n\", __FUNCTION__, ch);\n+        printf(\"%s: unsupported mode in channel %i\\n\", __func__, ch);\n \n     if (s->chan[ch].cmd & DCMD_STARTIRQEN)\n         s->chan[ch].state |= DCSR_STARTINTR;\n@@ -264,7 +264,7 @@ static uint64_t pxa2xx_dma_read(void *opaque, hwaddr offset,\n     unsigned int channel;\n \n     if (size != 4) {\n-        hw_error(\"%s: Bad access width\\n\", __FUNCTION__);\n+        hw_error(\"%s: Bad access width\\n\", __func__);\n         return 5;\n     }\n \n@@ -312,7 +312,7 @@ static uint64_t pxa2xx_dma_read(void *opaque, hwaddr offset,\n         }\n     }\n \n-    hw_error(\"%s: Bad offset 0x\" TARGET_FMT_plx \"\\n\", __FUNCTION__, offset);\n+    hw_error(\"%s: Bad offset 0x\" TARGET_FMT_plx \"\\n\", __func__, offset);\n     return 7;\n }\n \n@@ -323,7 +323,7 @@ static void pxa2xx_dma_write(void *opaque, hwaddr offset,\n     unsigned int channel;\n \n     if (size != 4) {\n-        hw_error(\"%s: Bad access width\\n\", __FUNCTION__);\n+        hw_error(\"%s: Bad access width\\n\", __func__);\n         return;\n     }\n \n@@ -337,7 +337,7 @@ static void pxa2xx_dma_write(void *opaque, hwaddr offset,\n         if (value & DRCMR_MAPVLD)\n             if ((value & DRCMR_CHLNUM) > s->channels)\n                 hw_error(\"%s: Bad DMA channel %i\\n\",\n-                         __FUNCTION__, (unsigned)value & DRCMR_CHLNUM);\n+                         __func__, (unsigned)value & DRCMR_CHLNUM);\n \n         s->req[channel] = value;\n         break;\n@@ -416,7 +416,7 @@ static void pxa2xx_dma_write(void *opaque, hwaddr offset,\n             break;\n         }\n     fail:\n-        hw_error(\"%s: Bad offset \" TARGET_FMT_plx \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" TARGET_FMT_plx \"\\n\", __func__, offset);\n     }\n }\n \n@@ -431,7 +431,7 @@ static void pxa2xx_dma_request(void *opaque, int req_num, int on)\n     PXA2xxDMAState *s = opaque;\n     int ch;\n     if (req_num < 0 || req_num >= PXA2XX_DMA_NUM_REQUESTS)\n-        hw_error(\"%s: Bad DMA request %i\\n\", __FUNCTION__, req_num);\n+        hw_error(\"%s: Bad DMA request %i\\n\", __func__, req_num);\n \n     if (!(s->req[req_num] & DRCMR_MAPVLD))\n         return;\ndiff --git a/hw/gpio/max7310.c b/hw/gpio/max7310.c\nindex f82e3e6555..4c203ef5c6 100644\n--- a/hw/gpio/max7310.c\n+++ b/hw/gpio/max7310.c\n@@ -67,7 +67,7 @@ static int max7310_rx(I2CSlave *i2c)\n \n     default:\n #ifdef VERBOSE\n-        printf(\"%s: unknown register %02x\\n\", __FUNCTION__, s->command);\n+        printf(\"%s: unknown register %02x\\n\", __func__, s->command);\n #endif\n         break;\n     }\n@@ -82,7 +82,7 @@ static int max7310_tx(I2CSlave *i2c, uint8_t data)\n \n     if (s->len ++ > 1) {\n #ifdef VERBOSE\n-        printf(\"%s: message too long (%i bytes)\\n\", __FUNCTION__, s->len);\n+        printf(\"%s: message too long (%i bytes)\\n\", __func__, s->len);\n #endif\n         return 1;\n     }\n@@ -121,7 +121,7 @@ static int max7310_tx(I2CSlave *i2c, uint8_t data)\n \tbreak;\n     default:\n #ifdef VERBOSE\n-        printf(\"%s: unknown register %02x\\n\", __FUNCTION__, s->command);\n+        printf(\"%s: unknown register %02x\\n\", __func__, s->command);\n #endif\n         return 1;\n     }\n@@ -141,7 +141,7 @@ static int max7310_event(I2CSlave *i2c, enum i2c_event event)\n     case I2C_FINISH:\n #ifdef VERBOSE\n         if (s->len == 1)\n-            printf(\"%s: message too short (%i bytes)\\n\", __FUNCTION__, s->len);\n+            printf(\"%s: message too short (%i bytes)\\n\", __func__, s->len);\n #endif\n         break;\n     default:\ndiff --git a/hw/gpio/omap_gpio.c b/hw/gpio/omap_gpio.c\nindex 17891e2d0f..08472193b5 100644\n--- a/hw/gpio/omap_gpio.c\n+++ b/hw/gpio/omap_gpio.c\n@@ -399,7 +399,7 @@ static void omap2_gpio_module_write(void *opaque, hwaddr addr,\n \n     case 0x10:\t/* GPIO_SYSCONFIG */\n         if (((value >> 3) & 3) == 3)\n-            fprintf(stderr, \"%s: bad IDLEMODE value\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: bad IDLEMODE value\\n\", __func__);\n         if (value & 2)\n             omap2_gpio_module_reset(s);\n         s->config[0] = value & 0x1d;\ndiff --git a/hw/i2c/omap_i2c.c b/hw/i2c/omap_i2c.c\nindex 12264ee0f5..26e3e5ebf6 100644\n--- a/hw/i2c/omap_i2c.c\n+++ b/hw/i2c/omap_i2c.c\n@@ -341,12 +341,12 @@ static void omap_i2c_write(void *opaque, hwaddr addr,\n         }\n         if ((value & (1 << 15)) && !(value & (1 << 10))) {\t/* MST */\n             fprintf(stderr, \"%s: I^2C slave mode not supported\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n             break;\n         }\n         if ((value & (1 << 15)) && value & (1 << 8)) {\t\t/* XA */\n             fprintf(stderr, \"%s: 10-bit addressing mode not supported\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n             break;\n         }\n         if ((value & (1 << 15)) && value & (1 << 0)) {\t\t/* STT */\n@@ -393,7 +393,7 @@ static void omap_i2c_write(void *opaque, hwaddr addr,\n                 omap_i2c_interrupts_update(s);\n             }\n         if (value & (1 << 15))\t\t\t\t\t/* ST_EN */\n-            fprintf(stderr, \"%s: System Test not supported\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: System Test not supported\\n\", __func__);\n         break;\n \n     default:\ndiff --git a/hw/ide/ahci.c b/hw/ide/ahci.c\nindex 32d1296a64..c25e293d88 100644\n--- a/hw/ide/ahci.c\n+++ b/hw/ide/ahci.c\n@@ -1053,7 +1053,7 @@ static void process_ncq_command(AHCIState *s, int port, uint8_t *cmd_fis,\n     g_assert(is_ncq(ncq_fis->command));\n     if (ncq_tfs->used) {\n         /* error - already in use */\n-        fprintf(stderr, \"%s: tag %d already used\\n\", __FUNCTION__, tag);\n+        fprintf(stderr, \"%s: tag %d already used\\n\", __func__, tag);\n         return;\n     }\n \ndiff --git a/hw/ide/microdrive.c b/hw/ide/microdrive.c\nindex 17917c0b30..3090254783 100644\n--- a/hw/ide/microdrive.c\n+++ b/hw/ide/microdrive.c\n@@ -156,7 +156,7 @@ static uint8_t md_attr_read(PCMCIACardState *card, uint32_t at)\n         return 0x00;\n #ifdef VERBOSE\n     default:\n-        printf(\"%s: Bad attribute space register %02x\\n\", __FUNCTION__, at);\n+        printf(\"%s: Bad attribute space register %02x\\n\", __func__, at);\n #endif\n     }\n \n@@ -193,7 +193,7 @@ static void md_attr_write(PCMCIACardState *card, uint32_t at, uint8_t value)\n     case 0x06:\t/* Socket and Copy Register */\n         break;\n     default:\n-        printf(\"%s: Bad attribute space register %02x\\n\", __FUNCTION__, at);\n+        printf(\"%s: Bad attribute space register %02x\\n\", __func__, at);\n     }\n }\n \ndiff --git a/hw/input/lm832x.c b/hw/input/lm832x.c\nindex 2340523da0..d39953126b 100644\n--- a/hw/input/lm832x.c\n+++ b/hw/input/lm832x.c\n@@ -239,7 +239,7 @@ static uint8_t lm_kbd_read(LM823KbdState *s, int reg, int byte)\n \n     default:\n         lm_kbd_error(s, ERR_CMDUNK);\n-        fprintf(stderr, \"%s: unknown command %02x\\n\", __FUNCTION__, reg);\n+        fprintf(stderr, \"%s: unknown command %02x\\n\", __func__, reg);\n         return 0x00;\n     }\n \n@@ -331,7 +331,7 @@ static void lm_kbd_write(LM823KbdState *s, int reg, int byte, uint8_t value)\n         if ((value & 3) && (value & 3) != 3) {\n             lm_kbd_error(s, ERR_BADPAR);\n             fprintf(stderr, \"%s: invalid clock setting in RCPWM\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         }\n         /* TODO: Validate that the command is only issued once */\n         break;\n@@ -378,7 +378,7 @@ static void lm_kbd_write(LM823KbdState *s, int reg, int byte, uint8_t value)\n         break;\n     default:\n         lm_kbd_error(s, ERR_CMDUNK);\n-        fprintf(stderr, \"%s: unknown command %02x\\n\", __FUNCTION__, reg);\n+        fprintf(stderr, \"%s: unknown command %02x\\n\", __func__, reg);\n         break;\n     }\n }\ndiff --git a/hw/input/pxa2xx_keypad.c b/hw/input/pxa2xx_keypad.c\nindex 2b70bbb95c..93db9ed25b 100644\n--- a/hw/input/pxa2xx_keypad.c\n+++ b/hw/input/pxa2xx_keypad.c\n@@ -231,7 +231,7 @@ static uint64_t pxa2xx_keypad_read(void *opaque, hwaddr offset,\n         return s->kpkdi;\n         break;\n     default:\n-        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __func__, offset);\n     }\n \n     return 0;\n@@ -278,7 +278,7 @@ static void pxa2xx_keypad_write(void *opaque, hwaddr offset,\n         break;\n \n     default:\n-        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __func__, offset);\n     }\n }\n \n@@ -326,7 +326,7 @@ void pxa27x_register_keypad(PXA2xxKeyPadState *kp,\n                             const struct keymap *map, int size)\n {\n     if(!map || size < 0x80) {\n-        fprintf(stderr, \"%s - No PXA keypad map defined\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s - No PXA keypad map defined\\n\", __func__);\n         exit(-1);\n     }\n \ndiff --git a/hw/input/tsc2005.c b/hw/input/tsc2005.c\nindex eb5320af40..7990954b6c 100644\n--- a/hw/input/tsc2005.c\n+++ b/hw/input/tsc2005.c\n@@ -201,7 +201,7 @@ static void tsc2005_write(TSC2005State *s, int reg, uint16_t data)\n         if (s->enabled != !(data & 0x4000)) {\n             s->enabled = !(data & 0x4000);\n             fprintf(stderr, \"%s: touchscreen sense %sabled\\n\",\n-                            __FUNCTION__, s->enabled ? \"en\" : \"dis\");\n+                            __func__, s->enabled ? \"en\" : \"dis\");\n             if (s->busy && !s->enabled)\n                 timer_del(s->timer);\n             s->busy = s->busy && s->enabled;\n@@ -210,7 +210,7 @@ static void tsc2005_write(TSC2005State *s, int reg, uint16_t data)\n         s->timing[0] = data & 0x1fff;\n         if ((s->timing[0] >> 11) == 3)\n             fprintf(stderr, \"%s: illegal conversion clock setting\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         break;\n     case 0xd:\t/* CFR1 */\n         s->timing[1] = data & 0xf07;\n@@ -222,7 +222,7 @@ static void tsc2005_write(TSC2005State *s, int reg, uint16_t data)\n \n     default:\n         fprintf(stderr, \"%s: write into read-only register %x\\n\",\n-                        __FUNCTION__, reg);\n+                        __func__, reg);\n     }\n }\n \n@@ -338,7 +338,7 @@ static uint8_t tsc2005_txrx_word(void *opaque, uint8_t value)\n                 if (s->enabled != !(value & 1)) {\n                     s->enabled = !(value & 1);\n                     fprintf(stderr, \"%s: touchscreen sense %sabled\\n\",\n-                                    __FUNCTION__, s->enabled ? \"en\" : \"dis\");\n+                                    __func__, s->enabled ? \"en\" : \"dis\");\n                     if (s->busy && !s->enabled)\n                         timer_del(s->timer);\n                     s->busy = s->busy && s->enabled;\ndiff --git a/hw/input/tsc210x.c b/hw/input/tsc210x.c\nindex b068343771..d4b19c1825 100644\n--- a/hw/input/tsc210x.c\n+++ b/hw/input/tsc210x.c\n@@ -287,7 +287,7 @@ static void tsc2102_audio_rate_update(TSC210xState *s)\n                         rate->fsref == ((s->audio_ctrl3 >> 13) & 1))/* REFFS */\n             break;\n     if (!rate->rate) {\n-        printf(\"%s: unknown sampling rate configured\\n\", __FUNCTION__);\n+        printf(\"%s: unknown sampling rate configured\\n\", __func__);\n         return;\n     }\n \n@@ -913,7 +913,7 @@ uint32_t tsc210x_txrx(void *opaque, uint32_t value, int len)\n     uint32_t ret = 0;\n \n     if (len != 16)\n-        hw_error(\"%s: FIXME: bad SPI word width %i\\n\", __FUNCTION__, len);\n+        hw_error(\"%s: FIXME: bad SPI word width %i\\n\", __func__, len);\n \n     /* TODO: sequential reads etc - how do we make sure the host doesn't\n      * unintentionally read out a conversion result from a register while\ndiff --git a/hw/intc/omap_intc.c b/hw/intc/omap_intc.c\nindex ccdda89dab..6844c1aa83 100644\n--- a/hw/intc/omap_intc.c\n+++ b/hw/intc/omap_intc.c\n@@ -540,7 +540,7 @@ static void omap2_inth_write(void *opaque, hwaddr addr,\n          * for every register, see Chapter 3 and 4 for privileged mode.  */\n         if (value & 1)\n             fprintf(stderr, \"%s: protection mode enable attempt\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         return;\n \n     case 0x50:\t/* INTC_IDLE */\ndiff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c\nindex 50dc83df77..72bf674403 100644\n--- a/hw/isa/vt82c686.c\n+++ b/hw/isa/vt82c686.c\n@@ -30,7 +30,7 @@\n //#define DEBUG_VT82C686B\n \n #ifdef DEBUG_VT82C686B\n-#define DPRINTF(fmt, ...) fprintf(stderr, \"%s: \" fmt, __FUNCTION__, ##__VA_ARGS__)\n+#define DPRINTF(fmt, ...) fprintf(stderr, \"%s: \" fmt, __func__, ##__VA_ARGS__)\n #else\n #define DPRINTF(fmt, ...)\n #endif\ndiff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c\nindex e8b2eef688..41a7690560 100644\n--- a/hw/mips/gt64xxx_pci.c\n+++ b/hw/mips/gt64xxx_pci.c\n@@ -33,7 +33,7 @@\n //#define DEBUG\n \n #ifdef DEBUG\n-#define DPRINTF(fmt, ...) fprintf(stderr, \"%s: \" fmt, __FUNCTION__, ##__VA_ARGS__)\n+#define DPRINTF(fmt, ...) fprintf(stderr, \"%s: \" fmt, __func__, ##__VA_ARGS__)\n #else\n #define DPRINTF(fmt, ...)\n #endif\ndiff --git a/hw/misc/cbus.c b/hw/misc/cbus.c\nindex 677274ce3e..25e337ea77 100644\n--- a/hw/misc/cbus.c\n+++ b/hw/misc/cbus.c\n@@ -62,7 +62,7 @@ static void cbus_io(CBusPriv *s)\n         s->slave[s->addr]->io(s->slave[s->addr]->opaque,\n                         s->rw, s->reg, &s->val);\n     else\n-        hw_error(\"%s: bad slave address %i\\n\", __FUNCTION__, s->addr);\n+        hw_error(\"%s: bad slave address %i\\n\", __func__, s->addr);\n }\n \n static void cbus_cycle(CBusPriv *s)\n@@ -299,7 +299,7 @@ static inline uint16_t retu_read(CBusRetu *s, int reg)\n         return 0x0000;\n \n     default:\n-        hw_error(\"%s: bad register %02x\\n\", __FUNCTION__, reg);\n+        hw_error(\"%s: bad register %02x\\n\", __func__, reg);\n     }\n }\n \n@@ -372,7 +372,7 @@ static inline void retu_write(CBusRetu *s, int reg, uint16_t val)\n         break;\n \n     default:\n-        hw_error(\"%s: bad register %02x\\n\", __FUNCTION__, reg);\n+        hw_error(\"%s: bad register %02x\\n\", __func__, reg);\n     }\n }\n \n@@ -538,7 +538,7 @@ static inline uint16_t tahvo_read(CBusTahvo *s, int reg)\n         return 0x0000;\n \n     default:\n-        hw_error(\"%s: bad register %02x\\n\", __FUNCTION__, reg);\n+        hw_error(\"%s: bad register %02x\\n\", __func__, reg);\n     }\n }\n \n@@ -567,7 +567,7 @@ static inline void tahvo_write(CBusTahvo *s, int reg, uint16_t val)\n         if (s->backlight != (val & 0x7f)) {\n             s->backlight = val & 0x7f;\n             printf(\"%s: LCD backlight now at %i / 127\\n\",\n-                            __FUNCTION__, s->backlight);\n+                            __func__, s->backlight);\n         }\n         break;\n \n@@ -588,7 +588,7 @@ static inline void tahvo_write(CBusTahvo *s, int reg, uint16_t val)\n         break;\n \n     default:\n-        hw_error(\"%s: bad register %02x\\n\", __FUNCTION__, reg);\n+        hw_error(\"%s: bad register %02x\\n\", __func__, reg);\n     }\n }\n \ndiff --git a/hw/misc/omap_clk.c b/hw/misc/omap_clk.c\nindex 19151d07d6..9ea14186d4 100644\n--- a/hw/misc/omap_clk.c\n+++ b/hw/misc/omap_clk.c\n@@ -1109,7 +1109,7 @@ struct clk *omap_findclk(struct omap_mpu_state_s *mpu, const char *name)\n     for (i = mpu->clks; i->name; i ++)\n         if (!strcmp(i->name, name) || (i->alias && !strcmp(i->alias, name)))\n             return i;\n-    hw_error(\"%s: %s not found\\n\", __FUNCTION__, name);\n+    hw_error(\"%s: %s not found\\n\", __func__, name);\n }\n \n void omap_clk_get(struct clk *clk)\n@@ -1120,7 +1120,7 @@ void omap_clk_get(struct clk *clk)\n void omap_clk_put(struct clk *clk)\n {\n     if (!(clk->usecount --))\n-        hw_error(\"%s: %s is not in use\\n\", __FUNCTION__, clk->name);\n+        hw_error(\"%s: %s is not in use\\n\", __func__, clk->name);\n }\n \n static void omap_clk_update(struct clk *clk)\ndiff --git a/hw/misc/omap_gpmc.c b/hw/misc/omap_gpmc.c\nindex 67d8e2f023..84f9e4c612 100644\n--- a/hw/misc/omap_gpmc.c\n+++ b/hw/misc/omap_gpmc.c\n@@ -643,7 +643,7 @@ static void omap_gpmc_write(void *opaque, hwaddr addr,\n     case 0x010:\t/* GPMC_SYSCONFIG */\n         if ((value >> 3) == 0x3)\n             fprintf(stderr, \"%s: bad SDRAM idle mode %\"PRIi64\"\\n\",\n-                            __FUNCTION__, value >> 3);\n+                            __func__, value >> 3);\n         if (value & 2)\n             omap_gpmc_reset(s);\n         s->sysconfig = value & 0x19;\n@@ -806,7 +806,7 @@ static void omap_gpmc_write(void *opaque, hwaddr addr,\n         break;\n     case 0x230:\t/* GPMC_TESTMODE_CTRL */\n         if (value & 7)\n-            fprintf(stderr, \"%s: test mode enable attempt\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: test mode enable attempt\\n\", __func__);\n         break;\n \n     default:\n@@ -864,7 +864,7 @@ void omap_gpmc_attach(struct omap_gpmc_s *s, int cs, MemoryRegion *iomem)\n     assert(iomem);\n \n     if (cs < 0 || cs >= 8) {\n-        fprintf(stderr, \"%s: bad chip-select %i\\n\", __FUNCTION__, cs);\n+        fprintf(stderr, \"%s: bad chip-select %i\\n\", __func__, cs);\n         exit(-1);\n     }\n     f = &s->cs_file[cs];\ndiff --git a/hw/misc/omap_l4.c b/hw/misc/omap_l4.c\nindex 88c533a0fe..96fc057b4e 100644\n--- a/hw/misc/omap_l4.c\n+++ b/hw/misc/omap_l4.c\n@@ -126,7 +126,7 @@ struct omap_target_agent_s *omap_l4ta_get(struct omap_l4_s *bus,\n             break;\n         }\n     if (!ta) {\n-        fprintf(stderr, \"%s: bad target agent (%i)\\n\", __FUNCTION__, cs);\n+        fprintf(stderr, \"%s: bad target agent (%i)\\n\", __func__, cs);\n         exit(-1);\n     }\n \n@@ -151,7 +151,7 @@ hwaddr omap_l4_attach(struct omap_target_agent_s *ta,\n     hwaddr base;\n \n     if (region < 0 || region >= ta->regions) {\n-        fprintf(stderr, \"%s: bad io region (%i)\\n\", __FUNCTION__, region);\n+        fprintf(stderr, \"%s: bad io region (%i)\\n\", __func__, region);\n         exit(-1);\n     }\n \ndiff --git a/hw/misc/omap_sdrc.c b/hw/misc/omap_sdrc.c\nindex dff37ecaf9..7b38c5568c 100644\n--- a/hw/misc/omap_sdrc.c\n+++ b/hw/misc/omap_sdrc.c\n@@ -109,7 +109,7 @@ static void omap_sdrc_write(void *opaque, hwaddr addr,\n     case 0x10:\t/* SDRC_SYSCONFIG */\n         if ((value >> 3) != 0x2)\n             fprintf(stderr, \"%s: bad SDRAM idle mode %i\\n\",\n-                    __FUNCTION__, (unsigned)value >> 3);\n+                    __func__, (unsigned)value >> 3);\n         if (value & 2)\n             omap_sdrc_reset(s);\n         s->config = value & 0x18;\ndiff --git a/hw/misc/omap_tap.c b/hw/misc/omap_tap.c\nindex e6ea8ee235..3f595e8df7 100644\n--- a/hw/misc/omap_tap.c\n+++ b/hw/misc/omap_tap.c\n@@ -44,7 +44,7 @@ static uint64_t omap_tap_read(void *opaque, hwaddr addr,\n         case omap3430:\n             return 0x1b7ae02f;\t/* ES 2 */\n         default:\n-            hw_error(\"%s: Bad mpu model\\n\", __FUNCTION__);\n+            hw_error(\"%s: Bad mpu model\\n\", __func__);\n         }\n \n     case 0x208:\t/* PRODUCTION_ID_reg for OMAP2 */\n@@ -61,7 +61,7 @@ static uint64_t omap_tap_read(void *opaque, hwaddr addr,\n         case omap3430:\n             return 0x000000f0;\n         default:\n-            hw_error(\"%s: Bad mpu model\\n\", __FUNCTION__);\n+            hw_error(\"%s: Bad mpu model\\n\", __func__);\n         }\n \n     case 0x20c:\n@@ -75,7 +75,7 @@ static uint64_t omap_tap_read(void *opaque, hwaddr addr,\n         case omap3430:\n             return 0xcafeb7ae;\t/* ES 2 */\n         default:\n-            hw_error(\"%s: Bad mpu model\\n\", __FUNCTION__);\n+            hw_error(\"%s: Bad mpu model\\n\", __func__);\n         }\n \n     case 0x218:\t/* DIE_ID_reg */\ndiff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c\nindex 04e83787d4..9e22d64e36 100644\n--- a/hw/misc/tmp105.c\n+++ b/hw/misc/tmp105.c\n@@ -131,7 +131,7 @@ static void tmp105_write(TMP105State *s)\n \n     case TMP105_REG_CONFIG:\n         if (s->buf[0] & ~s->config & (1 << 0))\t\t\t/* SD */\n-            printf(\"%s: TMP105 shutdown\\n\", __FUNCTION__);\n+            printf(\"%s: TMP105 shutdown\\n\", __func__);\n         s->config = s->buf[0];\n         s->faults = tmp105_faultq[(s->config >> 3) & 3];\t/* F */\n         tmp105_alarm_update(s);\ndiff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c\nindex 89133a9dd3..1767d2af61 100644\n--- a/hw/pci-host/bonito.c\n+++ b/hw/pci-host/bonito.c\n@@ -50,7 +50,7 @@\n //#define DEBUG_BONITO\n \n #ifdef DEBUG_BONITO\n-#define DPRINTF(fmt, ...) fprintf(stderr, \"%s: \" fmt, __FUNCTION__, ##__VA_ARGS__)\n+#define DPRINTF(fmt, ...) fprintf(stderr, \"%s: \" fmt, __func__, ##__VA_ARGS__)\n #else\n #define DPRINTF(fmt, ...)\n #endif\ndiff --git a/hw/sd/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c\nindex 3deccf02c9..0d4b88c609 100644\n--- a/hw/sd/pxa2xx_mmci.c\n+++ b/hw/sd/pxa2xx_mmci.c\n@@ -330,7 +330,7 @@ static uint64_t pxa2xx_mmci_read(void *opaque, hwaddr offset, unsigned size)\n     case MMC_BLKS_REM:\n         return s->numblk;\n     default:\n-        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __func__, offset);\n     }\n \n     return 0;\n@@ -369,7 +369,7 @@ static void pxa2xx_mmci_write(void *opaque,\n     case MMC_SPI:\n         s->spi = value & 0xf;\n         if (value & SPI_SPI_MODE)\n-            printf(\"%s: attempted to use card in SPI mode\\n\", __FUNCTION__);\n+            printf(\"%s: attempted to use card in SPI mode\\n\", __func__);\n         break;\n \n     case MMC_CMDAT:\n@@ -442,7 +442,7 @@ static void pxa2xx_mmci_write(void *opaque,\n         break;\n \n     default:\n-        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n+        hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __func__, offset);\n     }\n }\n \ndiff --git a/hw/ssi/omap_spi.c b/hw/ssi/omap_spi.c\nindex 22034656b8..34163e5646 100644\n--- a/hw/ssi/omap_spi.c\n+++ b/hw/ssi/omap_spi.c\n@@ -295,10 +295,10 @@ static void omap_mcspi_write(void *opaque, hwaddr addr,\n         if ((value ^ s->ch[ch].config) & (3 << 14))\t/* DMAR | DMAW */\n             omap_mcspi_dmarequest_update(s->ch + ch);\n         if (((value >> 12) & 3) == 3)\t\t\t/* TRM */\n-            fprintf(stderr, \"%s: invalid TRM value (3)\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: invalid TRM value (3)\\n\", __func__);\n         if (((value >> 7) & 0x1f) < 3)\t\t\t/* WL */\n             fprintf(stderr, \"%s: invalid WL value (%\" PRIx64 \")\\n\",\n-                            __FUNCTION__, (value >> 7) & 0x1f);\n+                            __func__, (value >> 7) & 0x1f);\n         s->ch[ch].config = value & 0x7fffff;\n         break;\n \n@@ -367,7 +367,7 @@ void omap_mcspi_attach(struct omap_mcspi_s *s,\n                 int chipselect)\n {\n     if (chipselect < 0 || chipselect >= s->chnum)\n-        hw_error(\"%s: Bad chipselect %i\\n\", __FUNCTION__, chipselect);\n+        hw_error(\"%s: Bad chipselect %i\\n\", __func__, chipselect);\n \n     s->ch[chipselect].txrx = txrx;\n     s->ch[chipselect].opaque = opaque;\ndiff --git a/hw/timer/omap_gptimer.c b/hw/timer/omap_gptimer.c\nindex 6d7c8a396f..ae2dc99832 100644\n--- a/hw/timer/omap_gptimer.c\n+++ b/hw/timer/omap_gptimer.c\n@@ -357,7 +357,7 @@ static void omap_gp_timer_write(void *opaque, hwaddr addr,\n         s->config = value & 0x33d;\n         if (((value >> 3) & 3) == 3)\t\t\t\t/* IDLEMODE */\n             fprintf(stderr, \"%s: illegal IDLEMODE value in TIOCP_CFG\\n\",\n-                            __FUNCTION__);\n+                            __func__);\n         if (value & 2)\t\t\t\t\t\t/* SOFTRESET */\n             omap_gp_timer_reset(s);\n         break;\n@@ -395,10 +395,10 @@ static void omap_gp_timer_write(void *opaque, hwaddr addr,\n         s->st = (value >> 0) & 1;\n         if (s->inout && s->trigger != gpt_trigger_none)\n             fprintf(stderr, \"%s: GP timer pin must be an output \"\n-                            \"for this trigger mode\\n\", __FUNCTION__);\n+                            \"for this trigger mode\\n\", __func__);\n         if (!s->inout && s->capture != gpt_capture_none)\n             fprintf(stderr, \"%s: GP timer pin must be an input \"\n-                            \"for this capture mode\\n\", __FUNCTION__);\n+                            \"for this capture mode\\n\", __func__);\n         if (s->trigger == gpt_trigger_none)\n             omap_gp_timer_out(s, s->scpwm);\n         /* TODO: make sure this doesn't overflow 32-bits */\ndiff --git a/hw/timer/twl92230.c b/hw/timer/twl92230.c\nindex c0aa8ae3de..87e334af24 100644\n--- a/hw/timer/twl92230.c\n+++ b/hw/timer/twl92230.c\n@@ -403,7 +403,7 @@ static uint8_t menelaus_read(void *opaque, uint8_t addr)\n \n     default:\n #ifdef VERBOSE\n-        printf(\"%s: unknown register %02x\\n\", __FUNCTION__, addr);\n+        printf(\"%s: unknown register %02x\\n\", __func__, addr);\n #endif\n         break;\n     }\n@@ -615,7 +615,7 @@ static void menelaus_write(void *opaque, uint8_t addr, uint8_t value)\n         rtc_badness:\n         default:\n             fprintf(stderr, \"%s: bad RTC_UPDATE value %02x\\n\",\n-                            __FUNCTION__, value);\n+                            __func__, value);\n             s->status |= 1 << 10;\t\t\t\t/* RTCERR */\n             menelaus_update(s);\n         }\n@@ -708,7 +708,7 @@ static void menelaus_write(void *opaque, uint8_t addr, uint8_t value)\n \n     default:\n #ifdef VERBOSE\n-        printf(\"%s: unknown register %02x\\n\", __FUNCTION__, addr);\n+        printf(\"%s: unknown register %02x\\n\", __func__, addr);\n #endif\n     }\n }\ndiff --git a/hw/usb/desc.c b/hw/usb/desc.c\nindex c36bf30e4f..85c15addc5 100644\n--- a/hw/usb/desc.c\n+++ b/hw/usb/desc.c\n@@ -688,7 +688,7 @@ int usb_desc_get_descriptor(USBDevice *dev, USBPacket *p,\n         break;\n \n     default:\n-        fprintf(stderr, \"%s: %d unknown type %d (len %zd)\\n\", __FUNCTION__,\n+        fprintf(stderr, \"%s: %d unknown type %d (len %zd)\\n\", __func__,\n                 dev->addr, type, len);\n         break;\n     }\ndiff --git a/hw/usb/dev-bluetooth.c b/hw/usb/dev-bluetooth.c\nindex 443e3c301d..0bbceaea0b 100644\n--- a/hw/usb/dev-bluetooth.c\n+++ b/hw/usb/dev-bluetooth.c\n@@ -274,13 +274,13 @@ static void usb_bt_fifo_enqueue(struct usb_hci_in_fifo_s *fifo,\n     if (off <= DFIFO_LEN_MASK) {\n         if (off + len > DFIFO_LEN_MASK + 1 &&\n                         (fifo->dsize = off + len) > (DFIFO_LEN_MASK + 1) * 2) {\n-            fprintf(stderr, \"%s: can't alloc %i bytes\\n\", __FUNCTION__, len);\n+            fprintf(stderr, \"%s: can't alloc %i bytes\\n\", __func__, len);\n             exit(-1);\n         }\n         buf = fifo->data + off;\n     } else {\n         if (fifo->dlen > fifo->dsize) {\n-            fprintf(stderr, \"%s: can't alloc %i bytes\\n\", __FUNCTION__, len);\n+            fprintf(stderr, \"%s: can't alloc %i bytes\\n\", __func__, len);\n             exit(-1);\n         }\n         buf = fifo->data + off - fifo->dsize;\ndiff --git a/hw/usb/hcd-musb.c b/hw/usb/hcd-musb.c\nindex 27d9d0bd82..d70a91a58c 100644\n--- a/hw/usb/hcd-musb.c\n+++ b/hw/usb/hcd-musb.c\n@@ -253,8 +253,8 @@\n /* #define MUSB_DEBUG */\n \n #ifdef MUSB_DEBUG\n-#define TRACE(fmt,...) fprintf(stderr, \"%s@%d: \" fmt \"\\n\", __FUNCTION__, \\\n-                               __LINE__, ##__VA_ARGS__)\n+#define TRACE(fmt, ...) fprintf(stderr, \"%s@%d: \" fmt \"\\n\", __func__, \\\n+                                __LINE__, ##__VA_ARGS__)\n #else\n #define TRACE(...)\n #endif\ndiff --git a/hw/usb/tusb6010.c b/hw/usb/tusb6010.c\nindex 8f593a6fdb..2662c060ed 100644\n--- a/hw/usb/tusb6010.c\n+++ b/hw/usb/tusb6010.c\n@@ -296,7 +296,7 @@ static uint32_t tusb_async_readb(void *opaque, hwaddr addr)\n     }\n \n     printf(\"%s: unknown register at %03x\\n\",\n-                    __FUNCTION__, (int) (addr & 0xfff));\n+                    __func__, (int) (addr & 0xfff));\n     return 0;\n }\n \n@@ -313,7 +313,7 @@ static uint32_t tusb_async_readh(void *opaque, hwaddr addr)\n     }\n \n     printf(\"%s: unknown register at %03x\\n\",\n-                    __FUNCTION__, (int) (addr & 0xfff));\n+                    __func__, (int) (addr & 0xfff));\n     return 0;\n }\n \n@@ -436,7 +436,7 @@ static uint32_t tusb_async_readw(void *opaque, hwaddr addr)\n         return 0x54059adf;\n     }\n \n-    printf(\"%s: unknown register at %03x\\n\", __FUNCTION__, offset);\n+    printf(\"%s: unknown register at %03x\\n\", __func__, offset);\n     return 0;\n }\n \n@@ -456,7 +456,7 @@ static void tusb_async_writeb(void *opaque, hwaddr addr,\n \n     default:\n         printf(\"%s: unknown register at %03x\\n\",\n-                        __FUNCTION__, (int) (addr & 0xfff));\n+                        __func__, (int) (addr & 0xfff));\n         return;\n     }\n }\n@@ -477,7 +477,7 @@ static void tusb_async_writeh(void *opaque, hwaddr addr,\n \n     default:\n         printf(\"%s: unknown register at %03x\\n\",\n-                        __FUNCTION__, (int) (addr & 0xfff));\n+                        __func__, (int) (addr & 0xfff));\n         return;\n     }\n }\n@@ -505,7 +505,7 @@ static void tusb_async_writew(void *opaque, hwaddr addr,\n         s->dev_config = value;\n         s->host_mode = (value & TUSB_DEV_CONF_USB_HOST_MODE);\n         if (value & TUSB_DEV_CONF_PROD_TEST_MODE)\n-            hw_error(\"%s: Product Test mode not allowed\\n\", __FUNCTION__);\n+            hw_error(\"%s: Product Test mode not allowed\\n\", __func__);\n         break;\n \n     case TUSB_PHY_OTG_CTRL_ENABLE:\n@@ -636,7 +636,7 @@ static void tusb_async_writew(void *opaque, hwaddr addr,\n         break;\n \n     default:\n-        printf(\"%s: unknown register at %03x\\n\", __FUNCTION__, offset);\n+        printf(\"%s: unknown register at %03x\\n\", __func__, offset);\n         return;\n     }\n }\ndiff --git a/hw/xenpv/xen_domainbuild.c b/hw/xenpv/xen_domainbuild.c\nindex c89ced2e88..027f76fad1 100644\n--- a/hw/xenpv/xen_domainbuild.c\n+++ b/hw/xenpv/xen_domainbuild.c\n@@ -25,22 +25,22 @@ static int xenstore_domain_mkdir(char *path)\n     int i;\n \n     if (!xs_mkdir(xenstore, 0, path)) {\n-        fprintf(stderr, \"%s: xs_mkdir %s: failed\\n\", __FUNCTION__, path);\n+        fprintf(stderr, \"%s: xs_mkdir %s: failed\\n\", __func__, path);\n \treturn -1;\n     }\n     if (!xs_set_permissions(xenstore, 0, path, perms_ro, 2)) {\n-        fprintf(stderr, \"%s: xs_set_permissions failed\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: xs_set_permissions failed\\n\", __func__);\n \treturn -1;\n     }\n \n     for (i = 0; writable[i]; i++) {\n         snprintf(subpath, sizeof(subpath), \"%s/%s\", path, writable[i]);\n         if (!xs_mkdir(xenstore, 0, subpath)) {\n-            fprintf(stderr, \"%s: xs_mkdir %s: failed\\n\", __FUNCTION__, subpath);\n+            fprintf(stderr, \"%s: xs_mkdir %s: failed\\n\", __func__, subpath);\n             return -1;\n         }\n         if (!xs_set_permissions(xenstore, 0, subpath, perms_rw, 2)) {\n-            fprintf(stderr, \"%s: xs_set_permissions failed\\n\", __FUNCTION__);\n+            fprintf(stderr, \"%s: xs_set_permissions failed\\n\", __func__);\n             return -1;\n         }\n     }\n@@ -158,7 +158,7 @@ static int xen_domain_watcher(void)\n     char byte;\n \n     if (pipe(fd) != 0) {\n-        qemu_log(\"%s: Huh? pipe error: %s\\n\", __FUNCTION__, strerror(errno));\n+        qemu_log(\"%s: Huh? pipe error: %s\\n\", __func__, strerror(errno));\n         return -1;\n     }\n     if (fork() != 0)\n@@ -190,7 +190,7 @@ static int xen_domain_watcher(void)\n         case -1:\n             if (errno == EINTR)\n                 continue;\n-            qemu_log(\"%s: Huh? read error: %s\\n\", __FUNCTION__, strerror(errno));\n+            qemu_log(\"%s: Huh? read error: %s\\n\", __func__, strerror(errno));\n             qemu_running = 0;\n             break;\n         case 0:\n@@ -198,13 +198,13 @@ static int xen_domain_watcher(void)\n             qemu_running = 0;\n             break;\n         default:\n-            qemu_log(\"%s: Huh? data on the watch pipe?\\n\", __FUNCTION__);\n+            qemu_log(\"%s: Huh? data on the watch pipe?\\n\", __func__);\n             break;\n         }\n     }\n \n     /* cleanup */\n-    qemu_log(\"%s: destroy domain %d\\n\", __FUNCTION__, xen_domid);\n+    qemu_log(\"%s: destroy domain %d\\n\", __func__, xen_domid);\n     xc_domain_destroy(xen_xc, xen_domid);\n     _exit(0);\n }\ndiff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c\nindex 31d2f25627..69a52a9f93 100644\n--- a/hw/xenpv/xen_machine_pv.c\n+++ b/hw/xenpv/xen_machine_pv.c\n@@ -36,7 +36,7 @@ static void xen_init_pv(MachineState *machine)\n \n     /* Initialize backend core & drivers */\n     if (xen_be_init() != 0) {\n-        fprintf(stderr, \"%s: xen backend core setup failed\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: xen backend core setup failed\\n\", __func__);\n         exit(1);\n     }\n \ndiff --git a/include/hw/arm/omap.h b/include/hw/arm/omap.h\nindex cac1b2ba43..b398607b06 100644\n--- a/include/hw/arm/omap.h\n+++ b/include/hw/arm/omap.h\n@@ -960,10 +960,10 @@ void omap_mpu_wakeup(void *opaque, int irq, int req);\n \n # define OMAP_BAD_REG(paddr)\t\t\\\n         fprintf(stderr, \"%s: Bad register \" OMAP_FMT_plx \"\\n\",\t\\\n-                        __FUNCTION__, paddr)\n+                        __func__, paddr)\n # define OMAP_RO_REG(paddr)\t\t\\\n         fprintf(stderr, \"%s: Read-only register \" OMAP_FMT_plx \"\\n\",\t\\\n-                        __FUNCTION__, paddr)\n+                        __func__, paddr)\n \n /* OMAP-specific Linux bootloader tags for the ATAG_BOARD area\n    (Board-specifc tags are not here)  */\n@@ -998,13 +998,13 @@ enum {\n # ifdef TCMI_VERBOSE\n #  define OMAP_8B_REG(paddr)\t\t\\\n         fprintf(stderr, \"%s: 8-bit register \" OMAP_FMT_plx \"\\n\",\t\\\n-                        __FUNCTION__, paddr)\n+                        __func__, paddr)\n #  define OMAP_16B_REG(paddr)\t\t\\\n         fprintf(stderr, \"%s: 16-bit register \" OMAP_FMT_plx \"\\n\",\t\\\n-                        __FUNCTION__, paddr)\n+                        __func__, paddr)\n #  define OMAP_32B_REG(paddr)\t\t\\\n         fprintf(stderr, \"%s: 32-bit register \" OMAP_FMT_plx \"\\n\",\t\\\n-                        __FUNCTION__, paddr)\n+                        __func__, paddr)\n # else\n #  define OMAP_8B_REG(paddr)\n #  define OMAP_16B_REG(paddr)\ndiff --git a/include/hw/arm/sharpsl.h b/include/hw/arm/sharpsl.h\nindex 13981a6d03..5bf6db1fa2 100644\n--- a/include/hw/arm/sharpsl.h\n+++ b/include/hw/arm/sharpsl.h\n@@ -7,7 +7,7 @@\n #define QEMU_SHARPSL_H\n \n #define zaurus_printf(format, ...)\t\\\n-    fprintf(stderr, \"%s: \" format, __FUNCTION__, ##__VA_ARGS__)\n+    fprintf(stderr, \"%s: \" format, __func__, ##__VA_ARGS__)\n \n /* zaurus.c */\n \ndiff --git a/memory_mapping.c b/memory_mapping.c\nindex a5d38552a6..775466f3a8 100644\n--- a/memory_mapping.c\n+++ b/memory_mapping.c\n@@ -256,7 +256,7 @@ static void guest_phys_blocks_region_add(MemoryListener *listener,\n \n #ifdef DEBUG_GUEST_PHYS_REGION_ADD\n     fprintf(stderr, \"%s: target_start=\" TARGET_FMT_plx \" target_end=\"\n-            TARGET_FMT_plx \": %s (count: %u)\\n\", __FUNCTION__, target_start,\n+            TARGET_FMT_plx \": %s (count: %u)\\n\", __func__, target_start,\n             target_end, predecessor ? \"joined\" : \"added\", g->list->num);\n #endif\n }\ndiff --git a/migration/block.c b/migration/block.c\nindex 9171f60028..0e1b90a365 100644\n--- a/migration/block.c\n+++ b/migration/block.c\n@@ -621,7 +621,7 @@ static int flush_blks(QEMUFile *f)\n     int ret = 0;\n \n     DPRINTF(\"%s Enter submitted %d read_done %d transferred %d\\n\",\n-            __FUNCTION__, block_mig_state.submitted, block_mig_state.read_done,\n+            __func__, block_mig_state.submitted, block_mig_state.read_done,\n             block_mig_state.transferred);\n \n     blk_mig_lock();\n@@ -648,7 +648,7 @@ static int flush_blks(QEMUFile *f)\n     }\n     blk_mig_unlock();\n \n-    DPRINTF(\"%s Exit submitted %d read_done %d transferred %d\\n\", __FUNCTION__,\n+    DPRINTF(\"%s Exit submitted %d read_done %d transferred %d\\n\", __func__,\n             block_mig_state.submitted, block_mig_state.read_done,\n             block_mig_state.transferred);\n     return ret;\ndiff --git a/ui/cursor.c b/ui/cursor.c\nindex 2e2fe13fa6..f3da0cee79 100644\n--- a/ui/cursor.c\n+++ b/ui/cursor.c\n@@ -19,11 +19,11 @@ static QEMUCursor *cursor_parse_xpm(const char *xpm[])\n     if (sscanf(xpm[line], \"%u %u %u %u\",\n                &width, &height, &colors, &chars) != 4) {\n         fprintf(stderr, \"%s: header parse error: \\\"%s\\\"\\n\",\n-                __FUNCTION__, xpm[line]);\n+                __func__, xpm[line]);\n         return NULL;\n     }\n     if (chars != 1) {\n-        fprintf(stderr, \"%s: chars != 1 not supported\\n\", __FUNCTION__);\n+        fprintf(stderr, \"%s: chars != 1 not supported\\n\", __func__);\n         return NULL;\n     }\n     line++;\n@@ -41,7 +41,7 @@ static QEMUCursor *cursor_parse_xpm(const char *xpm[])\n             }\n         }\n         fprintf(stderr, \"%s: color parse error: \\\"%s\\\"\\n\",\n-                __FUNCTION__, xpm[line]);\n+                __func__, xpm[line]);\n         return NULL;\n     }\n \ndiff --git a/ui/spice-display.c b/ui/spice-display.c\nindex 0963c7825f..346fff44f4 100644\n--- a/ui/spice-display.c\n+++ b/ui/spice-display.c\n@@ -630,13 +630,13 @@ static int interface_req_cursor_notification(QXLInstance *sin)\n \n static void interface_notify_update(QXLInstance *sin, uint32_t update_id)\n {\n-    fprintf(stderr, \"%s: abort()\\n\", __FUNCTION__);\n+    fprintf(stderr, \"%s: abort()\\n\", __func__);\n     abort();\n }\n \n static int interface_flush_resources(QXLInstance *sin)\n {\n-    fprintf(stderr, \"%s: abort()\\n\", __FUNCTION__);\n+    fprintf(stderr, \"%s: abort()\\n\", __func__);\n     abort();\n     return 0;\n }\n",
    "prefixes": [
        "v1",
        "1/8"
    ]
}