From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Hajda Subject: Re: [PATCH 3/3] drm/exynos: decon: clean up interface type Date: Tue, 12 Apr 2016 07:55:57 +0200 Message-ID: <570C8DED.4060602@samsung.com> References: <1459844864-12065-1-git-send-email-inki.dae@samsung.com> <1459844864-12065-4-git-send-email-inki.dae@samsung.com> <57039C8C.6050505@samsung.com> <570C43FA.6070009@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <570C43FA.6070009@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 , Inki Dae Cc: "linux-samsung-soc@vger.kernel.org" , DRI mailing list List-Id: linux-samsung-soc@vger.kernel.org SGkgSW5raSwKCk9uIDA0LzEyLzIwMTYgMDI6NDAgQU0sIElua2kgRGFlIHdyb3RlOgo+IEhpIEFu ZHJ6ZWosCj4KPiAyMDE264WEIDA07JuUIDA17J28IDIxOjUy7JeQIElua2kgRGFlIOydtCjqsIAp IOyTtCDquIA6Cj4+ICBIaSBBbmRyemVqLAo+Pgo+PiAyMDE2LTA0LTA1IDIwOjA3IEdNVCswOTow MCBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29tPjoKPj4+IEhpIElua2ksCj4+Pgo+ Pj4gT24gMDQvMDUvMjAxNiAxMDoyNyBBTSwgSW5raSBEYWUgd3JvdGU6Cj4+Pj4gVGhpcyBwYXRj aCBjbGVhbnMgdXAgaW50ZXJmYWNlIHR5cGUgcmVsZXZhbnQgY29kZXMuCj4+Pj4KPj4+PiBUcmln Z2VyIG1vZGUgaXMgZGV0ZXJtaW5kZWQgb25seSBieSBpODAgbW9kZSwgd2hpY2ggaXNuJ3QKPj4+ PiByZWxhdGVkIHRvIERpc3BsYXkgdHlwZXMgLSBIRE1JIG9yIERpc3BsYXkgY29udHJvbGxlci4K Pj4+PiBTbyB0aGlzIHBhdGNoIG1ha2VzIHRoZSB0cmlnZ2VyIG1vZGUgdG8gYmUgc2V0IG9ubHkg aW4gY2FzZSBvZgo+Pj4+IGk4MCBtb2RlLgo+Pj4gV2l0aCB0aGlzIHBhdGNoIEhETUkgcGF0aCBp bWFnZSBoYXMgc2VyaW91cyBzeW5jaHJvbml6YXRpb24gcHJvYmxlbXMuCj4+PiBFeHlub3M1NDMz IGRvY3VtZW50YXRpb24gc2F5cyB0aGF0IEhETUkgVGltaW5nIEdlbmVyYXRvciBnZW5lcmF0ZXMg VlNZTkMKPj4+IHNpZ25hbCB3aGljaCB3b3JrcyBhcyBhIGhhcmR3YXJlIHRyaWdnZXIgZm9yIERF Q09OLVRWLCBzbyBJIGd1ZXNzCj4+PiB0cmlnZ2VyIGlzIHJlcXVpcmVkLgo+PiBSaWdodC4gT25l IEkgbWlzc2VkLiBGb3IgREVDT04tVFYsIHNlZW1zIHRoYXQgSFcgdHJpZ2dlciBtb2RlIGlzIG1h bmRhdG9yeS4KPiBMb29rcyBjb25zaWRlcmVkIGFscmVhZHkuIGZvciBERUNPTi1UViwgSTgwX0hX X1RSRyBmbGFnIGlzIHVzZWQgbWFuZGF0b3JpbHksCj4gCS5jb21wYXRpYmxlID0gInNhbXN1bmcs ZXh5bm9zNTQzMy1kZWNvbi10diIsCj4gCS5kYXRhID0gKHZvaWQgKikoSTgwX0hXX1RSRyB8IElG VFlQRV9IRE1JKQpIZXJlIGl0IGlzIE9LLCBidXQgdGhlcmUgYXJlIG90aGVyIGNoYW5nZXMsIHNl ZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzLgo+Cj4+PiBCdHcsIEkgdGhpbmsgaXQgY291bGQgYmUg Z29vZCB0byByZW1vdmUgc3VmZml4ZXMgSTgwX1JHViBmcm9tCj4+PiBUUklHQ09OX0hXVFJJR0VO X0k4MF9SR0IgYW5kIFRSSUdDT05fSFdUUklHTUFTS19JODBfUkdCIC0gdGhleSBhcmUKPj4+IG1p c2xlYWRpbmcgYW5kIGRpZmZlciBmcm9tIGRvY3VtZW50YXRpb24uCj4+IEluZGVlZC4gTG9va2Vk IHN0cmFuZ2Ugd2hlbiBJIHdyb3RlIHRoZSBzdWZmaXhlcy4KPiB3aWxsIHNlbmQgYW5vdGhlciBj bGVhbnVwIHBhdGNoLgo+Cj4gVGhhbmtzLAo+IElua2kgRGFlCj4KPj4+IEFzIGZhciBhcyBJIGhh dmUgdGVzdGVkIEk4MCBtb2RlIHdvcmtzIE9LIG9uIERlY29uNTQzMy4KPj4gVGhhbmtzIGZvciB0 ZXN0aW5nLgo+PiBJbmtpIERhZQo+Pgo+Pj4gUmVnYXJkcwo+Pj4gQW5kcnplago+Pj4KPj4+PiBT aWduZWQtb2ZmLWJ5OiBJbmtpIERhZSA8aW5raS5kYWVAc2Ftc3VuZy5jb20+Cj4+Pj4gLS0tCj4+ Pj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zNTQzM19kcm1fZGVjb24uYyB8IDUzICsr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLQo+Pj4+ICAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0 aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2V4eW5vcy9leHlub3M1NDMzX2RybV9kZWNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3M1NDMzX2RybV9kZWNvbi5jCj4+Pj4gaW5kZXggNTI0NWJjNS4uNTkyMmU5OSAx MDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2Rl Y29uLmMKPj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2Rl Y29uLmMKPj4+PiBAQCAtMjgsNiArMjgsMTAgQEAKPj4+PiAgI2RlZmluZSBXSU5ET1dTX05SICAg Mwo+Pj4+ICAjZGVmaW5lIE1JTl9GQl9XSURUSF9GT1JfMTZXT1JEX0JVUlNUICAgICAgICAxMjgK Pj4+Pgo+Pj4+ICsjZGVmaW5lIElGVFlQRV9JODAgICAoMSA8PCAwKQo+Pj4+ICsjZGVmaW5lIEk4 MF9IV19UUkcgICAoMSA8PCAxKQo+Pj4+ICsjZGVmaW5lIElGVFlQRV9IRE1JICAoMSA8PCAyKQo+ Pj4+ICsKPj4+PiAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkZWNvbl9jbGtzX25hbWVbXSA9 IHsKPj4+PiAgICAgICAicGNsayIsCj4+Pj4gICAgICAgImFjbGtfZGVjb24iLAo+Pj4+IEBAIC0z OCwxMiArNDIsNiBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRlY29uX2Nsa3NfbmFtZVtd ID0gewo+Pj4+ICAgICAgICJzY2xrX2RlY29uX2VjbGsiLAo+Pj4+ICB9Owo+Pj4+Cj4+Pj4gLWVu dW0gZGVjb25faWZ0eXBlIHsKPj4+PiAtICAgICBJRlRZUEVfUkdCLAo+Pj4+IC0gICAgIElGVFlQ RV9JODAsCj4+Pj4gLSAgICAgSUZUWVBFX0hETUkKPj4+PiAtfTsKPj4+PiAtCj4+Pj4gIGVudW0g ZGVjb25fZmxhZ19iaXRzIHsKPj4+PiAgICAgICBCSVRfQ0xLU19FTkFCTEVELAo+Pj4+ICAgICAg IEJJVF9JUlFTX0VOQUJMRUQsCj4+Pj4gQEAgLTYxLDcgKzU5LDcgQEAgc3RydWN0IGRlY29uX2Nv bnRleHQgewo+Pj4+ICAgICAgIHN0cnVjdCBjbGsgICAgICAgICAgICAgICAgICAgICAgKmNsa3Nb QVJSQVlfU0laRShkZWNvbl9jbGtzX25hbWUpXTsKPj4+PiAgICAgICBpbnQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBpcGU7Cj4+Pj4gICAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgICAg ICAgICAgICBmbGFnczsKPj4+PiAtICAgICBlbnVtIGRlY29uX2lmdHlwZSAgICAgICAgICAgICAg IG91dF90eXBlOwo+Pj4+ICsgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgICAgICAgb3V0 X3R5cGU7Cj4+Pj4gICAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdF93 aW47Cj4+Pj4gIH07Cj4+Pj4KPj4+PiBAQCAtOTUsNyArOTMsNyBAQCBzdGF0aWMgaW50IGRlY29u X2VuYWJsZV92Ymxhbmsoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKPj4+Pgo+Pj4+ICAg ICAgIGlmICghdGVzdF9hbmRfc2V0X2JpdChCSVRfSVJRU19FTkFCTEVELCAmY3R4LT5mbGFncykp IHsKPj4+PiAgICAgICAgICAgICAgIHZhbCA9IFZJRElOVENPTjBfSU5URU47Cj4+Pj4gLSAgICAg ICAgICAgICBpZiAoY3R4LT5vdXRfdHlwZSA9PSBJRlRZUEVfSTgwKQo+Pj4+ICsgICAgICAgICAg ICAgaWYgKGN0eC0+b3V0X3R5cGUgJiBJRlRZUEVfSTgwKQo+Pj4+ICAgICAgICAgICAgICAgICAg ICAgICB2YWwgfD0gVklESU5UQ09OMF9GUkFNRURPTkU7Cj4+Pj4gICAgICAgICAgICAgICBlbHNl Cj4+Pj4gICAgICAgICAgICAgICAgICAgICAgIHZhbCB8PSBWSURJTlRDT04wX0lOVEZSTUVOOwo+ Pj4+IEBAIC0xMTksNyArMTE3LDcgQEAgc3RhdGljIHZvaWQgZGVjb25fZGlzYWJsZV92Ymxhbmso c3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKPj4+Pgo+Pj4+ICBzdGF0aWMgdm9pZCBkZWNv bl9zZXR1cF90cmlnZ2VyKHN0cnVjdCBkZWNvbl9jb250ZXh0ICpjdHgpCj4+Pj4gIHsKPj4+PiAt ICAgICB1MzIgdmFsID0gKGN0eC0+b3V0X3R5cGUgIT0gSUZUWVBFX0hETUkpCj4+Pj4gKyAgICAg dTMyIHZhbCA9ICEoY3R4LT5vdXRfdHlwZSAmIEk4MF9IV19UUkcpCj4+Pj4gICAgICAgICAgICAg ICA/IFRSSUdDT05fVFJJR0VOX1BFUl9GIHwgVFJJR0NPTl9UUklHRU5fRiB8Cj4+Pj4gICAgICAg ICAgICAgICAgIFRSSUdDT05fVEVfQVVUT19NQVNLIHwgVFJJR0NPTl9TV1RSSUdFTgo+Pj4+ICAg ICAgICAgICAgICAgOiBUUklHQ09OX1RSSUdFTl9QRVJfRiB8IFRSSUdDT05fVFJJR0VOX0YgfAo+ Pj4+IEBAIC0xMzYsNyArMTM0LDcgQEAgc3RhdGljIHZvaWQgZGVjb25fY29tbWl0KHN0cnVjdCBl eHlub3NfZHJtX2NydGMgKmNydGMpCj4+Pj4gICAgICAgaWYgKHRlc3RfYml0KEJJVF9TVVNQRU5E RUQsICZjdHgtPmZsYWdzKSkKPj4+PiAgICAgICAgICAgICAgIHJldHVybjsKPj4+Pgo+Pj4+IC0g ICAgIGlmIChjdHgtPm91dF90eXBlID09IElGVFlQRV9IRE1JKSB7Cj4+Pj4gKyAgICAgaWYgKGN0 eC0+b3V0X3R5cGUgJiBJRlRZUEVfSERNSSkgewo+Pj4+ICAgICAgICAgICAgICAgbS0+Y3J0Y19o c3luY19zdGFydCA9IG0tPmNydGNfaGRpc3BsYXkgKyAxMDsKPj4+PiAgICAgICAgICAgICAgIG0t PmNydGNfaHN5bmNfZW5kID0gbS0+Y3J0Y19odG90YWwgLSA5MjsKPj4+PiAgICAgICAgICAgICAg IG0tPmNydGNfdnN5bmNfc3RhcnQgPSBtLT5jcnRjX3ZkaXNwbGF5ICsgMTsKPj4+PiBAQCAtMTUx LDE3ICsxNDksMjAgQEAgc3RhdGljIHZvaWQgZGVjb25fY29tbWl0KHN0cnVjdCBleHlub3NfZHJt X2NydGMgKmNydGMpCj4+Pj4KPj4+PiAgICAgICAvKiBsY2Qgb24gYW5kIHVzZSBjb21tYW5kIGlm ICovCj4+Pj4gICAgICAgdmFsID0gVklET1VUX0xDRF9PTjsKPj4+PiAtICAgICBpZiAoY3R4LT5v dXRfdHlwZSA9PSBJRlRZUEVfSTgwKQo+Pj4+ICsgICAgIGlmIChjdHgtPm91dF90eXBlICYgSUZU WVBFX0k4MCkgewo+Pj4+ICAgICAgICAgICAgICAgdmFsIHw9IFZJRE9VVF9DT01NQU5EX0lGOwo+ Pj4+IC0gICAgIGVsc2UKPj4+PiArICAgICAgICAgICAgIGRlY29uX3NldHVwX3RyaWdnZXIoY3R4 KTsKPj4+PiArICAgICB9IGVsc2Ugewo+Pj4+ICAgICAgICAgICAgICAgdmFsIHw9IFZJRE9VVF9S R0JfSUY7Cj4+Pj4gKyAgICAgfQo+Pj4+ICsKPj4+PiAgICAgICB3cml0ZWwodmFsLCBjdHgtPmFk ZHIgKyBERUNPTl9WSURPVVRDT04wKTsKPj4+Pgo+Pj4+ICAgICAgIHZhbCA9IFZJRFRDT04yX0xJ TkVWQUwobS0+dmRpc3BsYXkgLSAxKSB8Cj4+Pj4gICAgICAgICAgICAgICBWSURUQ09OMl9IT1pW QUwobS0+aGRpc3BsYXkgLSAxKTsKPj4+PiAgICAgICB3cml0ZWwodmFsLCBjdHgtPmFkZHIgKyBE RUNPTl9WSURUQ09OMik7Cj4+Pj4KPj4+PiAtICAgICBpZiAoY3R4LT5vdXRfdHlwZSAhPSBJRlRZ UEVfSTgwKSB7Cj4+Pj4gKyAgICAgaWYgKCEoY3R4LT5vdXRfdHlwZSAmIElGVFlQRV9JODApKSB7 Cj4+Pj4gICAgICAgICAgICAgICB2YWwgPSBWSURUQ09OMDBfVkJQRF9GKAo+Pj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG0tPmNydGNfdnRvdGFsIC0gbS0+Y3J0Y192c3luY19lbmQg LSAxKSB8Cj4+Pj4gICAgICAgICAgICAgICAgICAgICAgIFZJRFRDT04wMF9WRlBEX0YoCj4+Pj4g QEAgLTE4Myw4ICsxODQsNiBAQCBzdGF0aWMgdm9pZCBkZWNvbl9jb21taXQoc3RydWN0IGV4eW5v c19kcm1fY3J0YyAqY3J0YykKPj4+PiAgICAgICAgICAgICAgIHdyaXRlbCh2YWwsIGN0eC0+YWRk ciArIERFQ09OX1ZJRFRDT04xMSk7Cj4+Pj4gICAgICAgfQo+Pj4+Cj4+Pj4gLSAgICAgZGVjb25f c2V0dXBfdHJpZ2dlcihjdHgpOwo+Pj4+IC0KPj4+PiAgICAgICAvKiBlbmFibGUgb3V0cHV0IGFu ZCBkaXNwbGF5IHNpZ25hbCAqLwo+Pj4+ICAgICAgIGRlY29uX3NldF9iaXRzKGN0eCwgREVDT05f VklEQ09OMCwgVklEQ09OMF9FTlZJRCB8IFZJRENPTjBfRU5WSURfRiwgfjApOwo+Pj4+ICB9Cj4+ Pj4gQEAgLTMwMCw3ICsyOTksNyBAQCBzdGF0aWMgdm9pZCBkZWNvbl91cGRhdGVfcGxhbmUoc3Ry dWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YywKPj4+PiAgICAgICB2YWwgPSBkbWFfYWRkciArIHBp dGNoICogc3RhdGUtPnNyYy5oOwo+Pj4+ICAgICAgIHdyaXRlbCh2YWwsIGN0eC0+YWRkciArIERF Q09OX1ZJRFcweEFERDFCMCh3aW4pKTsKPj4+Pgo+Pj4+IC0gICAgIGlmIChjdHgtPm91dF90eXBl ICE9IElGVFlQRV9IRE1JKQo+Pj4+ICsgICAgIGlmICghKGN0eC0+b3V0X3R5cGUgJiBJRlRZUEVf SERNSSkpCj4+Pj4gICAgICAgICAgICAgICB2YWwgPSBCSVRfVkFMKHBpdGNoIC0gc3RhdGUtPmNy dGMudyAqIGJwcCwgMjcsIDE0KQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICB8IEJJVF9WQUwo c3RhdGUtPmNydGMudyAqIGJwcCwgMTMsIDApOwo+Pj4+ICAgICAgIGVsc2UKPj4+PiBAQCAtMzQ4 LDcgKzM0Nyw3IEBAIHN0YXRpYyB2b2lkIGRlY29uX2F0b21pY19mbHVzaChzdHJ1Y3QgZXh5bm9z X2RybV9jcnRjICpjcnRjKQo+Pj4+ICAgICAgIGZvciAoaSA9IGN0eC0+Zmlyc3Rfd2luOyBpIDwg V0lORE9XU19OUjsgaSsrKQo+Pj4+ICAgICAgICAgICAgICAgZGVjb25fc2hhZG93X3Byb3RlY3Rf d2luKGN0eCwgaSwgZmFsc2UpOwo+Pj4+Cj4+Pj4gLSAgICAgaWYgKGN0eC0+b3V0X3R5cGUgPT0g SUZUWVBFX0k4MCkKPj4+PiArICAgICBpZiAoY3R4LT5vdXRfdHlwZSAmIElGVFlQRV9JODApCj4+ Pj4gICAgICAgICAgICAgICBzZXRfYml0KEJJVF9XSU5fVVBEQVRFRCwgJmN0eC0+ZmxhZ3MpOwo+ Pj4+ICB9Cj4+Pj4KPj4+PiBAQCAtMzc0LDcgKzM3Myw3IEBAIHN0YXRpYyB2b2lkIGRlY29uX3N3 cmVzZXQoc3RydWN0IGRlY29uX2NvbnRleHQgKmN0eCkKPj4+Pgo+Pj4+ICAgICAgIFdBUk4odHJp ZXMgPT0gMCwgImZhaWxlZCB0byBzb2Z0d2FyZSByZXNldCBERUNPTlxuIik7Cj4+Pj4KPj4+PiAt ICAgICBpZiAoY3R4LT5vdXRfdHlwZSAhPSBJRlRZUEVfSERNSSkKPj4+PiArICAgICBpZiAoIShj dHgtPm91dF90eXBlICYgSUZUWVBFX0hETUkpKQo+Pj4+ICAgICAgICAgICAgICAgcmV0dXJuOwo+ Pj4+Cj4+Pj4gICAgICAgd3JpdGVsKFZJRENPTjBfQ0xLVkFMVVAgfCBWSURDT04wX1ZMQ0tGUkVF LCBjdHgtPmFkZHIgKyBERUNPTl9WSURDT04wKTsKPj4+PiBAQCAtMzgzLDcgKzM4Miw5IEBAIHN0 YXRpYyB2b2lkIGRlY29uX3N3cmVzZXQoc3RydWN0IGRlY29uX2NvbnRleHQgKmN0eCkKPj4+PiAg ICAgICB3cml0ZWwoVklEQ09OMV9WQ0xLX1JVTl9WREVOX0RJU0FCTEUsIGN0eC0+YWRkciArIERF Q09OX1ZJRENPTjEpOwo+Pj4+ICAgICAgIHdyaXRlbChDUkNDVFJMX0NSQ0VOIHwgQ1JDQ1RSTF9D UkNTVEFSVF9GIHwgQ1JDQ1RSTF9DUkNDTEtFTiwKPj4+PiAgICAgICAgICAgICAgY3R4LT5hZGRy ICsgREVDT05fQ1JDQ1RSTCk7Cj4+Pj4gLSAgICAgZGVjb25fc2V0dXBfdHJpZ2dlcihjdHgpOwo+ Pj4+ICsKPj4+PiArICAgICBpZiAoY3R4LT5vdXRfdHlwZSAmIElGVFlQRV9JODApCj4+Pj4gKyAg ICAgICAgICAgICBkZWNvbl9zZXR1cF90cmlnZ2VyKGN0eCk7CgpUaGlzIG9uZSBwcmV2ZW50cyBz ZXR1cCB0cmlnZ2VyIGZvciBIRE1JLgoKPj4+PiAgfQo+Pj4+Cj4+Pj4gIHN0YXRpYyB2b2lkIGRl Y29uX2VuYWJsZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQo+Pj4+IEBAIC01MDksNyAr NTEwLDcgQEAgc3RhdGljIGludCBkZWNvbl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0 IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+Pj4+ICAgICAgIH0KPj4+Pgo+Pj4+ICAgICAg IGV4eW5vc19wbGFuZSA9ICZjdHgtPnBsYW5lc1tjdHgtPmZpcnN0X3dpbl07Cj4+Pj4gLSAgICAg b3V0X3R5cGUgPSAoY3R4LT5vdXRfdHlwZSA9PSBJRlRZUEVfSERNSSkgPyBFWFlOT1NfRElTUExB WV9UWVBFX0hETUkKPj4+PiArICAgICBvdXRfdHlwZSA9IChjdHgtPm91dF90eXBlICYgSUZUWVBF X0hETUkpID8gRVhZTk9TX0RJU1BMQVlfVFlQRV9IRE1JCj4+Pj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBFWFlOT1NfRElTUExBWV9UWVBFX0xDRDsK Pj4+PiAgICAgICBjdHgtPmNydGMgPSBleHlub3NfZHJtX2NydGNfY3JlYXRlKGRybV9kZXYsICZl eHlub3NfcGxhbmUtPmJhc2UsCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjdHgtPnBpcGUsIG91dF90eXBlLAo+Pj4+IEBAIC02MTcsMTEgKzYxOCwxMSBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGRldl9wbV9vcHMgZXh5bm9zNTQzM19kZWNvbl9wbV9vcHMgPSB7Cj4+ Pj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGV4eW5vczU0MzNfZGVjb25fZHJp dmVyX2R0X21hdGNoW10gPSB7Cj4+Pj4gICAgICAgewo+Pj4+ICAgICAgICAgICAgICAgLmNvbXBh dGlibGUgPSAic2Ftc3VuZyxleHlub3M1NDMzLWRlY29uIiwKPj4+PiAtICAgICAgICAgICAgIC5k YXRhID0gKHZvaWQgKilJRlRZUEVfUkdCCj4+Pj4gKyAgICAgICAgICAgICAuZGF0YSA9ICh2b2lk ICopSTgwX0hXX1RSRwo+Pj4+ICAgICAgIH0sCj4+Pj4gICAgICAgewo+Pj4+ICAgICAgICAgICAg ICAgLmNvbXBhdGlibGUgPSAic2Ftc3VuZyxleHlub3M1NDMzLWRlY29uLXR2IiwKPj4+PiAtICAg ICAgICAgICAgIC5kYXRhID0gKHZvaWQgKilJRlRZUEVfSERNSQo+Pj4+ICsgICAgICAgICAgICAg LmRhdGEgPSAodm9pZCAqKShJODBfSFdfVFJHIHwgSUZUWVBFX0hETUkpCj4+Pj4gICAgICAgfSwK Pj4+PiAgICAgICB7fSwKPj4+PiAgfTsKPj4+PiBAQCAtNjQ0LDEyICs2NDUsMTIgQEAgc3RhdGlj IGludCBleHlub3M1NDMzX2RlY29uX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cj4+Pj4gICAgICAgY3R4LT5kZXYgPSBkZXY7Cj4+Pj4KPj4+PiAgICAgICBvZl9pZCA9IG9mX21h dGNoX2RldmljZShleHlub3M1NDMzX2RlY29uX2RyaXZlcl9kdF9tYXRjaCwgJnBkZXYtPmRldik7 Cj4+Pj4gLSAgICAgY3R4LT5vdXRfdHlwZSA9IChlbnVtIGRlY29uX2lmdHlwZSlvZl9pZC0+ZGF0 YTsKPj4+PiArICAgICBjdHgtPm91dF90eXBlID0gKHVuc2lnbmVkIGludClvZl9pZC0+ZGF0YTsK QW5kIGhlcmUgZ2NjIGNvbXBsYWlucyBhYm91dCBjb252ZXJzaW9uIHRvIHNob3J0ZXIgdHlwZS4K ICAgIGN0eC0+b3V0X3R5cGUgPSAodW5zaWduZWQgbG9uZylvZl9pZC0+ZGF0YTsKd2lsbCBzaWxl bmNlIGl0LgoKUmVnYXJkcwpBbmRyemVqCgo+Pj4+Cj4+Pj4gLSAgICAgaWYgKGN0eC0+b3V0X3R5 cGUgPT0gSUZUWVBFX0hETUkpCj4+Pj4gKyAgICAgaWYgKGN0eC0+b3V0X3R5cGUgJiBJRlRZUEVf SERNSSkKPj4+PiAgICAgICAgICAgICAgIGN0eC0+Zmlyc3Rfd2luID0gMTsKPj4+PiAgICAgICBl bHNlIGlmIChvZl9nZXRfY2hpbGRfYnlfbmFtZShkZXYtPm9mX25vZGUsICJpODAtaWYtdGltaW5n cyIpKQo+Pj4+IC0gICAgICAgICAgICAgY3R4LT5vdXRfdHlwZSA9IElGVFlQRV9JODA7Cj4+Pj4g KyAgICAgICAgICAgICBjdHgtPm91dF90eXBlIHw9IElGVFlQRV9JODA7Cj4+Pj4KPj4+PiAgICAg ICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShkZWNvbl9jbGtzX25hbWUpOyBpKyspIHsKPj4+ PiAgICAgICAgICAgICAgIHN0cnVjdCBjbGsgKmNsazsKPj4+PiBAQCAtNjc0LDcgKzY3NSw3IEBA IHN0YXRpYyBpbnQgZXh5bm9zNTQzM19kZWNvbl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQo+Pj4+ICAgICAgIH0KPj4+Pgo+Pj4+ICAgICAgIHJlcyA9IHBsYXRmb3JtX2dldF9y ZXNvdXJjZV9ieW5hbWUocGRldiwgSU9SRVNPVVJDRV9JUlEsCj4+Pj4gLSAgICAgICAgICAgICAg ICAgICAgIChjdHgtPm91dF90eXBlID09IElGVFlQRV9JODApID8gImxjZF9zeXMiIDogInZzeW5j Iik7Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgIChjdHgtPm91dF90eXBlICYgSUZUWVBFX0k4 MCkgPyAibGNkX3N5cyIgOiAidnN5bmMiKTsKPj4+PiAgICAgICBpZiAoIXJlcykgewo+Pj4+ICAg ICAgICAgICAgICAgZGV2X2VycihkZXYsICJjYW5ub3QgZmluZCBJUlEgcmVzb3VyY2VcbiIpOwo+ Pj4+ICAgICAgICAgICAgICAgcmV0dXJuIC1FTlhJTzsKPj4+Pgo+Pj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+IGRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKPj4+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+IGh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCj4+IC0tCj4+IFRvIHVu c3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51 eC1zYW1zdW5nLXNvYyIgaW4KPj4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2 Z2VyLmtlcm5lbC5vcmcKPj4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2Vy bmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCj4+Cj4+CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK