From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Make for_each_intel_* macros typesafe Date: Mon, 16 Mar 2015 12:00:35 +0200 Message-ID: <87y4mxp8ho.fsf@intel.com> References: <1426490381.3286.4.camel@gmail.com> <1426490483-28312-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 276E689FEA for ; Mon, 16 Mar 2015 02:59:06 -0700 (PDT) In-Reply-To: <1426490483-28312-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Ander Conselvan de Oliveira , rodrigo.vivi@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAxNiBNYXIgMjAxNSwgQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5j b25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPiB3cm90ZToKPiBTbyB0aGF0IHRoZSBjb21w aWxlciB3YXJucyBpZiB3ZSBnZXQgc29tZXRoaW5nIHdyb25nLgo+Cj4gU2lnbmVkLW9mZi1ieTog QW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFA aW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIHwgMzkg KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2Vk LCAyNiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+IGluZGV4IGFlNGJhNmEuLjg3MWQ3N2EgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiBAQCAtMjMyLDMwICsyMzIsNDMgQEAgZW51bSBocGRfcGluIHsKPiAgCSAgICAgKF9fcykg PCBJTlRFTF9JTkZPKF9fZGV2X3ByaXYpLT5udW1fc3ByaXRlc1soX19wKV07CVwKPiAgCSAgICAg KF9fcykrKykKPiAgCj4gLSNkZWZpbmUgZm9yX2VhY2hfY3J0YyhkZXYsIGNydGMpIFwKPiArI2Rl ZmluZSB0eXBlX2NoZWNrKHZhcmlhYmxlLCB0eXBlKQkJCQlcCj4gKwl7CQkJCQkJCVwKPiArCQl0 eXBlb2YodmFyaWFibGUpIF9fZHVtbXlfcHRyID0gTlVMTDsJCVwKPiArCQljb25zdCB0eXBlICpf X3R5cGVfY2hlY2sgPSBfX2R1bW15X3B0cjsJCVwKPiArCQkodm9pZCkgX190eXBlX2NoZWNrOwkJ CQlcCj4gKwl9Cj4gKwo+ICsjZGVmaW5lIGZvcl9lYWNoX2NydGMoZGV2LCBjcnRjKQkJCQlcCj4g Kwl0eXBlX2NoZWNrKGNydGMsIHN0cnVjdCBkcm1fY3J0YykJCQlcCj4gIAlsaXN0X2Zvcl9lYWNo X2VudHJ5KGNydGMsICZkZXYtPm1vZGVfY29uZmlnLmNydGNfbGlzdCwgaGVhZCkKCmlmIChmb28p Cglmb3JfZWFjaF9jcnRjKGRldiwgY3J0Yyk7Cgp3aWxsIGRvIHR5cGVfY2hlY2sgaWYgZm9vLCBi dXQgbGlzdF9mb3JfZWFjaF9lbnRyeSB1bmNvbmRpdGlvbmFsbHkuCgpJIHRoaW5rIHRoaXMgaXMg dG9vIGZyYWdpbGUuCgpJJ20gYWxyZWFkeSBwcmV0dHkgYW54aW91cyBhYm91dCBvdXIgbG9vcCBt YWNyb3Mgd2l0aCBhbiBpZiBpbiB0aGVtCmJsb3dpbmcgdXAgZHVlIHRvIHRoZSBkYW5nbGluZyBl bHNlOgoKCWlmIChmb28pCiAgICAgICAgCWxpc3RfZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRl diwgY3J0YywgaW50ZWxfZW5jb2RlcikKICAgICAgICAgICAgICAgIAliYXIoKTsKCWVsc2UKICAg ICAgICAJYmF6KCk7Cgp3aGVyZSBiYXooKSBnZXRzIGNhbGxlZCBmb3IgZWFjaCBlbmNvZGVyICpu b3QqIG9uIGNydGMsIGluc3RlYWQgb2Ygb25jZQpmb3IgIWZvby4KCgpCUiwKSmFuaS4KCgoKPiAg Cj4gLSNkZWZpbmUgZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGludGVsX2NydGMpIFwKPiAtCWxp c3RfZm9yX2VhY2hfZW50cnkoaW50ZWxfY3J0YywgJmRldi0+bW9kZV9jb25maWcuY3J0Y19saXN0 LCBiYXNlLmhlYWQpCj4gKyNkZWZpbmUgZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGNydGMpCQkJ CVwKPiArCXR5cGVfY2hlY2soY3J0Yywgc3RydWN0IGludGVsX2NydGMpCQkJXAo+ICsJbGlzdF9m b3JfZWFjaF9lbnRyeShjcnRjLCAmZGV2LT5tb2RlX2NvbmZpZy5jcnRjX2xpc3QsIGJhc2UuaGVh ZCkKPiAgCj4gLSNkZWZpbmUgZm9yX2VhY2hfaW50ZWxfZW5jb2RlcihkZXYsIGludGVsX2VuY29k ZXIpCQlcCj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGludGVsX2VuY29kZXIsCQkJXAo+ICsjZGVm aW5lIGZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBlbmNvZGVyKQkJCVwKPiArCXR5cGVfY2hl Y2soZW5jb2Rlciwgc3RydWN0IGludGVsX2VuY29kZXIpCQlcCj4gKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KGVuY29kZXIsCQkJCVwKPiAgCQkJICAgICYoZGV2KS0+bW9kZV9jb25maWcuZW5jb2Rlcl9s aXN0LAlcCj4gIAkJCSAgICBiYXNlLmhlYWQpCj4gIAo+IC0jZGVmaW5lIGZvcl9lYWNoX2ludGVs X2Nvbm5lY3RvcihkZXYsIGludGVsX2Nvbm5lY3RvcikJCVwKPiAtCWxpc3RfZm9yX2VhY2hfZW50 cnkoaW50ZWxfY29ubmVjdG9yLAkJCVwKPiArI2RlZmluZSBmb3JfZWFjaF9pbnRlbF9jb25uZWN0 b3IoZGV2LCBjb25uZWN0b3IpCQlcCj4gKwl0eXBlX2NoZWNrKGNvbm5lY3Rvciwgc3RydWN0IGlu dGVsX2Nvbm5lY3Rvcik7CQlcCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNvbm5lY3RvciwJCQkJ XAo+ICAJCQkgICAgJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3QsCVwKPiAgCQkJICAg IGJhc2UuaGVhZCkKPiAgCj4gIAo+IC0jZGVmaW5lIGZvcl9lYWNoX2VuY29kZXJfb25fY3J0Yyhk ZXYsIF9fY3J0YywgaW50ZWxfZW5jb2RlcikgXAo+IC0JbGlzdF9mb3JfZWFjaF9lbnRyeSgoaW50 ZWxfZW5jb2RlciksICYoZGV2KS0+bW9kZV9jb25maWcuZW5jb2Rlcl9saXN0LCBiYXNlLmhlYWQp IFwKPiAtCQlpZiAoKGludGVsX2VuY29kZXIpLT5iYXNlLmNydGMgPT0gKF9fY3J0YykpCj4gKyNk ZWZpbmUgZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgX19jcnRjLCBlbmNvZGVyKQkJXAo+ ICsJdHlwZV9jaGVjayhlbmNvZGVyLCBzdHJ1Y3QgaW50ZWxfZW5jb2RlcikJCVwKPiArCWxpc3Rf Zm9yX2VhY2hfZW50cnkoKGVuY29kZXIpLCAmKGRldiktPm1vZGVfY29uZmlnLmVuY29kZXJfbGlz dCwgYmFzZS5oZWFkKSBcCj4gKwkJaWYgKChlbmNvZGVyKS0+YmFzZS5jcnRjID09IChfX2NydGMp KQo+ICAKPiAtI2RlZmluZSBmb3JfZWFjaF9jb25uZWN0b3Jfb25fZW5jb2RlcihkZXYsIF9fZW5j b2RlciwgaW50ZWxfY29ubmVjdG9yKSBcCj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KChpbnRlbF9j b25uZWN0b3IpLCAmKGRldiktPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0LCBiYXNlLmhlYWQp IFwKPiAtCQlpZiAoKGludGVsX2Nvbm5lY3RvciktPmJhc2UuZW5jb2RlciA9PSAoX19lbmNvZGVy KSkKPiArI2RlZmluZSBmb3JfZWFjaF9jb25uZWN0b3Jfb25fZW5jb2RlcihkZXYsIF9fZW5jb2Rl ciwgY29ubmVjdG9yKSBcCj4gKwl0eXBlX2NoZWNrKGNvbm5lY3Rvciwgc3RydWN0IGludGVsX2Nv bm5lY3RvcikJCVwKPiArCWxpc3RfZm9yX2VhY2hfZW50cnkoKGNvbm5lY3RvciksICYoZGV2KS0+ bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3QsIGJhc2UuaGVhZCkgXAo+ICsJCWlmICgoY29ubmVj dG9yKS0+YmFzZS5lbmNvZGVyID09IChfX2VuY29kZXIpKQo+ICAKPiAgI2RlZmluZSBmb3JfZWFj aF9wb3dlcl9kb21haW4oZG9tYWluLCBtYXNrKQkJCQlcCj4gIAlmb3IgKChkb21haW4pID0gMDsg KGRvbWFpbikgPCBQT1dFUl9ET01BSU5fTlVNOyAoZG9tYWluKSsrKQlcCj4gLS0gCj4gMi4xLjAK Pgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cgot LSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==