From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Hajda Subject: Re: [PATCH] drm/exynos: remove ifdeferry from initialization code Date: Thu, 30 Oct 2014 13:36:56 +0100 Message-ID: <545230E8.5060100@samsung.com> References: <1410349980-10473-1-git-send-email-a.hajda@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <1410349980-10473-1-git-send-email-a.hajda@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Inki Dae Cc: Kukjin Kim , Seung-Woo Kim , open list , "open list:DRM DRIVERS FOR E..." , Kyungmin Park , "moderated list:ARM/S5P EXYNOS AR..." List-Id: linux-samsung-soc@vger.kernel.org T24gMDkvMTAvMjAxNCAwMTo1MyBQTSwgQW5kcnplaiBIYWpkYSB3cm90ZToKPiBUaGUgcGF0Y2gg cmVwbGFjZXMgc2VwYXJhdGUgY2FsbHMgdG8gZHJpdmVyIChkZSlyZWdpc3RyYXRpb24gYnkKPiBs b29wcyBvdmVyIHRoZSBhcnJheSBvZiBkcml2ZXJzLiBBcyBhIHJlc3VsdCBpdCBzaWduaWZpY2Fu dGx5Cj4gZGVjcmVhc2VzIG51bWJlciBvZiBpZmRlZnMuIEFkZGl0aW9uYWxseSBpdCBtb3ZlcyBk ZXZpY2UgcmVnaXN0cmF0aW9uCj4gcmVsYXRlZCBpZmRlZnMgdG8gaGVhZGVyIGZpbGUuCj4KPiBT aWduZWQtb2ZmLWJ5OiBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29tPgoKcGluZwoK UmVnYXJkcwpBbmRyemVqCgo+IC0tLQo+IEhpIElua2ksCj4KPiBEdXJpbmcgdGVzdGluZyB5b3Vy IGNvbXBvbmVudCBtYXRjaCBzdXBwb3J0IHBhdGNoIFsxXSBJIGhhdmUgcHJlcGFyZWQgcGF0Y2gK PiByZW1vdmluZyBtb3N0IGlmZGVmcyBmcm9tIGV4eW5vc19kcm1fZHJ2LmMuIEl0IGlzIGJhc2Vk IG9uIHlvdXIgcGF0Y2gsIGJ1dAo+IEkgY2FuIHJlYmFzZSBpdCBpZiBuZWNlc3NhcnkuCj4KPiBb MV06IGh0dHA6Ly9wZXJtYWxpbmsuZ21hbmUub3JnL2dtYW5lLmxpbnV4Lmtlcm5lbC5zYW1zdW5n LXNvYy8zNzAzMQo+Cj4gUmVnYXJkcwo+IEFuZHJ6ZWoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfZHJtX2Rydi5jIHwgMTcwICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuaCB8ICAyNSAr KystLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDE0NyBkZWxldGlvbnMo LSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmMKPiBpbmRleCBiMmM3 MTBhLi5hNjYwZTQ2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYu Ywo+IEBAIC01NTMsNzQgKzU1Myw1NCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9t YXN0ZXJfb3BzIGV4eW5vc19kcm1fb3BzID0gewo+ICAJLnVuYmluZAkJPSBleHlub3NfZHJtX3Vu YmluZCwKPiAgfTsKPiAgCj4gLXN0YXRpYyBpbnQgZXh5bm9zX2RybV9wbGF0Zm9ybV9wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+IC17Cj4gLQlzdHJ1Y3QgY29tcG9uZW50X21h dGNoICptYXRjaDsKPiAtCWludCByZXQ7Cj4gLQo+IC0JcGRldi0+ZGV2LmNvaGVyZW50X2RtYV9t YXNrID0gRE1BX0JJVF9NQVNLKDMyKTsKPiAtCWV4eW5vc19kcm1fZHJpdmVyLm51bV9pb2N0bHMg PSBBUlJBWV9TSVpFKGV4eW5vc19pb2N0bHMpOwo+IC0KPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9y bV9kcml2ZXIgKiBjb25zdCBleHlub3NfZHJtX2RyaXZlcnNbXSA9IHsKPiAgI2lmZGVmIENPTkZJ R19EUk1fRVhZTk9TX0ZJTUQKPiAtCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmZmlt ZF9kcml2ZXIpOwo+IC0JaWYgKHJldCA8IDApCj4gLQkJcmV0dXJuIHJldDsKPiArCSZmaW1kX2Ry aXZlciwKPiAgI2VuZGlmCj4gLQo+ICAjaWZkZWYgQ09ORklHX0RSTV9FWFlOT1NfRFAKPiAtCXJl dCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmZHBfZHJpdmVyKTsKPiAtCWlmIChyZXQgPCAw KQo+IC0JCWdvdG8gZXJyX3VucmVnaXN0ZXJfZmltZF9kcnY7Cj4gKwkmZHBfZHJpdmVyLAo+ICAj ZW5kaWYKPiAtCj4gICNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19EU0kKPiAtCXJldCA9IHBsYXRm b3JtX2RyaXZlcl9yZWdpc3RlcigmZHNpX2RyaXZlcik7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQln b3RvIGVycl91bnJlZ2lzdGVyX2RwX2RydjsKPiArCSZkc2lfZHJpdmVyLAo+ICAjZW5kaWYKPiAt Cj4gICNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19IRE1JCj4gLQlyZXQgPSBwbGF0Zm9ybV9kcml2 ZXJfcmVnaXN0ZXIoJm1peGVyX2RyaXZlcik7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQlnb3RvIGVy cl91bnJlZ2lzdGVyX2RzaV9kcnY7Cj4gLQlyZXQgPSBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIo JmhkbWlfZHJpdmVyKTsKPiAtCWlmIChyZXQgPCAwKQo+IC0JCWdvdG8gZXJyX3VucmVnaXN0ZXJf bWl4ZXJfZHJ2Owo+ICsJJm1peGVyX2RyaXZlciwKPiArCSZoZG1pX2RyaXZlciwKPiAgI2VuZGlm Cj4gLQo+ICAjaWZkZWYgQ09ORklHX0RSTV9FWFlOT1NfRzJECj4gLQlyZXQgPSBwbGF0Zm9ybV9k cml2ZXJfcmVnaXN0ZXIoJmcyZF9kcml2ZXIpOwo+IC0JaWYgKHJldCA8IDApCj4gLQkJZ290byBl cnJfdW5yZWdpc3Rlcl9oZG1pX2RydjsKPiArCSZnMmRfZHJpdmVyLAo+ICAjZW5kaWYKPiAtCj4g ICNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19GSU1DCj4gLQlyZXQgPSBwbGF0Zm9ybV9kcml2ZXJf cmVnaXN0ZXIoJmZpbWNfZHJpdmVyKTsKPiAtCWlmIChyZXQgPCAwKQo+IC0JCWdvdG8gZXJyX3Vu cmVnaXN0ZXJfZzJkX2RydjsKPiArCSZmaW1jX2RyaXZlciwKPiAgI2VuZGlmCj4gLQo+ICAjaWZk ZWYgQ09ORklHX0RSTV9FWFlOT1NfUk9UQVRPUgo+IC0JcmV0ID0gcGxhdGZvcm1fZHJpdmVyX3Jl Z2lzdGVyKCZyb3RhdG9yX2RyaXZlcik7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQlnb3RvIGVycl91 bnJlZ2lzdGVyX2ZpbWNfZHJ2Owo+ICsJJnJvdGF0b3JfZHJpdmVyLAo+ICAjZW5kaWYKPiAtCj4g ICNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19HU0MKPiAtCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9y ZWdpc3RlcigmZ3NjX2RyaXZlcik7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQlnb3RvIGVycl91bnJl Z2lzdGVyX3JvdGF0b3JfZHJ2Owo+ICsJJmdzY19kcml2ZXIsCj4gICNlbmRpZgo+IC0KPiAgI2lm ZGVmIENPTkZJR19EUk1fRVhZTk9TX0lQUAo+IC0JcmV0ID0gcGxhdGZvcm1fZHJpdmVyX3JlZ2lz dGVyKCZpcHBfZHJpdmVyKTsKPiAtCWlmIChyZXQgPCAwKQo+IC0JCWdvdG8gZXJyX3VucmVnaXN0 ZXJfZ3NjX2RydjsKPiArCSZpcHBfZHJpdmVyLAo+ICsjZW5kaWYKPiArfTsKPiArCj4gK3N0YXRp YyBpbnQgZXh5bm9zX2RybV9wbGF0Zm9ybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgY29tcG9uZW50X21hdGNoICptYXRjaDsKPiArCWludCByZXQs IGk7Cj4gKwo+ICsJcGRldi0+ZGV2LmNvaGVyZW50X2RtYV9tYXNrID0gRE1BX0JJVF9NQVNLKDMy KTsKPiArCWV4eW5vc19kcm1fZHJpdmVyLm51bV9pb2N0bHMgPSBBUlJBWV9TSVpFKGV4eW5vc19p b2N0bHMpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGV4eW5vc19kcm1fZHJp dmVycyk7ICsraSkgewo+ICsJCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcihleHlub3Nf ZHJtX2RyaXZlcnNbaV0pOwo+ICsJCWlmIChyZXQgPCAwKQo+ICsJCQlnb3RvIGVycl91bnJlZ2lz dGVyX2RyaXZlcnM7Cj4gKwl9Cj4gIAo+ICAJcmV0ID0gZXh5bm9zX3BsYXRmb3JtX2RldmljZV9p cHBfcmVnaXN0ZXIoKTsKPiAgCWlmIChyZXQgPCAwKQo+IC0JCWdvdG8gZXJyX3VucmVnaXN0ZXJf aXBwX2RydjsKPiAtI2VuZGlmCj4gKwkJZ290byBlcnJfdW5yZWdpc3Rlcl9kcml2ZXJzOwo+ICAK PiAgCW1hdGNoID0gZXh5bm9zX2RybV9tYXRjaF9hZGQoJnBkZXYtPmRldik7Cj4gIAlpZiAoSVNf RVJSKG1hdGNoKSkgewo+IEBAIC02MzIsOTYgKzYxMiwyNCBAQCBzdGF0aWMgaW50IGV4eW5vc19k cm1fcGxhdGZvcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCQkJCQkJ bWF0Y2gpOwo+ICAKPiAgZXJyX3VucmVnaXN0ZXJfaXBwX2RldjoKPiAtCj4gLSNpZmRlZiBDT05G SUdfRFJNX0VYWU5PU19JUFAKPiAgCWV4eW5vc19wbGF0Zm9ybV9kZXZpY2VfaXBwX3VucmVnaXN0 ZXIoKTsKPiAtZXJyX3VucmVnaXN0ZXJfaXBwX2RydjoKPiAtCXBsYXRmb3JtX2RyaXZlcl91bnJl Z2lzdGVyKCZpcHBfZHJpdmVyKTsKPiAtZXJyX3VucmVnaXN0ZXJfZ3NjX2RydjoKPiAtI2VuZGlm Cj4gIAo+IC0jaWZkZWYgQ09ORklHX0RSTV9FWFlOT1NfR1NDCj4gLQlwbGF0Zm9ybV9kcml2ZXJf dW5yZWdpc3RlcigmZ3NjX2RyaXZlcik7Cj4gLWVycl91bnJlZ2lzdGVyX3JvdGF0b3JfZHJ2Ogo+ IC0jZW5kaWYKPiArZXJyX3VucmVnaXN0ZXJfZHJpdmVyczoKPiArCXdoaWxlICgtLWkgPj0gMCkK PiArCQlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcihleHlub3NfZHJtX2RyaXZlcnNbaV0pOwo+ ICAKPiAtI2lmZGVmIENPTkZJR19EUk1fRVhZTk9TX1JPVEFUT1IKPiAtCXBsYXRmb3JtX2RyaXZl cl91bnJlZ2lzdGVyKCZyb3RhdG9yX2RyaXZlcik7Cj4gLWVycl91bnJlZ2lzdGVyX2ZpbWNfZHJ2 Ogo+IC0jZW5kaWYKPiAtCj4gLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19GSU1DCj4gLQlwbGF0 Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmZmltY19kcml2ZXIpOwo+IC1lcnJfdW5yZWdpc3Rlcl9n MmRfZHJ2Ogo+IC0jZW5kaWYKPiAtCj4gLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19HMkQKPiAt CXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZnMmRfZHJpdmVyKTsKPiAtZXJyX3VucmVnaXN0 ZXJfaGRtaV9kcnY6Cj4gLSNlbmRpZgo+IC0KPiAtI2lmZGVmIENPTkZJR19EUk1fRVhZTk9TX0hE TUkKPiAtCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZoZG1pX2RyaXZlcik7Cj4gLWVycl91 bnJlZ2lzdGVyX21peGVyX2RydjoKPiAtCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZtaXhl cl9kcml2ZXIpOwo+IC1lcnJfdW5yZWdpc3Rlcl9kc2lfZHJ2Ogo+IC0jZW5kaWYKPiAtCj4gLSNp ZmRlZiBDT05GSUdfRFJNX0VYWU5PU19EU0kKPiAtCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVy KCZkc2lfZHJpdmVyKTsKPiAtZXJyX3VucmVnaXN0ZXJfZHBfZHJ2Ogo+IC0jZW5kaWYKPiAtCj4g LSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19EUAo+IC0JcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0 ZXIoJmRwX2RyaXZlcik7Cj4gLWVycl91bnJlZ2lzdGVyX2ZpbWRfZHJ2Ogo+IC0jZW5kaWYKPiAt Cj4gLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19GSU1ECj4gLQlwbGF0Zm9ybV9kcml2ZXJfdW5y ZWdpc3RlcigmZmltZF9kcml2ZXIpOwo+IC0jZW5kaWYKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAg Cj4gIHN0YXRpYyBpbnQgZXh5bm9zX2RybV9wbGF0Zm9ybV9yZW1vdmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPiAgewo+IC0jaWZkZWYgQ09ORklHX0RSTV9FWFlOT1NfSVBQCj4gLQll eHlub3NfcGxhdGZvcm1fZGV2aWNlX2lwcF91bnJlZ2lzdGVyKCk7Cj4gLQlwbGF0Zm9ybV9kcml2 ZXJfdW5yZWdpc3RlcigmaXBwX2RyaXZlcik7Cj4gLSNlbmRpZgo+IC0KPiAtI2lmZGVmIENPTkZJ R19EUk1fRVhZTk9TX0dTQwo+IC0JcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJmdzY19kcml2 ZXIpOwo+IC0jZW5kaWYKPiAtCj4gLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19ST1RBVE9SCj4g LQlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rlcigmcm90YXRvcl9kcml2ZXIpOwo+IC0jZW5kaWYK PiAtCj4gLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19GSU1DCj4gLQlwbGF0Zm9ybV9kcml2ZXJf dW5yZWdpc3RlcigmZmltY19kcml2ZXIpOwo+IC0jZW5kaWYKPiAtCj4gLSNpZmRlZiBDT05GSUdf RFJNX0VYWU5PU19HMkQKPiAtCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZnMmRfZHJpdmVy KTsKPiAtI2VuZGlmCj4gLQo+IC0jaWZkZWYgQ09ORklHX0RSTV9FWFlOT1NfSERNSQo+IC0JcGxh dGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJm1peGVyX2RyaXZlcik7Cj4gLQlwbGF0Zm9ybV9kcml2 ZXJfdW5yZWdpc3RlcigmaGRtaV9kcml2ZXIpOwo+IC0jZW5kaWYKPiArCWludCBpOwo+ICAKPiAt I2lmZGVmIENPTkZJR19EUk1fRVhZTk9TX0ZJTUQKPiAtCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lz dGVyKCZmaW1kX2RyaXZlcik7Cj4gLSNlbmRpZgo+ICsJZXh5bm9zX3BsYXRmb3JtX2RldmljZV9p cHBfdW5yZWdpc3RlcigpOwo+ICAKPiAtI2lmZGVmIENPTkZJR19EUk1fRVhZTk9TX0RTSQo+IC0J cGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJmRzaV9kcml2ZXIpOwo+IC0jZW5kaWYKPiArCWZv ciAoaSA9IEFSUkFZX1NJWkUoZXh5bm9zX2RybV9kcml2ZXJzKSAtIDE7IGkgPj0gMDsgLS1pKQo+ ICsJCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKGV4eW5vc19kcm1fZHJpdmVyc1tpXSk7Cj4g IAo+IC0jaWZkZWYgQ09ORklHX0RSTV9FWFlOT1NfRFAKPiAtCXBsYXRmb3JtX2RyaXZlcl91bnJl Z2lzdGVyKCZkcF9kcml2ZXIpOwo+IC0jZW5kaWYKPiAgCWNvbXBvbmVudF9tYXN0ZXJfZGVsKCZw ZGV2LT5kZXYsICZleHlub3NfZHJtX29wcyk7Cj4gIAlyZXR1cm4gMDsKPiAgfQo+IEBAIC03NDUs MTEgKzY1Myw5IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2RybV9pbml0KHZvaWQpCj4gIAlpZiAoSVNf RVJSKGV4eW5vc19kcm1fcGRldikpCj4gIAkJcmV0dXJuIFBUUl9FUlIoZXh5bm9zX2RybV9wZGV2 KTsKPiAgCj4gLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19WSURJCj4gIAlyZXQgPSBleHlub3Nf ZHJtX3Byb2JlX3ZpZGkoKTsKPiAgCWlmIChyZXQgPCAwKQo+ICAJCWdvdG8gZXJyX3VucmVnaXN0 ZXJfcGQ7Cj4gLSNlbmRpZgo+ICAKPiAgCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3Rlcigm ZXh5bm9zX2RybV9wbGF0Zm9ybV9kcml2ZXIpOwo+ICAJaWYgKHJldCkKPiBAQCAtNzU4LDExICs2 NjQsOSBAQCBzdGF0aWMgaW50IGV4eW5vc19kcm1faW5pdCh2b2lkKQo+ICAJcmV0dXJuIDA7Cj4g IAo+ICBlcnJfcmVtb3ZlX3ZpZGk6Cj4gLSNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19WSURJCj4g IAlleHlub3NfZHJtX3JlbW92ZV92aWRpKCk7Cj4gIAo+ICBlcnJfdW5yZWdpc3Rlcl9wZDoKPiAt I2VuZGlmCj4gIAlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihleHlub3NfZHJtX3BkZXYpOwo+ ICAKPiAgCXJldHVybiByZXQ7Cj4gQEAgLTc3MSw5ICs2NzUsOSBAQCBlcnJfdW5yZWdpc3Rlcl9w ZDoKPiAgc3RhdGljIHZvaWQgZXh5bm9zX2RybV9leGl0KHZvaWQpCj4gIHsKPiAgCXBsYXRmb3Jt X2RyaXZlcl91bnJlZ2lzdGVyKCZleHlub3NfZHJtX3BsYXRmb3JtX2RyaXZlcik7Cj4gLSNpZmRl ZiBDT05GSUdfRFJNX0VYWU5PU19WSURJCj4gKwo+ICAJZXh5bm9zX2RybV9yZW1vdmVfdmlkaSgp Owo+IC0jZW5kaWYKPiArCj4gIAlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihleHlub3NfZHJt X3BkZXYpOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4 eW5vc19kcm1fZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmgK PiBpbmRleCA2OWE2ZmEzLi43NmQ1ZDAyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2RybV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kcnYuaAo+IEBAIC0zMjQsMTUgKzMyNCwxNCBAQCBpbnQgZXh5bm9zX3BsYXRmb3Jt X2RldmljZV9oZG1pX3JlZ2lzdGVyKHZvaWQpOwo+ICAgKi8KPiAgdm9pZCBleHlub3NfcGxhdGZv cm1fZGV2aWNlX2hkbWlfdW5yZWdpc3Rlcih2b2lkKTsKPiAgCj4gLS8qCj4gLSAqIHRoaXMgZnVu Y3Rpb24gcmVnaXN0ZXJzIGV4eW5vcyBkcm0gaXBwIHBsYXRmb3JtIGRldmljZS4KPiAtICovCj4g KyNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19JUFAKPiAgaW50IGV4eW5vc19wbGF0Zm9ybV9kZXZp Y2VfaXBwX3JlZ2lzdGVyKHZvaWQpOwo+IC0KPiAtLyoKPiAtICogdGhpcyBmdW5jdGlvbiB1bnJl Z2lzdGVycyBleHlub3MgZHJtIGlwcCBwbGF0Zm9ybSBkZXZpY2UgaWYgaXQgZXhpc3RzLgo+IC0g Ki8KPiAgdm9pZCBleHlub3NfcGxhdGZvcm1fZGV2aWNlX2lwcF91bnJlZ2lzdGVyKHZvaWQpOwo+ ICsjZWxzZQo+ICtzdGF0aWMgaW5saW5lIGludCBleHlub3NfcGxhdGZvcm1fZGV2aWNlX2lwcF9y ZWdpc3Rlcih2b2lkKSB7IHJldHVybiAwOyB9Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBleHlub3Nf cGxhdGZvcm1fZGV2aWNlX2lwcF91bnJlZ2lzdGVyKHZvaWQpIHt9Cj4gKyNlbmRpZgo+ICsKPiAg Cj4gICNpZmRlZiBDT05GSUdfRFJNX0VYWU5PU19EUEkKPiAgc3RydWN0IGV4eW5vc19kcm1fZGlz cGxheSAqIGV4eW5vc19kcGlfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2KTsKPiBAQCAtMzQzLDE1 ICszNDIsMTMgQEAgZXh5bm9zX2RwaV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYpIHsgcmV0dXJu IE5VTEw7IH0KPiAgc3RhdGljIGlubGluZSBpbnQgZXh5bm9zX2RwaV9yZW1vdmUoc3RydWN0IGRl dmljZSAqZGV2KSB7IHJldHVybiAwOyB9Cj4gICNlbmRpZgo+ICAKPiAtLyoKPiAtICogdGhpcyBm dW5jdGlvbiByZWdpc3RlcnMgZXh5bm9zIGRybSB2aWRpIHBsYXRmb3JtIGRldmljZS9kcml2ZXIu Cj4gLSAqLwo+ICsjaWZkZWYgQ09ORklHX0RSTV9FWFlOT1NfVklESQo+ICBpbnQgZXh5bm9zX2Ry bV9wcm9iZV92aWRpKHZvaWQpOwo+IC0KPiAtLyoKPiAtICogdGhpcyBmdW5jdGlvbiB1bnJlZ2lz dGVyIGV4eW5vcyBkcm0gdmlkaSBwbGF0Zm9ybSBkZXZpY2UvZHJpdmVyLgo+IC0gKi8KPiAgdm9p ZCBleHlub3NfZHJtX3JlbW92ZV92aWRpKHZvaWQpOwo+ICsjZWxzZQo+ICtzdGF0aWMgaW5saW5l IGludCBleHlub3NfZHJtX3Byb2JlX3ZpZGkodm9pZCkgeyByZXR1cm4gMDsgfQo+ICtzdGF0aWMg aW5saW5lIHZvaWQgZXh5bm9zX2RybV9yZW1vdmVfdmlkaSh2b2lkKSB7fQo+ICsjZW5kaWYKPiAg Cj4gIC8qIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIGVuY29kZXIgYW5kIGEgY29ubmVjdG9yLCBh bmQgaW5pdGlhbGl6ZXMgdGhlbS4gKi8KPiAgaW50IGV4eW5vc19kcm1fY3JlYXRlX2VuY19jb25u KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759410AbaJ3MhE (ORCPT ); Thu, 30 Oct 2014 08:37:04 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:27933 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752269AbaJ3MhB (ORCPT ); Thu, 30 Oct 2014 08:37:01 -0400 X-AuditID: cbfec7f4-b7f6c6d00000120b-d9-545230eabac5 Message-id: <545230E8.5060100@samsung.com> Date: Thu, 30 Oct 2014 13:36:56 +0100 From: Andrzej Hajda User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-version: 1.0 To: Inki Dae Cc: Joonyoung Shim , Seung-Woo Kim , Kyungmin Park , David Airlie , Kukjin Kim , "open list:DRM DRIVERS FOR E..." , "moderated list:ARM/S5P EXYNOS AR..." , open list Subject: Re: [PATCH] drm/exynos: remove ifdeferry from initialization code References: <1410349980-10473-1-git-send-email-a.hajda@samsung.com> In-reply-to: <1410349980-10473-1-git-send-email-a.hajda@samsung.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrILMWRmVeSWpSXmKPExsVy+t/xK7qvDIJCDB58YbPoPXeSyeLK1/ds FpPuT2CxeHHvIotF74KrbBZnm96wW1zeNYfNYsb5fUwWMya/ZHPg9Nj+7QGrx/3u40wefVtW MXp83iQXwBLFZZOSmpNZllqkb5fAlXHzxzz2gh7Pisk3XzA2MB616WLk5JAQMJGYd30jC4Qt JnHh3no2EFtIYCmjxMlGnS5GLiD7E6PE9I8bwRK8AloSbV0QNouAqsSGL4eZQWw2AU2Jv5tv gsVFBSIkrqyZwwhRLyjxY/I9sAUiAsoSq/a1s4MMZRboZJaYO+cBWJGwgJfE2dv/2SE2O0tc nn4fbBCngIvEzdNHgeIcQA16EvcvaoGEmQXkJTavecs8gVFgFpIVsxCqZiGpWsDIvIpRNLU0 uaA4KT3XUK84Mbe4NC9dLzk/dxMjJNi/7GBcfMzqEKMAB6MSD6/DxoAQIdbEsuLK3EOMEhzM SiK8R3WCQoR4UxIrq1KL8uOLSnNSiw8xMnFwSjUwJuloa1YwvJ4qFqtm0rRt8uFNz8ztbd5y 39sbd9xz15movvkKP25oGNqaCkeynlL3lV7slP6rVXG1d8bno7PN1+4NMLnvfutQTLsJR6P5 rd6HNd0W53nYI1vb4q7o7rv0l6fBprB4ef8aX+En957feHC9yV25eVtfw8WOtC/Td6zbpzRP vvqSEktxRqKhFnNRcSIA4kbnjFQCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/10/2014 01:53 PM, Andrzej Hajda wrote: > The patch replaces separate calls to driver (de)registration by > loops over the array of drivers. As a result it significantly > decreases number of ifdefs. Additionally it moves device registration > related ifdefs to header file. > > Signed-off-by: Andrzej Hajda ping Regards Andrzej > --- > Hi Inki, > > During testing your component match support patch [1] I have prepared patch > removing most ifdefs from exynos_drm_drv.c. It is based on your patch, but > I can rebase it if necessary. > > [1]: http://permalink.gmane.org/gmane.linux.kernel.samsung-soc/37031 > > Regards > Andrzej > --- > drivers/gpu/drm/exynos/exynos_drm_drv.c | 170 +++++++------------------------- > drivers/gpu/drm/exynos/exynos_drm_drv.h | 25 +++-- > 2 files changed, 48 insertions(+), 147 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c > index b2c710a..a660e46 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c > @@ -553,74 +553,54 @@ static const struct component_master_ops exynos_drm_ops = { > .unbind = exynos_drm_unbind, > }; > > -static int exynos_drm_platform_probe(struct platform_device *pdev) > -{ > - struct component_match *match; > - int ret; > - > - pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); > - exynos_drm_driver.num_ioctls = ARRAY_SIZE(exynos_ioctls); > - > +static struct platform_driver * const exynos_drm_drivers[] = { > #ifdef CONFIG_DRM_EXYNOS_FIMD > - ret = platform_driver_register(&fimd_driver); > - if (ret < 0) > - return ret; > + &fimd_driver, > #endif > - > #ifdef CONFIG_DRM_EXYNOS_DP > - ret = platform_driver_register(&dp_driver); > - if (ret < 0) > - goto err_unregister_fimd_drv; > + &dp_driver, > #endif > - > #ifdef CONFIG_DRM_EXYNOS_DSI > - ret = platform_driver_register(&dsi_driver); > - if (ret < 0) > - goto err_unregister_dp_drv; > + &dsi_driver, > #endif > - > #ifdef CONFIG_DRM_EXYNOS_HDMI > - ret = platform_driver_register(&mixer_driver); > - if (ret < 0) > - goto err_unregister_dsi_drv; > - ret = platform_driver_register(&hdmi_driver); > - if (ret < 0) > - goto err_unregister_mixer_drv; > + &mixer_driver, > + &hdmi_driver, > #endif > - > #ifdef CONFIG_DRM_EXYNOS_G2D > - ret = platform_driver_register(&g2d_driver); > - if (ret < 0) > - goto err_unregister_hdmi_drv; > + &g2d_driver, > #endif > - > #ifdef CONFIG_DRM_EXYNOS_FIMC > - ret = platform_driver_register(&fimc_driver); > - if (ret < 0) > - goto err_unregister_g2d_drv; > + &fimc_driver, > #endif > - > #ifdef CONFIG_DRM_EXYNOS_ROTATOR > - ret = platform_driver_register(&rotator_driver); > - if (ret < 0) > - goto err_unregister_fimc_drv; > + &rotator_driver, > #endif > - > #ifdef CONFIG_DRM_EXYNOS_GSC > - ret = platform_driver_register(&gsc_driver); > - if (ret < 0) > - goto err_unregister_rotator_drv; > + &gsc_driver, > #endif > - > #ifdef CONFIG_DRM_EXYNOS_IPP > - ret = platform_driver_register(&ipp_driver); > - if (ret < 0) > - goto err_unregister_gsc_drv; > + &ipp_driver, > +#endif > +}; > + > +static int exynos_drm_platform_probe(struct platform_device *pdev) > +{ > + struct component_match *match; > + int ret, i; > + > + pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); > + exynos_drm_driver.num_ioctls = ARRAY_SIZE(exynos_ioctls); > + > + for (i = 0; i < ARRAY_SIZE(exynos_drm_drivers); ++i) { > + ret = platform_driver_register(exynos_drm_drivers[i]); > + if (ret < 0) > + goto err_unregister_drivers; > + } > > ret = exynos_platform_device_ipp_register(); > if (ret < 0) > - goto err_unregister_ipp_drv; > -#endif > + goto err_unregister_drivers; > > match = exynos_drm_match_add(&pdev->dev); > if (IS_ERR(match)) { > @@ -632,96 +612,24 @@ static int exynos_drm_platform_probe(struct platform_device *pdev) > match); > > err_unregister_ipp_dev: > - > -#ifdef CONFIG_DRM_EXYNOS_IPP > exynos_platform_device_ipp_unregister(); > -err_unregister_ipp_drv: > - platform_driver_unregister(&ipp_driver); > -err_unregister_gsc_drv: > -#endif > > -#ifdef CONFIG_DRM_EXYNOS_GSC > - platform_driver_unregister(&gsc_driver); > -err_unregister_rotator_drv: > -#endif > +err_unregister_drivers: > + while (--i >= 0) > + platform_driver_unregister(exynos_drm_drivers[i]); > > -#ifdef CONFIG_DRM_EXYNOS_ROTATOR > - platform_driver_unregister(&rotator_driver); > -err_unregister_fimc_drv: > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_FIMC > - platform_driver_unregister(&fimc_driver); > -err_unregister_g2d_drv: > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_G2D > - platform_driver_unregister(&g2d_driver); > -err_unregister_hdmi_drv: > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_HDMI > - platform_driver_unregister(&hdmi_driver); > -err_unregister_mixer_drv: > - platform_driver_unregister(&mixer_driver); > -err_unregister_dsi_drv: > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_DSI > - platform_driver_unregister(&dsi_driver); > -err_unregister_dp_drv: > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_DP > - platform_driver_unregister(&dp_driver); > -err_unregister_fimd_drv: > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_FIMD > - platform_driver_unregister(&fimd_driver); > -#endif > return ret; > } > > static int exynos_drm_platform_remove(struct platform_device *pdev) > { > -#ifdef CONFIG_DRM_EXYNOS_IPP > - exynos_platform_device_ipp_unregister(); > - platform_driver_unregister(&ipp_driver); > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_GSC > - platform_driver_unregister(&gsc_driver); > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_ROTATOR > - platform_driver_unregister(&rotator_driver); > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_FIMC > - platform_driver_unregister(&fimc_driver); > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_G2D > - platform_driver_unregister(&g2d_driver); > -#endif > - > -#ifdef CONFIG_DRM_EXYNOS_HDMI > - platform_driver_unregister(&mixer_driver); > - platform_driver_unregister(&hdmi_driver); > -#endif > + int i; > > -#ifdef CONFIG_DRM_EXYNOS_FIMD > - platform_driver_unregister(&fimd_driver); > -#endif > + exynos_platform_device_ipp_unregister(); > > -#ifdef CONFIG_DRM_EXYNOS_DSI > - platform_driver_unregister(&dsi_driver); > -#endif > + for (i = ARRAY_SIZE(exynos_drm_drivers) - 1; i >= 0; --i) > + platform_driver_unregister(exynos_drm_drivers[i]); > > -#ifdef CONFIG_DRM_EXYNOS_DP > - platform_driver_unregister(&dp_driver); > -#endif > component_master_del(&pdev->dev, &exynos_drm_ops); > return 0; > } > @@ -745,11 +653,9 @@ static int exynos_drm_init(void) > if (IS_ERR(exynos_drm_pdev)) > return PTR_ERR(exynos_drm_pdev); > > -#ifdef CONFIG_DRM_EXYNOS_VIDI > ret = exynos_drm_probe_vidi(); > if (ret < 0) > goto err_unregister_pd; > -#endif > > ret = platform_driver_register(&exynos_drm_platform_driver); > if (ret) > @@ -758,11 +664,9 @@ static int exynos_drm_init(void) > return 0; > > err_remove_vidi: > -#ifdef CONFIG_DRM_EXYNOS_VIDI > exynos_drm_remove_vidi(); > > err_unregister_pd: > -#endif > platform_device_unregister(exynos_drm_pdev); > > return ret; > @@ -771,9 +675,9 @@ err_unregister_pd: > static void exynos_drm_exit(void) > { > platform_driver_unregister(&exynos_drm_platform_driver); > -#ifdef CONFIG_DRM_EXYNOS_VIDI > + > exynos_drm_remove_vidi(); > -#endif > + > platform_device_unregister(exynos_drm_pdev); > } > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h b/drivers/gpu/drm/exynos/exynos_drm_drv.h > index 69a6fa3..76d5d02 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h > +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h > @@ -324,15 +324,14 @@ int exynos_platform_device_hdmi_register(void); > */ > void exynos_platform_device_hdmi_unregister(void); > > -/* > - * this function registers exynos drm ipp platform device. > - */ > +#ifdef CONFIG_DRM_EXYNOS_IPP > int exynos_platform_device_ipp_register(void); > - > -/* > - * this function unregisters exynos drm ipp platform device if it exists. > - */ > void exynos_platform_device_ipp_unregister(void); > +#else > +static inline int exynos_platform_device_ipp_register(void) { return 0; } > +static inline void exynos_platform_device_ipp_unregister(void) {} > +#endif > + > > #ifdef CONFIG_DRM_EXYNOS_DPI > struct exynos_drm_display * exynos_dpi_probe(struct device *dev); > @@ -343,15 +342,13 @@ exynos_dpi_probe(struct device *dev) { return NULL; } > static inline int exynos_dpi_remove(struct device *dev) { return 0; } > #endif > > -/* > - * this function registers exynos drm vidi platform device/driver. > - */ > +#ifdef CONFIG_DRM_EXYNOS_VIDI > int exynos_drm_probe_vidi(void); > - > -/* > - * this function unregister exynos drm vidi platform device/driver. > - */ > void exynos_drm_remove_vidi(void); > +#else > +static inline int exynos_drm_probe_vidi(void) { return 0; } > +static inline void exynos_drm_remove_vidi(void) {} > +#endif > > /* This function creates a encoder and a connector, and initializes them. */ > int exynos_drm_create_enc_conn(struct drm_device *dev,