From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm: Reduce object size of drm_dev_printk/DRM_DEV_ uses Date: Mon, 25 Sep 2017 15:16:07 +0300 Message-ID: <87mv5j3reg.fsf@nikula.org> References: <693db79230a414560005936cedf4080d20235c03.1506340959.git.joe@perches.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8CF7B89B9F for ; Mon, 25 Sep 2017 12:16:39 +0000 (UTC) In-Reply-To: <693db79230a414560005936cedf4080d20235c03.1506340959.git.joe@perches.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Joe Perches , Daniel Vetter , Sean Paul , David Airlie Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyNSBTZXAgMjAxNywgSm9lIFBlcmNoZXMgPGpvZUBwZXJjaGVzLmNvbT4gd3JvdGU6 Cj4gUmVtb3ZlIHVubmVjZXNzYXJ5IGZ1bmN0aW9uX25hbWUgYW5kIHByZWZpeCBhcmd1bWVudHMu Cj4gUmVtb3ZpbmcgdGhlc2UgYXJndW1lbnRzIHJlZHVjZXMgb2JqZWN0IHNpemUuCj4KPiBwcmVm aXggaXMgdXNlZCB0byBhZGQgYW4gIkVSUk9SIiBwcmVmaXggdG8gdGhlIGZvcm1hdCBmb3IKPiBE Uk1fREVWX0VSUk9SIGFuZCBpcyBhbiBlbXB0eSBzdHJpbmcgZm9yIGFsbCBvdGhlciB1c2VzLgo+ IFRoaXMgc3RyaW5nIGNhbiBiZSBhZGRlZCBpbnN0ZWFkIGJ5IHRoZSBEUk1fREVWX0VSUk9SIG1h Y3JvLgo+Cj4gZnVuY3Rpb25fbmFtZSBpcyB1c2VkIHRvIGVtaXQgdGhlIGNhbGxpbmcgZnVuY3Rp b24uCj4gVGhpcyBjYW4gYmUgZG9uZSBieSB1c2luZyAlcHMgYW5kIF9fYnVpbHRpbl9yZXR1cm5f YWRkcmVzcygwKS4KCkRpZCB5b3UgZGlmZiB0aGUgZG1lc2dzIHRvIHNlZSBob3cgbXVjaCB0aGF0 IGdldHMgc2tld2VkIGZyb20gX19mdW5jX18KYnkgb3B0aW1pemF0aW9ucz8KCkJSLApKYW5pLgoK Cj4KPiBTaWduZWQtb2ZmLWJ5OiBKb2UgUGVyY2hlcyA8am9lQHBlcmNoZXMuY29tPgo+IC0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIHwgMTIgKysrKystLS0tLS0tCj4gIGluY2x1ZGUv ZHJtL2RybVAuaCAgICAgICAgfCA0MiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2Rydi5oICAgICB8ICA1ICsrLS0tCj4gIDMgZmls ZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2 LmMKPiBpbmRleCBiZTM4YWM3MDUwZDQuLjRkMGYyYzUxOTdmMyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwo+ IEBAIC03NCwxMSArNzQsOCBAQCBzdGF0aWMgYm9vbCBkcm1fY29yZV9pbml0X2NvbXBsZXRlID0g ZmFsc2U7Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRlbnRyeSAqZHJtX2RlYnVnZnNfcm9vdDsKPiAg Cj4gLSNkZWZpbmUgRFJNX1BSSU5US19GTVQgIlsiIERSTV9OQU1FICI6JXNdJXMgJXBWIgo+IC0K PiAgdm9pZCBkcm1fZGV2X3ByaW50ayhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNo YXIgKmxldmVsLAo+IC0JCSAgICB1bnNpZ25lZCBpbnQgY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmZ1 bmN0aW9uX25hbWUsCj4gLQkJICAgIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqZm9y bWF0LCAuLi4pCj4gKwkJICAgIHVuc2lnbmVkIGludCBjYXRlZ29yeSwgY29uc3QgY2hhciAqZm9y bWF0LCAuLi4pCj4gIHsKPiAgCXN0cnVjdCB2YV9mb3JtYXQgdmFmOwo+ICAJdmFfbGlzdCBhcmdz Owo+IEBAIC05MSwxMCArODgsMTEgQEAgdm9pZCBkcm1fZGV2X3ByaW50ayhjb25zdCBzdHJ1Y3Qg ZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmxldmVsLAo+ICAJdmFmLnZhID0gJmFyZ3M7Cj4gIAo+ ICAJaWYgKGRldikKPiAtCQlkZXZfcHJpbnRrKGxldmVsLCBkZXYsIERSTV9QUklOVEtfRk1ULCBm dW5jdGlvbl9uYW1lLCBwcmVmaXgsCj4gLQkJCSAgICZ2YWYpOwo+ICsJCWRldl9wcmludGsobGV2 ZWwsIGRldiwgIlsiIERSTV9OQU1FICI6JXBzXSAlcFYiLAo+ICsJCQkgICBfX2J1aWx0aW5fcmV0 dXJuX2FkZHJlc3MoMCksICZ2YWYpOwo+ICAJZWxzZQo+IC0JCXByaW50aygiJXMiIERSTV9QUklO VEtfRk1ULCBsZXZlbCwgZnVuY3Rpb25fbmFtZSwgcHJlZml4LCAmdmFmKTsKPiArCQlwcmludGso IiVzWyIgRFJNX05BTUUgIjolcHNdICVwViIsCj4gKwkJICAgICAgIGxldmVsLCBfX2J1aWx0aW5f cmV0dXJuX2FkZHJlc3MoMCksICZ2YWYpOwo+ICAKPiAgCXZhX2VuZChhcmdzKTsKPiAgfQo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKPiBpbmRl eCA3Mjc3NzgzYTRmZjAuLjE2ZGQ2M2ZmYTFmZiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1QLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKPiBAQCAtMTcyLDggKzE3Miw4IEBAIHN0 cnVjdCBwY2lfY29udHJvbGxlcjsKPiAgICogXHBhcmFtIGFyZyBhcmd1bWVudHMKPiAgICovCj4g ICNkZWZpbmUgRFJNX0RFVl9FUlJPUihkZXYsIGZtdCwgLi4uKQkJCQkJXAo+IC0JZHJtX2Rldl9w cmludGsoZGV2LCBLRVJOX0VSUiwgRFJNX1VUX05PTkUsIF9fZnVuY19fLCAiICpFUlJPUioiLFwK PiAtCQkgICAgICAgZm10LCAjI19fVkFfQVJHU19fKQo+ICsJZHJtX2Rldl9wcmludGsoZGV2LCBL RVJOX0VSUiwgRFJNX1VUX05PTkUsCQkJXAo+ICsJCSAgICAgICAiKkVSUk9SKiAiIGZtdCwgIyNf X1ZBX0FSR1NfXykKPiAgI2RlZmluZSBEUk1fRVJST1IoZm10LCAuLi4pCQkJCQkJXAo+ICAJZHJt X3ByaW50ayhLRVJOX0VSUiwgRFJNX1VUX05PTkUsIGZtdCwJIyNfX1ZBX0FSR1NfXykKPiAgCj4g QEAgLTE5Niw4ICsxOTYsOCBAQCBzdHJ1Y3QgcGNpX2NvbnRyb2xsZXI7Cj4gIAlEUk1fREVWX0VS Uk9SX1JBVEVMSU1JVEVEKE5VTEwsIGZtdCwgIyNfX1ZBX0FSR1NfXykKPiAgCj4gICNkZWZpbmUg RFJNX0RFVl9JTkZPKGRldiwgZm10LCAuLi4pCQkJCQlcCj4gLQlkcm1fZGV2X3ByaW50ayhkZXYs IEtFUk5fSU5GTywgRFJNX1VUX05PTkUsIF9fZnVuY19fLCAiIiwgZm10LAlcCj4gLQkJICAgICAg ICMjX19WQV9BUkdTX18pCj4gKwlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fSU5GTywgRFJNX1VU X05PTkUsCQkJXAo+ICsJCSAgICAgICBmbXQsICMjX19WQV9BUkdTX18pCj4gIAo+ICAjZGVmaW5l IERSTV9ERVZfSU5GT19PTkNFKGRldiwgZm10LCAuLi4pCQkJCVwKPiAgKHsJCQkJCQkJCQlcCj4g QEAgLTIxNCw1MCArMjE0LDQ0IEBAIHN0cnVjdCBwY2lfY29udHJvbGxlcjsKPiAgICogXHBhcmFt IGZtdCBwcmludGYoKSBsaWtlIGZvcm1hdCBzdHJpbmcuCj4gICAqIFxwYXJhbSBhcmcgYXJndW1l bnRzCj4gICAqLwo+IC0jZGVmaW5lIERSTV9ERVZfREVCVUcoZGV2LCBmbXQsIGFyZ3MuLi4pCQkJ CVwKPiAtCWRybV9kZXZfcHJpbnRrKGRldiwgS0VSTl9ERUJVRywgRFJNX1VUX0NPUkUsIF9fZnVu Y19fLCAiIiwgZm10LAlcCj4gLQkJICAgICAgICMjYXJncykKPiArI2RlZmluZSBEUk1fREVWX0RF QlVHKGRldiwgZm10LCAuLi4pCQkJCQlcCj4gKwlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fREVC VUcsIERSTV9VVF9DT1JFLCBmbXQsICMjX19WQV9BUkdTX18pCj4gICNkZWZpbmUgRFJNX0RFQlVH KGZtdCwgLi4uKQkJCQkJCVwKPiAgCWRybV9wcmludGsoS0VSTl9ERUJVRywgRFJNX1VUX0NPUkUs IGZtdCwgIyNfX1ZBX0FSR1NfXykKPiAgCj4gLSNkZWZpbmUgRFJNX0RFVl9ERUJVR19EUklWRVIo ZGV2LCBmbXQsIGFyZ3MuLi4pCQkJCVwKPiAtCWRybV9kZXZfcHJpbnRrKGRldiwgS0VSTl9ERUJV RywgRFJNX1VUX0RSSVZFUiwgX19mdW5jX18sICIiLAlcCj4gLQkJICAgICAgIGZtdCwgIyNhcmdz KQo+ICsjZGVmaW5lIERSTV9ERVZfREVCVUdfRFJJVkVSKGRldiwgZm10LCAuLi4pCQkJCVwKPiAr CWRybV9kZXZfcHJpbnRrKGRldiwgS0VSTl9ERUJVRywgRFJNX1VUX0RSSVZFUiwgZm10LCAjI19f VkFfQVJHU19fKQo+ICAjZGVmaW5lIERSTV9ERUJVR19EUklWRVIoZm10LCAuLi4pCQkJCQlcCj4g IAlkcm1fcHJpbnRrKEtFUk5fREVCVUcsIERSTV9VVF9EUklWRVIsIGZtdCwgIyNfX1ZBX0FSR1Nf XykKPiAgCj4gLSNkZWZpbmUgRFJNX0RFVl9ERUJVR19LTVMoZGV2LCBmbXQsIGFyZ3MuLi4pCQkJ CVwKPiAtCWRybV9kZXZfcHJpbnRrKGRldiwgS0VSTl9ERUJVRywgRFJNX1VUX0tNUywgX19mdW5j X18sICIiLCBmbXQsCVwKPiAtCQkgICAgICAgIyNhcmdzKQo+ICsjZGVmaW5lIERSTV9ERVZfREVC VUdfS01TKGRldiwgZm10LCAuLi4pCQkJCVwKPiArCWRybV9kZXZfcHJpbnRrKGRldiwgS0VSTl9E RUJVRywgRFJNX1VUX0tNUywgZm10LCAjI19fVkFfQVJHU19fKQo+ICAjZGVmaW5lIERSTV9ERUJV R19LTVMoZm10LCAuLi4pCQkJCQlcCj4gIAlkcm1fcHJpbnRrKEtFUk5fREVCVUcsIERSTV9VVF9L TVMsIGZtdCwgIyNfX1ZBX0FSR1NfXykKPiAgCj4gLSNkZWZpbmUgRFJNX0RFVl9ERUJVR19QUklN RShkZXYsIGZtdCwgYXJncy4uLikJCQkJXAo+IC0JZHJtX2Rldl9wcmludGsoZGV2LCBLRVJOX0RF QlVHLCBEUk1fVVRfUFJJTUUsIF9fZnVuY19fLCAiIiwJXAo+IC0JCSAgICAgICBmbXQsICMjYXJn cykKPiArI2RlZmluZSBEUk1fREVWX0RFQlVHX1BSSU1FKGRldiwgZm10LCAuLi4pCQkJCVwKPiAr CWRybV9kZXZfcHJpbnRrKGRldiwgS0VSTl9ERUJVRywgRFJNX1VUX1BSSU1FLCAjI19fVkFfQVJH U19fKQo+ICAjZGVmaW5lIERSTV9ERUJVR19QUklNRShmbXQsIC4uLikJCQkJCVwKPiAgCWRybV9w cmludGsoS0VSTl9ERUJVRywgRFJNX1VUX1BSSU1FLCBmbXQsICMjX19WQV9BUkdTX18pCj4gIAo+ IC0jZGVmaW5lIERSTV9ERVZfREVCVUdfQVRPTUlDKGRldiwgZm10LCBhcmdzLi4uKQkJCQlcCj4g LQlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fREVCVUcsIERSTV9VVF9BVE9NSUMsIF9fZnVuY19f LCAiIiwJXAo+IC0JCSAgICAgICBmbXQsICMjYXJncykKPiArI2RlZmluZSBEUk1fREVWX0RFQlVH X0FUT01JQyhkZXYsIGZtdCwgLi4uKQkJCQlcCj4gKwlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5f REVCVUcsIERSTV9VVF9BVE9NSUMsIGZtdCwgIyNfX1ZBX0FSR1NfXykKPiAgI2RlZmluZSBEUk1f REVCVUdfQVRPTUlDKGZtdCwgLi4uKQkJCQkJXAo+ICAJZHJtX3ByaW50ayhLRVJOX0RFQlVHLCBE Uk1fVVRfQVRPTUlDLCBmbXQsICMjX19WQV9BUkdTX18pCj4gIAo+IC0jZGVmaW5lIERSTV9ERVZf REVCVUdfVkJMKGRldiwgZm10LCBhcmdzLi4uKQkJCQlcCj4gLQlkcm1fZGV2X3ByaW50ayhkZXYs IEtFUk5fREVCVUcsIERSTV9VVF9WQkwsIF9fZnVuY19fLCAiIiwgZm10LAlcCj4gLQkJICAgICAg ICMjYXJncykKPiArI2RlZmluZSBEUk1fREVWX0RFQlVHX1ZCTChkZXYsIGZtdCwgLi4uKQkJCQlc Cj4gKwlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fREVCVUcsIERSTV9VVF9WQkwsIGZtdCwgIyNf X1ZBX0FSR1NfXykKPiAgI2RlZmluZSBEUk1fREVCVUdfVkJMKGZtdCwgLi4uKQkJCQkJXAo+ICAJ ZHJtX3ByaW50ayhLRVJOX0RFQlVHLCBEUk1fVVRfVkJMLCBmbXQsICMjX19WQV9BUkdTX18pCj4g IAo+IC0jZGVmaW5lIF9EUk1fREVWX0RFRklORV9ERUJVR19SQVRFTElNSVRFRChkZXYsIGxldmVs LCBmbXQsIGFyZ3MuLi4pCVwKPiArI2RlZmluZSBfRFJNX0RFVl9ERUZJTkVfREVCVUdfUkFURUxJ TUlURUQoZGV2LCBsZXZlbCwgZm10LCAuLi4pCQlcCj4gICh7CQkJCQkJCQkJXAo+ICAJc3RhdGlj IERFRklORV9SQVRFTElNSVRfU1RBVEUoX3JzLAkJCQlcCj4gIAkJCQkgICAgICBERUZBVUxUX1JB VEVMSU1JVF9JTlRFUlZBTCwJXAo+ICAJCQkJICAgICAgREVGQVVMVF9SQVRFTElNSVRfQlVSU1Qp OwkJXAo+ICAJaWYgKF9fcmF0ZWxpbWl0KCZfcnMpKQkJCQkJCVwKPiAgCQlkcm1fZGV2X3ByaW50 ayhkZXYsIEtFUk5fREVCVUcsIERSTV9VVF8gIyMgbGV2ZWwsCVwKPiAtCQkJICAgICAgIF9fZnVu Y19fLCAiIiwgZm10LCAjI2FyZ3MpOwkJXAo+ICsJCQkgICAgICAgZm10LCAjI19fVkFfQVJHU19f KTsJCVwKPiAgfSkKPiAgCj4gIC8qKgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHJ2 LmggYi9pbmNsdWRlL2RybS9kcm1fZHJ2LmgKPiBpbmRleCA3MWJiYWFlYzgzNmQuLmY2NDMwZjE4 M2NhOCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZHJ2LmgKPiArKysgYi9pbmNsdWRl L2RybS9kcm1fZHJ2LmgKPiBAQCAtNTkyLDEwICs1OTIsOSBAQCBzdHJ1Y3QgZHJtX2RyaXZlciB7 Cj4gIAlpbnQgZGV2X3ByaXZfc2l6ZTsKPiAgfTsKPiAgCj4gLV9fcHJpbnRmKDYsIDcpCj4gK19f cHJpbnRmKDQsIDUpCj4gIHZvaWQgZHJtX2Rldl9wcmludGsoY29uc3Qgc3RydWN0IGRldmljZSAq ZGV2LCBjb25zdCBjaGFyICpsZXZlbCwKPiAtCQkgICAgdW5zaWduZWQgaW50IGNhdGVnb3J5LCBj b25zdCBjaGFyICpmdW5jdGlvbl9uYW1lLAo+IC0JCSAgICBjb25zdCBjaGFyICpwcmVmaXgsIGNv bnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKPiArCQkgICAgdW5zaWduZWQgaW50IGNhdGVnb3J5LCBj b25zdCBjaGFyICpmb3JtYXQsIC4uLik7Cj4gIF9fcHJpbnRmKDMsIDQpCj4gIHZvaWQgZHJtX3By aW50ayhjb25zdCBjaGFyICpsZXZlbCwgdW5zaWduZWQgaW50IGNhdGVnb3J5LAo+ICAJCWNvbnN0 IGNoYXIgKmZvcm1hdCwgLi4uKTsKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2Ug VGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934889AbdIYMQg (ORCPT ); Mon, 25 Sep 2017 08:16:36 -0400 Received: from mga05.intel.com ([192.55.52.43]:12409 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932656AbdIYMQf (ORCPT ); Mon, 25 Sep 2017 08:16:35 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,436,1500966000"; d="scan'208";a="903588450" From: Jani Nikula To: Joe Perches , Daniel Vetter , Sean Paul , David Airlie Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm: Reduce object size of drm_dev_printk/DRM_DEV_ uses In-Reply-To: <693db79230a414560005936cedf4080d20235c03.1506340959.git.joe@perches.com> References: <693db79230a414560005936cedf4080d20235c03.1506340959.git.joe@perches.com> Date: Mon, 25 Sep 2017 15:16:07 +0300 Message-ID: <87mv5j3reg.fsf@nikula.org> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 25 Sep 2017, Joe Perches wrote: > Remove unnecessary function_name and prefix arguments. > Removing these arguments reduces object size. > > prefix is used to add an "ERROR" prefix to the format for > DRM_DEV_ERROR and is an empty string for all other uses. > This string can be added instead by the DRM_DEV_ERROR macro. > > function_name is used to emit the calling function. > This can be done by using %ps and __builtin_return_address(0). Did you diff the dmesgs to see how much that gets skewed from __func__ by optimizations? BR, Jani. > > Signed-off-by: Joe Perches > --- > drivers/gpu/drm/drm_drv.c | 12 +++++------- > include/drm/drmP.h | 42 ++++++++++++++++++------------------------ > include/drm/drm_drv.h | 5 ++--- > 3 files changed, 25 insertions(+), 34 deletions(-) > > diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c > index be38ac7050d4..4d0f2c5197f3 100644 > --- a/drivers/gpu/drm/drm_drv.c > +++ b/drivers/gpu/drm/drm_drv.c > @@ -74,11 +74,8 @@ static bool drm_core_init_complete = false; > > static struct dentry *drm_debugfs_root; > > -#define DRM_PRINTK_FMT "[" DRM_NAME ":%s]%s %pV" > - > void drm_dev_printk(const struct device *dev, const char *level, > - unsigned int category, const char *function_name, > - const char *prefix, const char *format, ...) > + unsigned int category, const char *format, ...) > { > struct va_format vaf; > va_list args; > @@ -91,10 +88,11 @@ void drm_dev_printk(const struct device *dev, const char *level, > vaf.va = &args; > > if (dev) > - dev_printk(level, dev, DRM_PRINTK_FMT, function_name, prefix, > - &vaf); > + dev_printk(level, dev, "[" DRM_NAME ":%ps] %pV", > + __builtin_return_address(0), &vaf); > else > - printk("%s" DRM_PRINTK_FMT, level, function_name, prefix, &vaf); > + printk("%s[" DRM_NAME ":%ps] %pV", > + level, __builtin_return_address(0), &vaf); > > va_end(args); > } > diff --git a/include/drm/drmP.h b/include/drm/drmP.h > index 7277783a4ff0..16dd63ffa1ff 100644 > --- a/include/drm/drmP.h > +++ b/include/drm/drmP.h > @@ -172,8 +172,8 @@ struct pci_controller; > * \param arg arguments > */ > #define DRM_DEV_ERROR(dev, fmt, ...) \ > - drm_dev_printk(dev, KERN_ERR, DRM_UT_NONE, __func__, " *ERROR*",\ > - fmt, ##__VA_ARGS__) > + drm_dev_printk(dev, KERN_ERR, DRM_UT_NONE, \ > + "*ERROR* " fmt, ##__VA_ARGS__) > #define DRM_ERROR(fmt, ...) \ > drm_printk(KERN_ERR, DRM_UT_NONE, fmt, ##__VA_ARGS__) > > @@ -196,8 +196,8 @@ struct pci_controller; > DRM_DEV_ERROR_RATELIMITED(NULL, fmt, ##__VA_ARGS__) > > #define DRM_DEV_INFO(dev, fmt, ...) \ > - drm_dev_printk(dev, KERN_INFO, DRM_UT_NONE, __func__, "", fmt, \ > - ##__VA_ARGS__) > + drm_dev_printk(dev, KERN_INFO, DRM_UT_NONE, \ > + fmt, ##__VA_ARGS__) > > #define DRM_DEV_INFO_ONCE(dev, fmt, ...) \ > ({ \ > @@ -214,50 +214,44 @@ struct pci_controller; > * \param fmt printf() like format string. > * \param arg arguments > */ > -#define DRM_DEV_DEBUG(dev, fmt, args...) \ > - drm_dev_printk(dev, KERN_DEBUG, DRM_UT_CORE, __func__, "", fmt, \ > - ##args) > +#define DRM_DEV_DEBUG(dev, fmt, ...) \ > + drm_dev_printk(dev, KERN_DEBUG, DRM_UT_CORE, fmt, ##__VA_ARGS__) > #define DRM_DEBUG(fmt, ...) \ > drm_printk(KERN_DEBUG, DRM_UT_CORE, fmt, ##__VA_ARGS__) > > -#define DRM_DEV_DEBUG_DRIVER(dev, fmt, args...) \ > - drm_dev_printk(dev, KERN_DEBUG, DRM_UT_DRIVER, __func__, "", \ > - fmt, ##args) > +#define DRM_DEV_DEBUG_DRIVER(dev, fmt, ...) \ > + drm_dev_printk(dev, KERN_DEBUG, DRM_UT_DRIVER, fmt, ##__VA_ARGS__) > #define DRM_DEBUG_DRIVER(fmt, ...) \ > drm_printk(KERN_DEBUG, DRM_UT_DRIVER, fmt, ##__VA_ARGS__) > > -#define DRM_DEV_DEBUG_KMS(dev, fmt, args...) \ > - drm_dev_printk(dev, KERN_DEBUG, DRM_UT_KMS, __func__, "", fmt, \ > - ##args) > +#define DRM_DEV_DEBUG_KMS(dev, fmt, ...) \ > + drm_dev_printk(dev, KERN_DEBUG, DRM_UT_KMS, fmt, ##__VA_ARGS__) > #define DRM_DEBUG_KMS(fmt, ...) \ > drm_printk(KERN_DEBUG, DRM_UT_KMS, fmt, ##__VA_ARGS__) > > -#define DRM_DEV_DEBUG_PRIME(dev, fmt, args...) \ > - drm_dev_printk(dev, KERN_DEBUG, DRM_UT_PRIME, __func__, "", \ > - fmt, ##args) > +#define DRM_DEV_DEBUG_PRIME(dev, fmt, ...) \ > + drm_dev_printk(dev, KERN_DEBUG, DRM_UT_PRIME, ##__VA_ARGS__) > #define DRM_DEBUG_PRIME(fmt, ...) \ > drm_printk(KERN_DEBUG, DRM_UT_PRIME, fmt, ##__VA_ARGS__) > > -#define DRM_DEV_DEBUG_ATOMIC(dev, fmt, args...) \ > - drm_dev_printk(dev, KERN_DEBUG, DRM_UT_ATOMIC, __func__, "", \ > - fmt, ##args) > +#define DRM_DEV_DEBUG_ATOMIC(dev, fmt, ...) \ > + drm_dev_printk(dev, KERN_DEBUG, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__) > #define DRM_DEBUG_ATOMIC(fmt, ...) \ > drm_printk(KERN_DEBUG, DRM_UT_ATOMIC, fmt, ##__VA_ARGS__) > > -#define DRM_DEV_DEBUG_VBL(dev, fmt, args...) \ > - drm_dev_printk(dev, KERN_DEBUG, DRM_UT_VBL, __func__, "", fmt, \ > - ##args) > +#define DRM_DEV_DEBUG_VBL(dev, fmt, ...) \ > + drm_dev_printk(dev, KERN_DEBUG, DRM_UT_VBL, fmt, ##__VA_ARGS__) > #define DRM_DEBUG_VBL(fmt, ...) \ > drm_printk(KERN_DEBUG, DRM_UT_VBL, fmt, ##__VA_ARGS__) > > -#define _DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, level, fmt, args...) \ > +#define _DRM_DEV_DEFINE_DEBUG_RATELIMITED(dev, level, fmt, ...) \ > ({ \ > static DEFINE_RATELIMIT_STATE(_rs, \ > DEFAULT_RATELIMIT_INTERVAL, \ > DEFAULT_RATELIMIT_BURST); \ > if (__ratelimit(&_rs)) \ > drm_dev_printk(dev, KERN_DEBUG, DRM_UT_ ## level, \ > - __func__, "", fmt, ##args); \ > + fmt, ##__VA_ARGS__); \ > }) > > /** > diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h > index 71bbaaec836d..f6430f183ca8 100644 > --- a/include/drm/drm_drv.h > +++ b/include/drm/drm_drv.h > @@ -592,10 +592,9 @@ struct drm_driver { > int dev_priv_size; > }; > > -__printf(6, 7) > +__printf(4, 5) > void drm_dev_printk(const struct device *dev, const char *level, > - unsigned int category, const char *function_name, > - const char *prefix, const char *format, ...); > + unsigned int category, const char *format, ...); > __printf(3, 4) > void drm_printk(const char *level, unsigned int category, > const char *format, ...); -- Jani Nikula, Intel Open Source Technology Center