From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 2/2] drm: omapdrm: Perform initialization/cleanup at probe/remove time Date: Tue, 13 Dec 2016 23:41:09 +0200 Message-ID: <1664447.LBMj1qXpbl@avalon> References: <1481642503-1315-1-git-send-email-laurent.pinchart@ideasonboard.com> <1481642503-1315-3-git-send-email-laurent.pinchart@ideasonboard.com> <20161213212110.fyggkujyi4ert6h3@phenom.ffwll.local> 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 [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id CF7C06E696 for ; Tue, 13 Dec 2016 21:40:36 +0000 (UTC) In-Reply-To: <20161213212110.fyggkujyi4ert6h3@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Tomi Valkeinen , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKT24gVHVlc2RheSAxMyBEZWMgMjAxNiAyMjoyMToxMCBEYW5pZWwgVmV0dGVy IHdyb3RlOgo+IE9uIFR1ZSwgRGVjIDEzLCAyMDE2IGF0IDA1OjIxOjQzUE0gKzAyMDAsIExhdXJl bnQgUGluY2hhcnQgd3JvdGU6Cj4gPiBUaGUgZHJtIGRyaXZlciAubG9hZCgpIG9wZXJhdGlvbiBp cyBwcm9uZSB0byByYWNlIGNvbmRpdGlvbnMgYXMgaXQKPiA+IGluaXRpYWxpemVzIHRoZSBkcml2 ZXIgYWZ0ZXIgcmVnaXN0ZXJpbmcgdGhlIGRldmljZSBub2Rlcy4gSXRzIHVzYWdlIGlzCj4gPiBk ZXByZWNhdGVkLCBpbmxpbmUgaXQgaW4gdGhlIHByb2JlIGZ1bmN0aW9uIGFuZCBjYWxsIGRybV9k ZXZfYWxsb2MoKSBhbmQKPiA+IGRybV9kZXZfcmVnaXN0ZXIoKSBleHBsaWNpdGx5Lgo+ID4gCj4g PiBGb3IgY29uc2lzdGVuY3kgaW5saW5lIHRoZSAudW5sb2FkKCkgaGFuZGxlciBpbiB0aGUgcmVt b3ZlIGZ1bmN0aW9uIGFzCj4gPiB3ZWxsLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBMYXVyZW50 IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cj4gPiAtLS0KPiA+ IAo+ID4gIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMgfCAgIDIgLQo+ ID4gIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMgICAgICAgfCAyMjkgKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Ry di5oICAgICAgIHwgICAxICsKPiA+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbS5j ICAgICAgIHwgICAzICstCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKSwg MTE3IGRlbGV0aW9ucygtKQoKW3NuaXBdCgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL29tYXBfZHJ2LmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9k cnYuYyBpbmRleCAwYTJkNDYxZDYyY2YuLmRjMjgyZTAyMzExOAo+ID4gMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCgpbc25pcF0KCj4gPiBAQCAtODM3LDMwICs3NDEsMTI5 IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBvbWFwX2RybV9kcml2ZXIgPSB7Cj4gPiAgCS5w YXRjaGxldmVsID0gRFJJVkVSX1BBVENITEVWRUwsCj4gPiAgfTsKPiA+IAo+ID4gLXN0YXRpYyBp bnQgcGRldl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2UpCj4gPiArc3RhdGlj IGludCBwZGV2X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiAgewo+ID4g LQlpbnQgcjsKPiA+ICsJc3RydWN0IG9tYXBfZHJtX3BsYXRmb3JtX2RhdGEgKnBkYXRhID0gcGRl di0+ZGV2LnBsYXRmb3JtX2RhdGE7Cj4gPiArCXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2 Owo+ID4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGRldjsKPiA+ICsJdW5zaWduZWQgaW50IGk7Cj4g PiArCWludCByZXQ7Cj4gPiArCj4gPiArCURCRygiJXMiLCBwZGV2LT5uYW1lKTsKPiA+IAo+ID4g IAlpZiAob21hcGRzc19pc19pbml0aWFsaXplZCgpID09IGZhbHNlKQo+ID4gIAkJcmV0dXJuIC1F UFJPQkVfREVGRVI7Cj4gPiAgCQo+ID4gIAlvbWFwX2NydGNfcHJlX2luaXQoKTsKPiA+IAo+ID4g LQlyID0gb21hcF9jb25uZWN0X2Rzc2RldnMoKTsKPiA+IC0JaWYgKHIpIHsKPiA+ICsJcmV0ID0g b21hcF9jb25uZWN0X2Rzc2RldnMoKTsKPiA+ICsJaWYgKHJldCkgewo+ID4gIAkJb21hcF9jcnRj X3ByZV91bmluaXQoKTsKPiA+IC0JCXJldHVybiByOwo+ID4gKwkJZ290byBlcnJfY3J0Y191bmlu aXQ7Cj4gPiArCX0KPiA+ICsKPiA+ICsJLyogQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgdGhlIGRy aXZlciBwcml2YXRlIHN0cnVjdHVyZS4gKi8KPiA+ICsJcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKCpw cml2KSwgR0ZQX0tFUk5FTCk7Cj4gPiArCWlmICghcHJpdikgewo+ID4gKwkJcmV0ID0gLUVOT01F TTsKPiA+ICsJCWdvdG8gZXJyX2Rpc2Nvbm5lY3RfZHNzZGV2czsKPiA+ICsJfQo+ID4gKwo+ID4g Kwlwcml2LT5vbWFwcmV2ID0gcGRhdGEtPm9tYXByZXY7Cj4gPiArCXByaXYtPndxID0gYWxsb2Nf b3JkZXJlZF93b3JrcXVldWUoIm9tYXBkcm0iLCAwKTsKPiA+ICsKPiA+ICsJaW5pdF93YWl0cXVl dWVfaGVhZCgmcHJpdi0+Y29tbWl0LndhaXQpOwo+ID4gKwlzcGluX2xvY2tfaW5pdCgmcHJpdi0+ Y29tbWl0LmxvY2spOwo+ID4gKwlzcGluX2xvY2tfaW5pdCgmcHJpdi0+bGlzdF9sb2NrKTsKPiA+ ICsJSU5JVF9MSVNUX0hFQUQoJnByaXYtPm9ial9saXN0KTsKPiA+ICsKPiA+ICsJcGxhdGZvcm1f c2V0X2RydmRhdGEocGRldiwgcHJpdik7Cj4gCj4gU28gZWl0aGVyIEknbSBibGluZCwgb3IgdGhl IG9sZCBjb2RlIHN0b3JlZCB0aGUgZHJtX2RldmljZSBpbiBoZXJlLCBidXQKPiB0aGUgbmV3IG9u ZSB0aGUgb21hcCBwcml2YXRlIHN0dWZmLiBUb28gbGF6eSB0byBhdWRpdCB0aGUgZnVsbCBkcml2 ZXIsIGFuZAo+IGVpdGhlciB3YXkgdGhpcyBzaG91bGQgYmUgYSBzZXBhcmF0ZSBwYXRjaCBpZiB5 b3Ugd2FudCB0byBjaGFuZ2UgaXQuCgpPSywgSSdsbCBzcGxpdCBpdCB0byBhIHNlcGFyYXRlIHBh dGNoLgoKPiA+ICsKPiA+ICsJLyogQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgdGhlIERSTSBkZXZp Y2UuICovCj4gPiArCWRkZXYgPSBkcm1fZGV2X2FsbG9jKCZvbWFwX2RybV9kcml2ZXIsICZwZGV2 LT5kZXYpOwo+IAo+IFNpbmNlIHRoaXMgaXMgYSBkcml2ZXIgeW91IHdvcmsgb24sIGVtYmVkZGlu ZyBpcyByZWNvbW1lbmRlZCwgc2VlCj4gZHJtX2Rldl9pbml0KCkuIExvb2tzIHNvbyBtdWNoIGJl dHRlci4KCkhvdyBkb2VzIHRoYXQgd29yayB3aXRoIGRybV9kZXZfdW5yZWYoKSB0aGVuID8gV2hl biB0aGUgbGFzdCByZWZlcmVuY2UgZ29lcyAKYXdheSBkcm1fZGV2X3JlbGVhc2UoKSB3aWxsIGtm cmVlKCkgdGhlIGRybV9kZXZpY2UgaW5zdGFuY2UsIHdoaWNoIGlzIG9ubHkgCnZhbGlkIGlmIEkg YWxsb2NhdGUgaXQgZHluYW1pY2FsbHkuCgo+ID4gKwlpZiAoSVNfRVJSKGRkZXYpKSB7Cj4gPiAr CQlyZXQgPSBQVFJfRVJSKGRkZXYpOwo+ID4gKwkJZ290byBlcnJfZnJlZV9wcml2Owo+ID4gKwl9 Cj4gPiArCj4gPiArCXByaXYtPmRybV9kZXYgPSBkZGV2Owo+ID4gKwlkZGV2LT5kZXZfcHJpdmF0 ZSA9IHByaXY7Cj4gPiArCj4gPiArCW9tYXBfZ2VtX2luaXQoZGRldik7Cj4gPiArCj4gPiArCXJl dCA9IG9tYXBfbW9kZXNldF9pbml0KGRkZXYpOwo+ID4gKwlpZiAocmV0KSB7Cj4gPiArCQlkZXZf ZXJyKCZwZGV2LT5kZXYsICJvbWFwX21vZGVzZXRfaW5pdCBmYWlsZWQ6IHJldD0lZFxuIiwgCnJl dCk7Cj4gPiArCQlnb3RvIGVycl9mcmVlX2RybV9kZXY7Cj4gPiAKPiA+ICAJfQo+ID4gCj4gPiAt CURCRygiJXMiLCBkZXZpY2UtPm5hbWUpOwo+ID4gLQlyZXR1cm4gZHJtX3BsYXRmb3JtX2luaXQo Jm9tYXBfZHJtX2RyaXZlciwgZGV2aWNlKTsKPiA+ICsJLyogSW5pdGlhbGl6ZSB2YmxhbmsgaGFu ZGxpbmcsIHN0YXJ0IHdpdGggYWxsIENSVENzIGRpc2FibGVkLiAqLwo+ID4gKwlyZXQgPSBkcm1f dmJsYW5rX2luaXQoZGRldiwgcHJpdi0+bnVtX2NydGNzKTsKPiA+ICsJaWYgKHJldCkgewo+ID4g KwkJZGV2X2VycigmcGRldi0+ZGV2LCAiY291bGQgbm90IGluaXQgdmJsYW5rXG4iKTsKPiA+ICsJ CWdvdG8gZXJyX2NsZWFudXBfbW9kZXNldDsKPiA+ICsJfQo+ID4gKwo+ID4gKwlmb3IgKGkgPSAw OyBpIDwgcHJpdi0+bnVtX2NydGNzOyBpKyspCj4gPiArCQlkcm1fY3J0Y192Ymxhbmtfb2ZmKHBy aXYtPmNydGNzW2ldKTsKPiA+ICsKPiA+ICsJcHJpdi0+ZmJkZXYgPSBvbWFwX2ZiZGV2X2luaXQo ZGRldik7Cj4gPiArCj4gPiArCWRybV9rbXNfaGVscGVyX3BvbGxfaW5pdChkZGV2KTsKPiA+ICsK PiA+ICsJLyoKPiA+ICsJICogUmVnaXN0ZXIgdGhlIERSTSBkZXZpY2Ugd2l0aCB0aGUgY29yZSBh bmQgdGhlIGNvbm5lY3RvcnMgd2l0aAo+ID4gKwkgKiBzeXNmcy4KPiA+ICsJICovCj4gPiArCXJl dCA9IGRybV9kZXZfcmVnaXN0ZXIoZGRldiwgMCk7Cj4gPiArCWlmIChyZXQpCj4gPiArCQlnb3Rv IGVycl9jbGVhbnVwX2hlbHBlcnM7Cj4gPiArCj4gPiArCXJldHVybiAwOwo+ID4gKwo+ID4gK2Vy cl9jbGVhbnVwX2hlbHBlcnM6Cj4gPiArCWRybV9rbXNfaGVscGVyX3BvbGxfZmluaShkZGV2KTsK PiA+ICsJaWYgKHByaXYtPmZiZGV2KQo+ID4gKwkJb21hcF9mYmRldl9mcmVlKGRkZXYpOwo+ID4g Kwlkcm1fdmJsYW5rX2NsZWFudXAoZGRldik7Cj4gPiArZXJyX2NsZWFudXBfbW9kZXNldDoKPiA+ ICsJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoZGRldik7Cj4gPiArCW9tYXBfZHJtX2lycV91bmlu c3RhbGwoZGRldik7Cj4gPiArZXJyX2ZyZWVfZHJtX2RldjoKPiA+ICsJb21hcF9nZW1fZGVpbml0 KGRkZXYpOwo+ID4gKwlkcm1fZGV2X3VucmVmKGRkZXYpOwo+ID4gK2Vycl9mcmVlX3ByaXY6Cj4g PiArCWRlc3Ryb3lfd29ya3F1ZXVlKHByaXYtPndxKTsKPiA+ICsJa2ZyZWUocHJpdik7Cj4gPiAr ZXJyX2Rpc2Nvbm5lY3RfZHNzZGV2czoKPiA+ICsJb21hcF9kaXNjb25uZWN0X2Rzc2RldnMoKTsK PiA+ICtlcnJfY3J0Y191bmluaXQ6Cj4gPiArCW9tYXBfY3J0Y19wcmVfdW5pbml0KCk7Cj4gPiAr CXJldHVybiByZXQ7Cj4gPiAgfQo+ID4gCj4gPiAtc3RhdGljIGludCBwZGV2X3JlbW92ZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2UpCj4gPiArc3RhdGljIGludCBwZGV2X3JlbW92ZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gIHsKPiA+ICsJc3RydWN0IG9tYXBfZHJt X3ByaXZhdGUgKnByaXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKPiA+ICsJc3RydWN0 IGRybV9kZXZpY2UgKmRkZXYgPSBwcml2LT5kcm1fZGV2Owo+ID4gKwo+ID4gIAlEQkcoIiIpOwo+ ID4gCj4gPiAtCWRybV9wdXRfZGV2KHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldmljZSkpOwo+ID4g Kwlkcm1fZGV2X3VucmVnaXN0ZXIoZGRldik7Cj4gPiArCj4gPiArCWlmIChwcml2LT5mYmRldikK PiA+ICsJCW9tYXBfZmJkZXZfZnJlZShkZGV2KTsKPiA+ICsKPiA+ICsJZHJtX2ttc19oZWxwZXJf cG9sbF9maW5pKGRkZXYpOwo+IAo+IFByb2JhYmx5IHdhbnQgdG8ga2VlcCBwb2xsX2ZpbmkgYmVm b3JlIHlvdSB0ZWFyIHVwIHRoZSBmYmRldiwgYmVjYXVzZSB0aGUKPiBwb2xsIHdvcmtlciBjYW4g Y2FsbCBpbnRvIHRoZSBmYmRldiBzdHVmZi4gTm90IHN1cmUgd2h5IHlvdSBmbGlwcGVkIHRob3Nl LgoKR29vZCBxdWVzdGlvbi4gSSdsbCBmaXggdGhhdC4KCj4gPiArCWRybV9tb2RlX2NvbmZpZ19j bGVhbnVwKGRkZXYpOwo+ID4gKwo+IAo+IAlkcm1fdmJsYW5rX2NsZWFudXAoZGV2KTsKPiBeXiBU aGlzIG9uZSBzZWVtcyBsb3N0LgoKZHJtX2Rldl91bnJlZ2lzdGVyKCkgY2FsbHMgZHJtX3ZibGFu a19jbGVhbnVwKCkuCgo+IEFuZCBJIGFzc3VtZSB0aGUgZHJpdmVyIGNvcmUgcmVzZXQgdGhlIGRy dmRhdGEgdG8gTlVMTCwgYnV0IHRvbyBsYXp5IHRvCj4gZG91YmxlLWNoZWNrIDstKQoKWWVzIGl0 IGRvZXMuCgo+IFdpdGggdGhlIGFib3ZlIGFkZHJlc3NlZDoKPiAKPiBSZXZpZXdlZC1ieTogRGFu aWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAKPiBCdXQgdGhlIHNlbWktcmFu ZG9tIHNsaWdodCByZS1vcmRlcmluZyBvZiB0aGUgaW5pdC90ZWFyZG93biBzZXF1ZW5jZSBvbgo+ IHRoaXMgbWFkZSBpdCBhIGJpdCB0cmlja3kgdG8gcmV2aWV3IC4uLgo+IC1EYW5pZWwKPiAKPiA+ ICsJb21hcF9kcm1faXJxX3VuaW5zdGFsbChkZGV2KTsKPiA+ICsJb21hcF9nZW1fZGVpbml0KGRk ZXYpOwo+ID4gKwo+ID4gKwlkcm1fZGV2X3VucmVmKGRkZXYpOwo+ID4gKwo+ID4gKwlkZXN0cm95 X3dvcmtxdWV1ZShwcml2LT53cSk7Cj4gPiArCWtmcmVlKHByaXYpOwo+ID4gCj4gPiAgCW9tYXBf ZGlzY29ubmVjdF9kc3NkZXZzKCk7Cj4gPiAgCW9tYXBfY3J0Y19wcmVfdW5pbml0KCk7Cgpbc25p cF0KCi0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==