From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH 2/3] drm/bridge: adv7533: Initialize regulators Date: Wed, 31 Aug 2016 22:24:30 +0530 Message-ID: <57C70BC6.7060109@codeaurora.org> References: <1472640730-24326-1-git-send-email-architt@codeaurora.org> <1472640730-24326-3-git-send-email-architt@codeaurora.org> <1689605.qvp3fYPaPG@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1689605.qvp3fYPaPG@avalon> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: andy.gross@linaro.org, dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org SGkgTGF1cmVudCwKCk9uIDgvMzEvMjAxNiA5OjIzIFBNLCBMYXVyZW50IFBpbmNoYXJ0IHdyb3Rl Ogo+IEhpIEFyY2hpdCwKPgo+IFRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgo+Cj4gT24gV2VkbmVz ZGF5IDMxIEF1ZyAyMDE2IDE2OjIyOjA5IEFyY2hpdCBUYW5lamEgd3JvdGU6Cj4+IEFEVjc1MzMg cmVxdWlyZXMgc3VwcGx5IHRvIHRoZSBBVkRELCBWMVAyIGFuZCBWM1AzIHBpbnMgZm9yIHByb3Bl cgo+PiBmdW5jdGlvbmFsaXR5Lgo+Pgo+PiBJbml0aWFsaXplIGFuZCBlbmFibGUgdGhlIHJlZ3Vs YXRvcnMgZHVyaW5nIHByb2JlIGl0c2VsZi4gQ29udHJvbGxpbmcKPj4gdGhlc2UgZHluYW1pY2Fs bHkgaXMgbGVmdCBmb3IgbGF0ZXIuCj4KPiBZb3Ugc2hvdWxkIGRvY3VtZW50IHRoZSBwb3dlciBz dXBwbGllcyBpbiB0aGUgRFQgYmluZGluZ3MuCgpUaGUgRFQgYmluZGluZ3MgZG9jIHVwZGF0ZSB3 YXMgYSBwYXJ0IG9mIHRoZSBzYW1lIHNlcmllcy4gSSBhY2NpZGVudGFsbHkKQ2MnZCB5b3Ugb25s eSBmb3IgdGhpcyBwYXRjaC4KCj4KPj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPj4gQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJk LmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3Jh Lm9yZz4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTEu aCAgICAgfCAxNiArKysrKysrKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTEx L2Fkdjc1MTFfZHJ2LmMgfCAzNCArKysrKysrKysrKysrKystLS0tLS0KPj4gICBkcml2ZXJzL2dw dS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUzMy5jICAgICB8IDQ1ICsrKysrKysrKysrKysrKysr KysrKysrKysKPj4gICAzIGZpbGVzIGNoYW5nZWQsIDg2IGluc2VydGlvbnMoKyksIDkgZGVsZXRp b25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEv YWR2NzUxMS5oCj4+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTEuaCBp bmRleCAxNjFjOTIzLi4zZmNiMjAyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL2Fkdjc1MTEvYWR2NzUxMS5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2 NzUxMS9hZHY3NTExLmgKPj4gQEAgLTEyLDYgKzEyLDcgQEAKPj4gICAjaW5jbHVkZSA8bGludXgv aGRtaS5oPgo+PiAgICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KPj4gICAjaW5jbHVkZSA8bGludXgv cmVnbWFwLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvcmVndWxhdG9yL2NvbnN1bWVyLmg+Cj4+Cj4+ ICAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KPj4gICAjaW5jbHVkZSA8ZHJtL2Ry bV9taXBpX2RzaS5oPgo+PiBAQCAtMzI3LDYgKzMyOCwxMCBAQCBzdHJ1Y3QgYWR2NzUxMSB7Cj4+ Cj4+ICAgCXN0cnVjdCBncGlvX2Rlc2MgKmdwaW9fcGQ7Cj4+Cj4+ICsJc3RydWN0IHJlZ3VsYXRv ciAqYXZkZDsKPj4gKwlzdHJ1Y3QgcmVndWxhdG9yICp2MXAyOwo+PiArCXN0cnVjdCByZWd1bGF0 b3IgKnYzcDM7Cj4+ICsKPj4gICAJLyogQURWNzUzMyBEU0kgUlggcmVsYXRlZCBwYXJhbXMgKi8K Pj4gICAJc3RydWN0IGRldmljZV9ub2RlICpob3N0X25vZGU7Cj4+ICAgCXN0cnVjdCBtaXBpX2Rz aV9kZXZpY2UgKmRzaTsKPj4gQEAgLTM0Myw2ICszNDgsOCBAQCB2b2lkIGFkdjc1MzNfbW9kZV9z ZXQoc3RydWN0IGFkdjc1MTEgKmFkdiwgc3RydWN0Cj4+IGRybV9kaXNwbGF5X21vZGUgKm1vZGUp OyBpbnQgYWR2NzUzM19wYXRjaF9yZWdpc3RlcnMoc3RydWN0IGFkdjc1MTEgKmFkdik7Cj4+ICAg dm9pZCBhZHY3NTMzX3VuaW5pdF9jZWMoc3RydWN0IGFkdjc1MTEgKmFkdik7Cj4+ICAgaW50IGFk djc1MzNfaW5pdF9jZWMoc3RydWN0IGFkdjc1MTEgKmFkdik7Cj4+ICtpbnQgYWR2NzUzM19pbml0 X3JlZ3VsYXRvcnMoc3RydWN0IGFkdjc1MTEgKmFkdik7Cj4+ICt2b2lkIGFkdjc1MzNfdW5pbml0 X3JlZ3VsYXRvcnMoc3RydWN0IGFkdjc1MTEgKmFkdik7Cj4+ICAgaW50IGFkdjc1MzNfYXR0YWNo X2RzaShzdHJ1Y3QgYWR2NzUxMSAqYWR2KTsKPj4gICB2b2lkIGFkdjc1MzNfZGV0YWNoX2RzaShz dHJ1Y3QgYWR2NzUxMSAqYWR2KTsKPj4gICBpbnQgYWR2NzUzM19wYXJzZV9kdChzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wLCBzdHJ1Y3QgYWR2NzUxMSAqYWR2KTsKPj4gQEAgLTM3NCw2ICszODEsMTUg QEAgc3RhdGljIGlubGluZSBpbnQgYWR2NzUzM19pbml0X2NlYyhzdHJ1Y3QgYWR2NzUxMSAqYWR2 KQo+PiByZXR1cm4gLUVOT0RFVjsKPj4gICB9Cj4+Cj4+ICtzdGF0aWMgaW5saW5lIGludCBhZHY3 NTMzX2luaXRfcmVndWxhdG9ycyhzdHJ1Y3QgYWR2NzUxMSAqYWR2KQo+PiArewo+PiArCXJldHVy biAtRU5PREVWOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgYWR2NzUzM191bmlu aXRfcmVndWxhdG9ycyhzdHJ1Y3QgYWR2NzUxMSAqYWR2KQo+PiArewo+PiArfQo+PiArCj4+ICAg c3RhdGljIGlubGluZSBpbnQgYWR2NzUzM19hdHRhY2hfZHNpKHN0cnVjdCBhZHY3NTExICphZHYp Cj4+ICAgewo+PiAgIAlyZXR1cm4gLUVOT0RFVjsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMgaW5kZXggZWM4ZmIyZS4uMjIxYmM3NQo+PiAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMK Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMKPj4g QEAgLTk0MSw2ICs5NDEsNyBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcHJvYmUoc3RydWN0IGkyY19j bGllbnQgKmkyYywgY29uc3QKPj4gc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKSBpZiAoIWFkdjc1 MTEpCj4+ICAgCQlyZXR1cm4gLUVOT01FTTsKPj4KPj4gKwlhZHY3NTExLT5pMmNfbWFpbiA9IGky YzsKPj4gICAJYWR2NzUxMS0+cG93ZXJlZCA9IGZhbHNlOwo+PiAgIAlhZHY3NTExLT5zdGF0dXMg PSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPj4KPj4gQEAgLTk1OCwxMyArOTU5LDIx IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjLCBjb25z dAo+PiBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpIGlmIChyZXQpCj4+ICAgCQlyZXR1cm4gcmV0 Owo+Pgo+PiArCWlmIChhZHY3NTExLT50eXBlID09IEFEVjc1MzMpIHsKPj4gKwkJcmV0ID0gYWR2 NzUzM19pbml0X3JlZ3VsYXRvcnMoYWR2NzUxMSk7Cj4+ICsJCWlmIChyZXQpCj4+ICsJCQlyZXR1 cm4gcmV0Owo+PiArCX0KPj4gKwo+PiAgIAkvKgo+PiAgIAkgKiBUaGUgcG93ZXIgZG93biBHUElP IGlzIG9wdGlvbmFsLiBJZiBwcmVzZW50LCB0b2dnbGUgaXQgZnJvbSBhY3RpdmUKPiB0bwo+PiAg IAkgKiBpbmFjdGl2ZSB0byB3YWtlIHVwIHRoZSBlbmNvZGVyLgo+PiAgIAkgKi8KPj4gICAJYWR2 NzUxMS0+Z3Bpb19wZCA9IGRldm1fZ3Bpb2RfZ2V0X29wdGlvbmFsKGRldiwgInBkIiwgR1BJT0Rf T1VUX0hJR0gpOwo+PiAtCWlmIChJU19FUlIoYWR2NzUxMS0+Z3Bpb19wZCkpCj4+IC0JCXJldHVy biBQVFJfRVJSKGFkdjc1MTEtPmdwaW9fcGQpOwo+PiArCWlmIChJU19FUlIoYWR2NzUxMS0+Z3Bp b19wZCkpIHsKPj4gKwkJcmV0ID0gUFRSX0VSUihhZHY3NTExLT5ncGlvX3BkKTsKPj4gKwkJZ290 byB1bmluaXRfcmVndWxhdG9yczsKPj4gKwl9Cj4+Cj4+ICAgCWlmIChhZHY3NTExLT5ncGlvX3Bk KSB7Cj4+ICAgCQltZGVsYXkoNSk7Cj4+IEBAIC05NzIsMTIgKzk4MSwxNCBAQCBzdGF0aWMgaW50 IGFkdjc1MTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywgY29uc3QKPj4gc3RydWN0IGky Y19kZXZpY2VfaWQgKmlkKSB9Cj4+Cj4+ICAgCWFkdjc1MTEtPnJlZ21hcCA9IGRldm1fcmVnbWFw X2luaXRfaTJjKGkyYywgJmFkdjc1MTFfcmVnbWFwX2NvbmZpZyk7Cj4+IC0JaWYgKElTX0VSUihh ZHY3NTExLT5yZWdtYXApKQo+PiAtCQlyZXR1cm4gUFRSX0VSUihhZHY3NTExLT5yZWdtYXApOwo+ PiArCWlmIChJU19FUlIoYWR2NzUxMS0+cmVnbWFwKSkgewo+PiArCQlyZXQgPSBQVFJfRVJSKGFk djc1MTEtPnJlZ21hcCk7Cj4+ICsJCWdvdG8gdW5pbml0X3JlZ3VsYXRvcnM7Cj4+ICsJfQo+Pgo+ PiAgIAlyZXQgPSByZWdtYXBfcmVhZChhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0NISVBf UkVWSVNJT04sICZ2YWwpOwo+PiAgIAlpZiAocmV0KQo+PiAtCQlyZXR1cm4gcmV0Owo+PiArCQln b3RvIHVuaW5pdF9yZWd1bGF0b3JzOwo+PiAgIAlkZXZfZGJnKGRldiwgIlJldi4gJWRcbiIsIHZh bCk7Cj4+Cj4+ICAgCWlmIChhZHY3NTExLT50eXBlID09IEFEVjc1MTEpCj4+IEBAIC05ODcsNyAr OTk4LDcgQEAgc3RhdGljIGludCBhZHY3NTExX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMs IGNvbnN0Cj4+IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkgZWxzZQo+PiAgIAkJcmV0ID0gYWR2 NzUzM19wYXRjaF9yZWdpc3RlcnMoYWR2NzUxMSk7Cj4+ICAgCWlmIChyZXQpCj4+IC0JCXJldHVy biByZXQ7Cj4+ICsJCWdvdG8gdW5pbml0X3JlZ3VsYXRvcnM7Cj4+Cj4+ICAgCXJlZ21hcF93cml0 ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0VESURfSTJDX0FERFIsCj4gZWRpZF9pMmNf YWRkcik7Cj4+ICAgCXJlZ21hcF93cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX1BB Q0tFVF9JMkNfQUREUiwKPj4gQEAgLTk5NSwxMCArMTAwNiwxMSBAQCBzdGF0aWMgaW50IGFkdjc1 MTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywKPj4gY29uc3Qgc3RydWN0IGkyY19kZXZp Y2VfaWQgKmlkKSByZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLAo+PiBBRFY3NTExX1JFR19D RUNfSTJDX0FERFIsIGNlY19pMmNfYWRkcik7IGFkdjc1MTFfcGFja2V0X2Rpc2FibGUoYWR2NzUx MSwKPj4gMHhmZmZmKTsKPj4KPj4gLQlhZHY3NTExLT5pMmNfbWFpbiA9IGkyYzsKPj4gICAJYWR2 NzUxMS0+aTJjX2VkaWQgPSBpMmNfbmV3X2R1bW15KGkyYy0+YWRhcHRlciwgZWRpZF9pMmNfYWRk ciA+PiAxKTsKPj4gLQlpZiAoIWFkdjc1MTEtPmkyY19lZGlkKQo+PiAtCQlyZXR1cm4gLUVOT01F TTsKPj4gKwlpZiAoIWFkdjc1MTEtPmkyY19lZGlkKSB7Cj4+ICsJCXJldCA9IC1FTk9NRU07Cj4+ ICsJCWdvdG8gdW5pbml0X3JlZ3VsYXRvcnM7Cj4+ICsJfQo+Pgo+PiAgIAlpZiAoYWR2NzUxMS0+ dHlwZSA9PSBBRFY3NTMzKSB7Cj4+ICAgCQlyZXQgPSBhZHY3NTMzX2luaXRfY2VjKGFkdjc1MTEp Owo+PiBAQCAtMTA0Myw2ICsxMDU1LDkgQEAgZXJyX3VucmVnaXN0ZXJfY2VjOgo+PiAgIAlhZHY3 NTMzX3VuaW5pdF9jZWMoYWR2NzUxMSk7Cj4+ICAgZXJyX2kyY191bnJlZ2lzdGVyX2VkaWQ6Cj4+ ICAgCWkyY191bnJlZ2lzdGVyX2RldmljZShhZHY3NTExLT5pMmNfZWRpZCk7Cj4+ICt1bmluaXRf cmVndWxhdG9yczoKPj4gKwlpZiAoYWR2NzUxMS0+dHlwZSA9PSBBRFY3NTMzKQo+PiArCQlhZHY3 NTMzX3VuaW5pdF9yZWd1bGF0b3JzKGFkdjc1MTEpOwo+Pgo+PiAgIAlyZXR1cm4gcmV0Owo+PiAg IH0KPj4gQEAgLTEwNTQsNiArMTA2OSw3IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmkyYykKPj4gICAJaWYgKGFkdjc1MTEtPnR5cGUgPT0gQURWNzUzMykg ewo+PiAgIAkJYWR2NzUzM19kZXRhY2hfZHNpKGFkdjc1MTEpOwo+PiAgIAkJYWR2NzUzM191bmlu aXRfY2VjKGFkdjc1MTEpOwo+PiArCQlhZHY3NTMzX3VuaW5pdF9yZWd1bGF0b3JzKGFkdjc1MTEp Owo+PiAgIAl9Cj4+Cj4+ICAgCWRybV9icmlkZ2VfcmVtb3ZlKCZhZHY3NTExLT5icmlkZ2UpOwo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MzMuYwo+ PiBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTMzLmMgaW5kZXggNWVlYmQx NS4uMDNhNTlmZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTEx L2Fkdjc1MzMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUz My5jCj4+IEBAIC0xNzgsNiArMTc4LDUxIEBAIGVycjoKPj4gICAJcmV0dXJuIHJldDsKPj4gICB9 Cj4+Cj4+ICtpbnQgYWR2NzUzM19pbml0X3JlZ3VsYXRvcnMoc3RydWN0IGFkdjc1MTEgKmFkdikK Pj4gK3sKPj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmYWR2LT5pMmNfbWFpbi0+ZGV2Owo+PiAr CWludCByZXQ7Cj4+ICsKPj4gKwlhZHYtPmF2ZGQgPSBkZXZtX3JlZ3VsYXRvcl9nZXQoZGV2LCAi YXZkZCIpOwo+PiArCWlmIChJU19FUlIoYWR2LT5hdmRkKSkKPj4gKwkJcmV0dXJuIFBUUl9FUlIo YWR2LT5hdmRkKTsKPgo+IERvZXNuJ3QgdGhpcyBjYXVzZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5 IGlzc3VlcyB3aXRoIGV4aXN0aW5nIGRldmljZSB0cmVlcwo+IHRoYXQgZG9uJ3QgZGVjbGFyZSBy ZWd1bGF0b3JzID8KCldlbGwsIHRoZXJlIGlzbid0IGFueSBEVCB1cHN0cmVhbSB0aGF0IGRvZXNu J3QgZGVjbGFyZSB0aGVzZSByZWd1bGF0b3JzLgpUaGUgZmlyc3QgRFQgZmlsZSB1c2luZyBBRFY3 NTMzIHdvdWxkIGJlIG1lcmdlZCBpbiA0LjksIGFuZCBzYW1lIGZvcgp0aGlzIHBhdGNoLgoKQWxz bywgaWYgYSBEVCBmaWxlIGRvZXNuJ3QgZGVjbGFyZSBhIHJlZ3VsYXRvciBoZXJlIChtYXliZSBi ZWNhdXNlIHRoZQpib2FyZCBoYXMgYSBjb25zdGFudCBzdXBwbHkgdG8gdGhpcyBwaW4gc2luY2Ug aXQncyBwb3dlcmVkIHVwKSwgYSBkdW1teQpyZWd1bGF0b3Igd291bGQgYmUgdXNlZCBoZXJlLgoK Pgo+PiArCWFkdi0+djFwMiA9IGRldm1fcmVndWxhdG9yX2dldChkZXYsICJ2MXAyIik7Cj4+ICsJ aWYgKElTX0VSUihhZHYtPnYxcDIpKQo+PiArCQlyZXR1cm4gUFRSX0VSUihhZHYtPnYxcDIpOwo+ PiArCj4+ICsJYWR2LT52M3AzID0gZGV2bV9yZWd1bGF0b3JfZ2V0KGRldiwgInYzcDMiKTsKPj4g KwlpZiAoSVNfRVJSKGFkdi0+djNwMykpCj4+ICsJCXJldHVybiBQVFJfRVJSKGFkdi0+djNwMyk7 Cj4+ICsKPj4gKwlyZXQgPSByZWd1bGF0b3JfZW5hYmxlKGFkdi0+YXZkZCk7Cj4+ICsJaWYgKHJl dCkKPj4gKwkJcmV0dXJuIHJldDsKPj4gKwo+PiArCXJldCA9IHJlZ3VsYXRvcl9lbmFibGUoYWR2 LT52MXAyKTsKPj4gKwlpZiAocmV0KQo+PiArCQlnb3RvIGVycl92MXAyOwo+PiArCj4+ICsJcmV0 ID0gcmVndWxhdG9yX2VuYWJsZShhZHYtPnYzcDMpOwo+PiArCWlmIChyZXQpCj4+ICsJCWdvdG8g ZXJyX3YzcDM7Cj4KPiBIb3cgYWJvdXQgdXNpbmcgdGhlIGRldm1fcmVndWxhdG9yX2J1bGtfKigp IEFQSSA/CgpZZXMsIHRoYXQgbWFrZXMgbW9yZSBzZW5zZSwgc2hvdWxkIG1ha2UgdGhlIGVycm9y IGhhbmRsaW5nCnNpbXBsZXIgdG9vLgoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LApBcmNoaXQKCj4K Pj4gKwlyZXR1cm4gMDsKPj4gK2Vycl92M3AzOgo+PiArCXJlZ3VsYXRvcl9kaXNhYmxlKGFkdi0+ djFwMik7Cj4+ICtlcnJfdjFwMjoKPj4gKwlyZWd1bGF0b3JfZGlzYWJsZShhZHYtPmF2ZGQpOwo+ PiArCj4+ICsJcmV0dXJuIHJldDsKPj4gK30KPj4gKwo+PiArdm9pZCBhZHY3NTMzX3VuaW5pdF9y ZWd1bGF0b3JzKHN0cnVjdCBhZHY3NTExICphZHYpCj4+ICt7Cj4+ICsJcmVndWxhdG9yX2Rpc2Fi bGUoYWR2LT52M3AzKTsKPj4gKwlyZWd1bGF0b3JfZGlzYWJsZShhZHYtPnYxcDIpOwo+PiArCXJl Z3VsYXRvcl9kaXNhYmxlKGFkdi0+YXZkZCk7Cj4+ICt9Cj4+ICsKPj4gICBpbnQgYWR2NzUzM19h dHRhY2hfZHNpKHN0cnVjdCBhZHY3NTExICphZHYpCj4+ICAgewo+PiAgIAlzdHJ1Y3QgZGV2aWNl ICpkZXYgPSAmYWR2LT5pMmNfbWFpbi0+ZGV2Owo+CgotLSAKUXVhbGNvbW0gSW5ub3ZhdGlvbiBD ZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgQ29kZSBBdXJvcmEgRm9ydW0sCmEgTGludXggRm91 bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==