From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v4 22/22] drm: omapdrm: Perform initialization/cleanup at probe/remove time Date: Fri, 16 Dec 2016 15:54:21 +0200 Message-ID: <2379089.6fJ5i85Q6b@avalon> References: <1481675266-24598-1-git-send-email-laurent.pinchart@ideasonboard.com> <1481675266-24598-23-git-send-email-laurent.pinchart@ideasonboard.com> <0791e4c6-657e-da9e-54ad-021b0617c4d5@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 322286EC09 for ; Fri, 16 Dec 2016 13:53:44 +0000 (UTC) In-Reply-To: <0791e4c6-657e-da9e-54ad-021b0617c4d5@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Tomi Valkeinen Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgVG9taSwKCk9uIEZyaWRheSAxNiBEZWMgMjAxNiAxNDo0NDoyNiBUb21pIFZhbGtlaW5lbiB3 cm90ZToKPiBPbiAxNC8xMi8xNiAwMjoyNywgTGF1cmVudCBQaW5jaGFydCB3cm90ZToKPiA+IFRo ZSBkcm0gZHJpdmVyIC5sb2FkKCkgb3BlcmF0aW9uIGlzIHByb25lIHRvIHJhY2UgY29uZGl0aW9u cyBhcyBpdAo+ID4gaW5pdGlhbGl6ZXMgdGhlIGRyaXZlciBhZnRlciByZWdpc3RlcmluZyB0aGUg ZGV2aWNlIG5vZGVzLiBJdHMgdXNhZ2UgaXMKPiA+IGRlcHJlY2F0ZWQsIGlubGluZSBpdCBpbiB0 aGUgcHJvYmUgZnVuY3Rpb24gYW5kIGNhbGwgZHJtX2Rldl9hbGxvYygpIGFuZAo+ID4gZHJtX2Rl dl9yZWdpc3RlcigpIGV4cGxpY2l0bHkuCj4gPiAKPiA+IEZvciBjb25zaXN0ZW5jeSBpbmxpbmUg dGhlIC51bmxvYWQoKSBoYW5kbGVyIGluIHRoZSByZW1vdmUgZnVuY3Rpb24gYXMKPiA+IHdlbGwu Cj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hh cnRAaWRlYXNvbmJvYXJkLmNvbT4KPiA+IC0tLQo+ID4gQ2hhbmdlcyBzaW5jZSB2MToKPiA+IAo+ ID4gLSBDYWxsIGRybV9rbXNfaGVscGVyX3BvbGxfZmluaSgpIGJlZm9yZSBvbWFwX2ZiZGV2X2Zy ZWUoKSBpbiB0aGUgcmVtb3ZlCj4gPiAKPiA+ICAgaGFuZGxlci4KPiA+IAo+ID4gLSBLZWVwIHN0 b3JpbmcgZHJtX2RldmljZSBpbiB0aGUgcGxhdGZvcm0gZGV2aWNlIHByaXZhdGUgZGF0YS4KPiA+ IC0tLQo+ID4gCj4gPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYyB8 ICAgMiAtCj4gPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyAgICAgICB8IDIx MiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTA3IGlu c2VydGlvbnMoKyksIDEwNyBkZWxldGlvbnMoLSkKCltzbmlwXQoKPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL29tYXBfZHJ2LmMgaW5kZXggMGEyZDQ2MWQ2MmNmLi5hM2IzNzgyM2IyNzEKPiA+IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYwo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYwoKW3NuaXBdCgo+ID4gQEAgLTgz NywzMCArNzQxLDEyOCBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgb21hcF9kcm1fZHJpdmVy ID0gewo+ID4gIAkucGF0Y2hsZXZlbCA9IERSSVZFUl9QQVRDSExFVkVMLAo+ID4gIH07Cj4gPiAK PiA+IC1zdGF0aWMgaW50IHBkZXZfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2aWNl KQo+ID4gK3N0YXRpYyBpbnQgcGRldl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ID4gIHsKPiA+IC0JaW50IHI7Cj4gPiArCXN0cnVjdCBvbWFwX2RybV9wbGF0Zm9ybV9kYXRh ICpwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOwo+ID4gKwlzdHJ1Y3Qgb21hcF9kcm1f cHJpdmF0ZSAqcHJpdjsKPiA+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRkZXY7Cj4gPiArCXVuc2ln bmVkIGludCBpOwo+ID4gKwlpbnQgcmV0Owo+ID4gKwo+ID4gKwlEQkcoIiVzIiwgcGRldi0+bmFt ZSk7Cj4gPiAKPiA+ICAJaWYgKG9tYXBkc3NfaXNfaW5pdGlhbGl6ZWQoKSA9PSBmYWxzZSkKPiA+ ICAJCXJldHVybiAtRVBST0JFX0RFRkVSOwo+ID4gIAkKPiA+ICAJb21hcF9jcnRjX3ByZV9pbml0 KCk7Cj4gPiAKPiA+IC0JciA9IG9tYXBfY29ubmVjdF9kc3NkZXZzKCk7Cj4gPiAtCWlmIChyKSB7 Cj4gPiArCXJldCA9IG9tYXBfY29ubmVjdF9kc3NkZXZzKCk7Cj4gPiArCWlmIChyZXQpIHsKPiA+ ICAJCW9tYXBfY3J0Y19wcmVfdW5pbml0KCk7Cj4gPiAtCQlyZXR1cm4gcjsKPiA+ICsJCWdvdG8g ZXJyX2NydGNfdW5pbml0Owo+IAo+IFRoaXMgY2FsbHMgb21hcF9jcnRjX3ByZV91bmluaXQgaGVy ZSBhbmQgaW4gdGhlIGVyciBoYW5kbGVyLgoKT29wcywgd2lsbCBmaXguCgo+ID4gKwl9Cj4gPiAr Cj4gPiArCS8qIEFsbG9jYXRlIGFuZCBpbml0aWFsaXplIHRoZSBkcml2ZXIgcHJpdmF0ZSBzdHJ1 Y3R1cmUuICovCj4gPiArCXByaXYgPSBremFsbG9jKHNpemVvZigqcHJpdiksIEdGUF9LRVJORUwp Owo+ID4gKwlpZiAoIXByaXYpIHsKPiA+ICsJCXJldCA9IC1FTk9NRU07Cj4gPiArCQlnb3RvIGVy cl9kaXNjb25uZWN0X2Rzc2RldnM7Cj4gPiArCX0KPiA+ICsKPiA+ICsJcHJpdi0+b21hcHJldiA9 IHBkYXRhLT5vbWFwcmV2Owo+ID4gKwlwcml2LT53cSA9IGFsbG9jX29yZGVyZWRfd29ya3F1ZXVl KCJvbWFwZHJtIiwgMCk7Cj4gPiArCj4gPiArCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnByaXYtPmNv bW1pdC53YWl0KTsKPiA+ICsJc3Bpbl9sb2NrX2luaXQoJnByaXYtPmNvbW1pdC5sb2NrKTsKPiA+ ICsJc3Bpbl9sb2NrX2luaXQoJnByaXYtPmxpc3RfbG9jayk7Cj4gPiArCUlOSVRfTElTVF9IRUFE KCZwcml2LT5vYmpfbGlzdCk7Cj4gPiArCj4gPiArCS8qIEFsbG9jYXRlIGFuZCBpbml0aWFsaXpl IHRoZSBEUk0gZGV2aWNlLiAqLwo+ID4gKwlkZGV2ID0gZHJtX2Rldl9hbGxvYygmb21hcF9kcm1f ZHJpdmVyLCAmcGRldi0+ZGV2KTsKPiA+ICsJaWYgKElTX0VSUihkZGV2KSkgewo+ID4gKwkJcmV0 ID0gUFRSX0VSUihkZGV2KTsKPiA+ICsJCWdvdG8gZXJyX2ZyZWVfcHJpdjsKPiA+ICsJfQo+ID4g Kwo+ID4gKwlkZGV2LT5kZXZfcHJpdmF0ZSA9IHByaXY7Cj4gPiArCXBsYXRmb3JtX3NldF9kcnZk YXRhKHBkZXYsIGRkZXYpOwo+ID4gKwo+ID4gKwlvbWFwX2dlbV9pbml0KGRkZXYpOwo+ID4gKwo+ ID4gKwlyZXQgPSBvbWFwX21vZGVzZXRfaW5pdChkZGV2KTsKPiA+ICsJaWYgKHJldCkgewo+ID4g KwkJZGV2X2VycigmcGRldi0+ZGV2LCAib21hcF9tb2Rlc2V0X2luaXQgZmFpbGVkOiByZXQ9JWRc biIsIApyZXQpOwo+ID4gKwkJZ290byBlcnJfZnJlZV9kcm1fZGV2Owo+ID4gKwl9Cj4gPiArCj4g PiArCS8qIEluaXRpYWxpemUgdmJsYW5rIGhhbmRsaW5nLCBzdGFydCB3aXRoIGFsbCBDUlRDcyBk aXNhYmxlZC4gKi8KPiA+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRkZXYsIHByaXYtPm51bV9j cnRjcyk7Cj4gPiArCWlmIChyZXQpIHsKPiA+ICsJCWRldl9lcnIoJnBkZXYtPmRldiwgImNvdWxk IG5vdCBpbml0IHZibGFua1xuIik7Cj4gPiArCQlnb3RvIGVycl9jbGVhbnVwX21vZGVzZXQ7Cj4g PiAgCX0KPiA+IAo+ID4gLQlEQkcoIiVzIiwgZGV2aWNlLT5uYW1lKTsKPiA+IC0JcmV0dXJuIGRy bV9wbGF0Zm9ybV9pbml0KCZvbWFwX2RybV9kcml2ZXIsIGRldmljZSk7Cj4gPiArCWZvciAoaSA9 IDA7IGkgPCBwcml2LT5udW1fY3J0Y3M7IGkrKykKPiA+ICsJCWRybV9jcnRjX3ZibGFua19vZmYo cHJpdi0+Y3J0Y3NbaV0pOwo+ID4gKwo+ID4gKwlwcml2LT5mYmRldiA9IG9tYXBfZmJkZXZfaW5p dChkZGV2KTsKPiA+ICsKPiA+ICsJZHJtX2ttc19oZWxwZXJfcG9sbF9pbml0KGRkZXYpOwo+ID4g Kwo+ID4gKwkvKgo+ID4gKwkgKiBSZWdpc3RlciB0aGUgRFJNIGRldmljZSB3aXRoIHRoZSBjb3Jl IGFuZCB0aGUgY29ubmVjdG9ycyB3aXRoCj4gPiArCSAqIHN5c2ZzLgo+ID4gKwkgKi8KPiA+ICsJ cmV0ID0gZHJtX2Rldl9yZWdpc3RlcihkZGV2LCAwKTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCWdv dG8gZXJyX2NsZWFudXBfaGVscGVyczsKPiA+ICsKPiA+ICsJcmV0dXJuIDA7Cj4gPiArCj4gPiAr ZXJyX2NsZWFudXBfaGVscGVyczoKPiA+ICsJZHJtX2ttc19oZWxwZXJfcG9sbF9maW5pKGRkZXYp Owo+ID4gKwlpZiAocHJpdi0+ZmJkZXYpCj4gPiArCQlvbWFwX2ZiZGV2X2ZyZWUoZGRldik7Cj4g PiArCWRybV92YmxhbmtfY2xlYW51cChkZGV2KTsKPiA+ICtlcnJfY2xlYW51cF9tb2Rlc2V0Ogo+ ID4gKwlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkZGV2KTsKPiA+ICsJb21hcF9kcm1faXJxX3Vu aW5zdGFsbChkZGV2KTsKPiA+ICtlcnJfZnJlZV9kcm1fZGV2Ogo+ID4gKwlvbWFwX2dlbV9kZWlu aXQoZGRldik7Cj4gPiArCWRybV9kZXZfdW5yZWYoZGRldik7Cj4gPiArZXJyX2ZyZWVfcHJpdjoK PiA+ICsJZGVzdHJveV93b3JrcXVldWUocHJpdi0+d3EpOwo+ID4gKwlrZnJlZShwcml2KTsKPiA+ ICtlcnJfZGlzY29ubmVjdF9kc3NkZXZzOgo+ID4gKwlvbWFwX2Rpc2Nvbm5lY3RfZHNzZGV2cygp Owo+ID4gK2Vycl9jcnRjX3VuaW5pdDoKPiA+ICsJb21hcF9jcnRjX3ByZV91bmluaXQoKTsKPiA+ ICsJcmV0dXJuIHJldDsKPiA+ICB9Cj4gPiAKPiA+IC1zdGF0aWMgaW50IHBkZXZfcmVtb3ZlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZSkKPiA+ICtzdGF0aWMgaW50IHBkZXZfcmVtb3Zl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiAgewo+ID4gKwlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGRldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwo+ID4gKwlzdHJ1Y3Qgb21h cF9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRkZXYtPmRldl9wcml2YXRlOwo+ID4gKwo+ID4gIAlEQkco IiIpOwo+ID4gCj4gPiAtCWRybV9wdXRfZGV2KHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldmljZSkp Owo+ID4gKwlkcm1fZGV2X3VucmVnaXN0ZXIoZGRldik7Cj4gPiArCj4gPiArCWRybV9rbXNfaGVs cGVyX3BvbGxfZmluaShkZGV2KTsKPiA+ICsKPiA+ICsJaWYgKHByaXYtPmZiZGV2KQo+ID4gKwkJ b21hcF9mYmRldl9mcmVlKGRkZXYpOwo+ID4gKwo+ID4gKwlkcm1fbW9kZV9jb25maWdfY2xlYW51 cChkZGV2KTsKPiA+ICsKPiA+ICsJb21hcF9kcm1faXJxX3VuaW5zdGFsbChkZGV2KTsKPiA+ICsJ b21hcF9nZW1fZGVpbml0KGRkZXYpOwo+ID4gKwo+ID4gKwlkcm1fZGV2X3VucmVmKGRkZXYpOwo+ ID4gKwo+ID4gKwlkZXN0cm95X3dvcmtxdWV1ZShwcml2LT53cSk7Cj4gPiArCWtmcmVlKHByaXYp Owo+ID4gCj4gPiAgCW9tYXBfZGlzY29ubmVjdF9kc3NkZXZzKCk7Cj4gPiAgCW9tYXBfY3J0Y19w cmVfdW5pbml0KCk7Cj4gCj4gVGhlIG9sZCBjb2RlIGNhbGxzIGRybV92YmxhbmtfY2xlYW51cCgp LCBhbmQgdGhlIHByb2JlJ3MgZXJyb3IgaGFuZGxpbmcKPiBjYWxscyB0aGF0LCBidXQgbm90IHJl bW92ZS4gSXMgdGhhdCBjb3JyZWN0PwoKTm93IHRoYXQgZHJtX3ZibGFua19jbGVhbnVwKCkgaXMg Y2FsbGVkIGJ5IGRybV9kZXZfcmVsZWFzZSgpIHdlIGNhbiBkcm9wIHRoZSAKY2FsbCBmcm9tIHRo ZSBwcm9iZSBlcnJvciBwYXRoLiBJdCB1c2VkIHRvIGJlIG5lZWRlZCBhcyB0aGUgZnVuY3Rpb24g d2FzIApjYWxsZWQgZnJvbSBkcm1fZGV2X3VucmVnaXN0ZXIoKS4KCi0tIApSZWdhcmRzLAoKTGF1 cmVudCBQaW5jaGFydAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==