From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH] drm: i2c: adv7511: Convert to drm_bridge Date: Mon, 11 Jan 2016 11:19:07 +0530 Message-ID: <56934253.3070306@codeaurora.org> References: <1452358225-5919-1-git-send-email-architt@codeaurora.org> <5285092.CG1flWs31E@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5285092.CG1flWs31E@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: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org CgpPbiAwMS8xMS8yMDE2IDA3OjM4IEFNLCBMYXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+IEhpIEFy Y2hpdCwKPgo+IFRoYW5rcyBhIGxvdCBmb3IgdGhlIHBhdGNoLgo+Cj4gT24gU2F0dXJkYXkgMDkg SmFudWFyeSAyMDE2IDIyOjIwOjI1IEFyY2hpdCBUYW5lamEgd3JvdGU6Cj4+IFdlIGRvbid0IHdh bnQgdG8gdXNlIHRoZSBvbGQgaTJjIHNsYXZlIGVuY29kZXIgaW50ZXJmYWNlIGFueW1vcmUuCj4K PiBJIGhhcHBpbHkgYWdyZWUgd2l0aCB0aGF0IDotKQo+Cj4+IFJlbW92ZSB0aGF0IGFuZCBtYWtl IHRoZSBpMmMgZHJpdmVyIGNyZWF0ZSBhIGRybV9icmlkZ2UgZW50aXR5IGluc3RlYWQuCj4+IENv bnZlcnRpbmcgdG8gYnJpZGdlcyBoZWxwcyBiZWNhdXNlIHRoZSBrbXMgZHJpdmVycyBkb24ndCBu ZWVkIHRvCj4+IGV4cmFjdCBlbmNvZGVyIHNsYXZlIG9wcyBmcm9tIHRoaXMgZHJpdmVyIGFuZCB1 c2UgaXQgd2l0aGluIHRoZWlyCj4+IG93biBlbmNvZGVyL2Nvbm5lY3RvciBvcHMuCj4+Cj4+IFRo ZSBkcml2ZXIgbm93IGNyZWF0ZXMgaXRzIG93biBjb25uZWN0b3Igd2hlbiBhIGttcyBkcml2ZXIg YXR0YWNoZXMKPj4gaXRzZWxmIHRvIHRoZSBicmlkZ2UuIFRoZXJlZm9yZSwga21zIGRyaXZlcnMg ZG9uJ3QgbmVlZCB0byBjcmVhdGUKPj4gdGhlaXIgb3duIGNvbm5lY3RvcnMgYW55bW9yZS4KPgo+ IFRoYXQsIGhvd2V2ZXIsIEkgZG9uJ3QgYWdyZWUgd2l0aC4gVGhlcmUncyBub3RoaW5nIHRoYXQg Z3VhcmFudGVlcyB0aGF0IHRoZQo+IG91dHB1dCBvZiBhIGJyaWRnZSBpcyBhIGNvbm5lY3Rvci4g VGhlIGJyaWRnZSBvdXRwdXQgY291bGQgYmUgY29ubmVjdGVkIHRvIHRoZQo+IGlucHV0IG9mIGFu b3RoZXIgYnJpZGdlLiBRdW90aW5nIGRybV9icmlkZ2UuYywKPgo+ICAgKiBBIGJyaWRnZSBpcyBh bHdheXMgYXR0YWNoZWQgdG8gYSBzaW5nbGUgJmRybV9lbmNvZGVyIGF0IGEgdGltZSwgYnV0IGNh biBiZQo+ICAgKiBlaXRoZXIgY29ubmVjdGVkIHRvIGl0IGRpcmVjdGx5LCBvciB0aHJvdWdoIGFu IGludGVybWVkaWF0ZSBicmlkZ2U6Cj4gICAqCj4gICAqICAgICBlbmNvZGVyIC0tLT4gYnJpZGdl IEIgLS0tPiBicmlkZ2UgQQo+Cj4gQ3JlYXRpbmcgdGhlIGNvbm5lY3RvciBzaG91bGQgYmUgZG9u ZSBieSB0aGUgRFJNIGRyaXZlciwgYXMgdGhhdCdzIHRoZSBvbmx5Cj4gZHJpdmVyIHRoYXQgc2hv dWxkIGhhdmUga25vd2xlZGdlIG9mIHRoZSBmdWxsIGhhcmR3YXJlIHRvcG9sb2d5LgoKSSBtb3N0 bHkgYWdyZWUgd2l0aCB5b3VyIHBvaW50LiBJIHRoaW5rIHRoaXMgd2FzIGRpc2N1c3NlZCBpbiB0 aGUKcHJldmlvdXMgYWR2NzUxMSB0aHJlYWQgdG9vLCBidXQgd2UgZGlkbid0IGNvbWUgdXAgd2l0 aCBhIHdheSB0byBkbyBpdAp3aXRob3V0IHVzaW5nIGVuY29kZXIgY2hhaW5zIHRoYXQgQm9yaXMg aGFkIHByb3Bvc2VkLgoKSW4gdGhlIGNhc2Ugb2YgYWR2NzUxMSwgSSBkb24ndCB0aGluayB0aGVy ZSdsbCBiZSBhIGJvYXJkIHRoYXQgd291bGQgCmV2ZXIgdXNlIGFkdjc1MTEgYXMgYW4gaW50ZXJt ZWRpYXRlIGVuY29kZXIgY2hpcC4gSWYgdGhleSBkbywgaXQgd291bGQKYmUgcXVpdGUgcG9pbnRs ZXNzLiBJbiBmYWN0LCBpZiB5b3Ugc2VlIGFueSBicmlkZ2UgZHJpdmVyIGluIHRoZSBrZXJuZWwK YXQgdGhlIG1vbWVudCwgdGhleSBhbGwgY3JlYXRlIHRoZWlyIG93biBjb25uZWN0b3JzLgoKQWJv dXQgdGhlIGNvbW1lbnQgeW91IHF1b3RlZCBmcm9tIGRybV9icmlkZ2UuYywgdGhpcyBtZXRob2Qg b2YgZGFpc3kKY2hhaW5pbmcgYnJpZGdlcyB3YXMgcHJpbWFyaWx5IGFkZGVkIGJlY2F1c2Ugc29t ZSBrbXMgZHJpdmVycyB0ZW5kIHRvCnVzZSB1cCBhIGJyaWRnZSB0byByZXByZXNlbnQgYSBwaWVj ZSBvZiB0aGUgZW5jb2RlciBIVyB3aXRoaW4gdGhlIFNvQwppdHNlbGYuIEluIG90aGVyIHdvcmRz LCJicmlkZ2UgQiIgaW4gdGhlIGRpYWdyYW0gYWJvdmUgaGFzbid0IGJlZW4KcmVhbGx5IHVzZWQg Zm9yIGFuIGV4dGVybmFsIGVuY29kZXIgY2hpcCB1bnRpbCBub3cuCgpJIGRvIGFncmVlIHRoYXQg aXQgd291bGQgYmUgYmV0dGVyIGlmIHRoZSBrbXMgZHJpdmVyIGNvdWxkIGNyZWF0ZSB0aGUKY29u bmVjdG9yLCBhbmQgc29tZWhvdyByZXRyaWV2ZSBvcHMgZnJvbSB0aGUgYWR2NzUxMSBkcml2ZXIs IGJ1dCBJCmNhbid0IHRoaW5rIG9mIGEgZ29vZCB3YXkgdG8gZG8gdGhhdC4KCkF0IHRoZSBtb21l bnQsIEkgZG9uJ3QgdGhpbmsgaXQgaXMgYSBiaWcgaXNzdWUuIFdlIG1pZ2h0IHdhbnQgdG8gcmV2 aXNpdAppdCB3aGVuIHdlIHJlYWxseSBoYXZlIGVuY29kZXIgY2hpcHMgdGhhdCBjYW4gc2l0IHNv bWV3aGVyZSBpbiB0aGUKbWlkZGxlIG9mIGFuIGVuY29kZXIgY2hhaW4uCgo+Cj4gQXBhcnQgZnJv bSB0aGF0IHRoZSBwYXRjaCBsb29rcyBnb29kIHRvIG1lLCBwbGVhc2Ugc2VlIGJlbG93IGZvciBh IGNvdXBsZSBvZgo+IGNvbW1lbnRzLgo+Cj4gQXMgY3JlYXRpbmcgdGhlIGNvbm5lY3RvciBvdXRz aWRlIG9mIHRoZSBicmlkZ2UgZHJpdmVyIHdpbGwgc2lnbmlmaWNhbnRseQo+IGltcGFjdCAiW1JG Q10gZHJtOiByY2FyLWR1OiBSZW1vdmUgaTJjIHNsYXZlIGVuY29kZXIgaW50ZXJmYWNlIGZvciBo ZG1pCj4gZW5jb2RlciIgSSdsbCBwb3N0cG9uZSByZXZpZXdpbmcgdGhhdCBwYXRjaCB1bnRpbCB3 ZSByZWFjaCBhbiBhZ3JlZW1lbnQgb24KPiB0aGlzIG9uZSBpZiB0aGF0J3MgZmluZSB3aXRoIHlv dS4gUGxlYXNlIGxldCBtZSBrbm93IGlmIHRoZXJlIGFyZSBpdGVtcyBpbiB0aGUKPiByY2FyLWR1 IHBhdGNoIHRoYXQgeW91IHdvdWxkIGxpa2UgbWUgdG8gYWxyZWFkeSBsb29rIGF0LgoKU3VyZS4g T25lIHRoaW5nIEkgbm90aWNlZCBpbiB0aGUgcmNhci1kdSBkcml2ZXIgd2hlbiBpdCBjcmVhdGVz IHRoZQpoZG1pIG91dHB1dCBjaGFpbiBpcyB0aGF0IGl0IGxvb2tzIGZvciB0aGUgaGRtaSBjb25u ZWN0b3Igbm9kZSBpbiBEVCwKYW5kIGJhaWxzIG91dCBpZiBpdCBkb2Vzbid0IGZpbmQgb25lLCBi dXQgaXQgZG9lc24ndCBkbyBhbnl0aGluZyB3aXRoIGl0CmFwYXJ0IGZyb20gdGhhdC4gQW55IHJl YXNvbiB3aHkgd2UgY3JlYXRlZCBhIGhkbWkgY29ubmVjdG9yIGRldmljZSB2aWEKRFQgYW5kIG5v dCB1c2UgaXQ/Cgo+Cj4+IFRoZSBvbGQgZW5jb2RlciBzbGF2ZSBvcHMgYXJlIG5vdyB1c2VkIGJ5 IHRoZSBuZXcgYnJpZGdlIGFuZCBjb25uZWN0b3IKPj4gZW50aXRpZXMuCj4+Cj4+IFNpZ25lZC1v ZmYtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Cj4+IC0tLQo+PiAg IGRyaXZlcnMvZ3B1L2RybS9pMmMvYWR2NzUxMS5jIHwgMjM0ICsrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCAxNjAgaW5zZXJ0aW9ucygr KSwgNzQgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTJj L2Fkdjc1MTEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvYWR2NzUxMS5jCj4+IGluZGV4IDAwNDE2 ZjIuLjNmZGExMGYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvYWR2NzUxMS5j Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvYWR2NzUxMS5jCj4+IEBAIC0xNiw3ICsxNiw4 IEBACj4+ICAgI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fY3J0 Y19oZWxwZXIuaD4KPj4gICAjaW5jbHVkZSA8ZHJtL2RybV9lZGlkLmg+Cj4+IC0jaW5jbHVkZSA8 ZHJtL2RybV9lbmNvZGVyX3NsYXZlLmg+Cj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWMuaD4K Pj4gKyNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPgo+IEFscGhhYmV0aWNhbCBv cmRlciBwbGVhc2UgOi0pCgpTdXJlLCBJJ2xsIGZpeCB0aGlzLgoKPgo+Pgo+PiAgICNpbmNsdWRl ICJhZHY3NTExLmgiCj4+Cj4+IEBAIC0zNiw3ICszNyw4IEBAIHN0cnVjdCBhZHY3NTExIHsKPj4g ICAJYm9vbCBlZGlkX3JlYWQ7Cj4+Cj4+ICAgCXdhaXRfcXVldWVfaGVhZF90IHdxOwo+PiAtCXN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKPj4gKwlzdHJ1Y3QgZHJtX2JyaWRnZSBicmlkZ2U7 Cj4+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgY29ubmVjdG9yOwo+Pgo+PiAgIAlib29sIGVtYmVk ZGVkX3N5bmM7Cj4+ICAgCWVudW0gYWR2NzUxMV9zeW5jX3BvbGFyaXR5IHZzeW5jX3BvbGFyaXR5 Owo+PiBAQCAtNDgsMTEgKzUwLDYgQEAgc3RydWN0IGFkdjc1MTEgewo+PiAgIAlzdHJ1Y3QgZ3Bp b19kZXNjICpncGlvX3BkOwo+PiAgIH07Cj4+Cj4+IC1zdGF0aWMgc3RydWN0IGFkdjc1MTEgKmVu Y29kZXJfdG9fYWR2NzUxMShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4+IC17Cj4+IC0J cmV0dXJuIHRvX2VuY29kZXJfc2xhdmUoZW5jb2RlciktPnNsYXZlX3ByaXY7Cj4+IC19Cj4+IC0K Pj4gICAvKiBBREkgcmVjb21tZW5kZWQgdmFsdWVzIGZvciBwcm9wZXIgb3BlcmF0aW9uLiAqLwo+ PiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnX3NlcXVlbmNlIGFkdjc1MTFfZml4ZWRfcmVnaXN0 ZXJzW10gPSB7Cj4+ICAgCXsgMHg5OCwgMHgwMyB9LAo+PiBAQCAtNDM4LDggKzQzNSw4IEBAIHN0 YXRpYyBpbnQgYWR2NzUxMV9pcnFfcHJvY2VzcyhzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSkKPj4g ICAJcmVnbWFwX3dyaXRlKGFkdjc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfSU5UKDApLCBpcnEw KTsKPj4gICAJcmVnbWFwX3dyaXRlKGFkdjc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfSU5UKDEp LCBpcnExKTsKPj4KPj4gLQlpZiAoaXJxMCAmIEFEVjc1MTFfSU5UMF9IRFAgJiYgYWR2NzUxMS0+ ZW5jb2RlcikKPj4gLQkJZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50KGFkdjc1MTEtPmVuY29kZXIt PmRldik7Cj4+ICsJaWYgKGlycTAgJiBBRFY3NTExX0lOVDBfSERQICYmIGFkdjc1MTEtPmJyaWRn ZS5lbmNvZGVyKQo+PiArCQlkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQoYWR2NzUxMS0+Y29ubmVj dG9yLmRldik7Cj4+Cj4+ICAgCWlmIChpcnEwICYgQURWNzUxMV9JTlQwX0VESURfUkVBRFkgfHwg aXJxMSAmIEFEVjc1MTFfSU5UMV9ERENfRVJST1IpIHsKPj4gICAJCWFkdjc1MTEtPmVkaWRfcmVh ZCA9IHRydWU7Cj4+IEBAIC01NTUsMTMgKzU1MiwxMiBAQCBzdGF0aWMgaW50IGFkdjc1MTFfZ2V0 X2VkaWRfYmxvY2sodm9pZCAqZGF0YSwgdTggKmJ1ZiwKPj4gdW5zaWduZWQgaW50IGJsb2NrLCB9 Cj4+Cj4+ICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IC0gKiBFbmNvZGVyIG9wZXJhdGlvbnMKPj4g KyAqIEFEVjc1eHggaGVscGVycwo+PiAgICAqLwo+Pgo+PiAtc3RhdGljIGludCBhZHY3NTExX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+ICtzdGF0aWMgaW50IGFkdjc1 MTFfZ2V0X21vZGVzKHN0cnVjdCBhZHY3NTExICphZHY3NTExLAo+PiAgIAkJCSAgICAgc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gICB7Cj4+IC0Jc3RydWN0IGFkdjc1MTEgKmFk djc1MTEgPSBlbmNvZGVyX3RvX2Fkdjc1MTEoZW5jb2Rlcik7Cj4+ICAgCXN0cnVjdCBlZGlkICpl ZGlkOwo+PiAgIAl1bnNpZ25lZCBpbnQgY291bnQ7Cj4+Cj4+IEBAIC01OTYsMjEgKzU5Miw5IEBA IHN0YXRpYyBpbnQgYWR2NzUxMV9nZXRfbW9kZXMoc3RydWN0IGRybV9lbmNvZGVyCj4+ICplbmNv ZGVyLCByZXR1cm4gY291bnQ7Cj4+ICAgfQo+Pgo+PiAtc3RhdGljIHZvaWQgYWR2NzUxMV9lbmNv ZGVyX2RwbXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBpbnQgbW9kZSkKPj4gLXsKPj4g LQlzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSA9IGVuY29kZXJfdG9fYWR2NzUxMShlbmNvZGVyKTsK Pj4gLQo+PiAtCWlmIChtb2RlID09IERSTV9NT0RFX0RQTVNfT04pCj4+IC0JCWFkdjc1MTFfcG93 ZXJfb24oYWR2NzUxMSk7Cj4+IC0JZWxzZQo+PiAtCQlhZHY3NTExX3Bvd2VyX29mZihhZHY3NTEx KTsKPj4gLX0KPj4gLQo+PiAgIHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzCj4+IC1h ZHY3NTExX2VuY29kZXJfZGV0ZWN0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4gLQkJ ICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICthZHY3NTExX2RldGVj dChzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSwgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKPj4gICB7Cj4+IC0Jc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEgPSBlbmNvZGVyX3RvX2Fkdjc1 MTEoZW5jb2Rlcik7Cj4+ICAgCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3RhdHVzOwo+PiAg IAl1bnNpZ25lZCBpbnQgdmFsOwo+PiAgIAlib29sIGhwZDsKPj4gQEAgLTYzNCw3ICs2MTgsNyBA QCBhZHY3NTExX2VuY29kZXJfZGV0ZWN0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4g ICAJaWYgKHN0YXR1cyA9PSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZCAmJiBocGQgJiYgYWR2 NzUxMS0+cG93ZXJlZCkgewo+PiAgIAkJcmVnY2FjaGVfbWFya19kaXJ0eShhZHY3NTExLT5yZWdt YXApOwo+PiAgIAkJYWR2NzUxMV9wb3dlcl9vbihhZHY3NTExKTsKPj4gLQkJYWR2NzUxMV9nZXRf bW9kZXMoZW5jb2RlciwgY29ubmVjdG9yKTsKPj4gKwkJYWR2NzUxMV9nZXRfbW9kZXMoYWR2NzUx MSwgY29ubmVjdG9yKTsKPj4gICAJCWlmIChhZHY3NTExLT5zdGF0dXMgPT0gY29ubmVjdG9yX3N0 YXR1c19jb25uZWN0ZWQpCj4+ICAgCQkJc3RhdHVzID0gY29ubmVjdG9yX3N0YXR1c19kaXNjb25u ZWN0ZWQ7Cj4+ICAgCX0gZWxzZSB7Cj4+IEBAIC02NDgsOCArNjMyLDggQEAgYWR2NzUxMV9lbmNv ZGVyX2RldGVjdChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+ICAgCXJldHVybiBzdGF0 dXM7Cj4+ICAgfQo+Pgo+PiAtc3RhdGljIGludCBhZHY3NTExX2VuY29kZXJfbW9kZV92YWxpZChz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4+IC0JCQkJICAgICAgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpCj4+ICtzdGF0aWMgaW50IGFkdjc1MTFfbW9kZV92YWxpZChzdHJ1Y3Qg YWR2NzUxMSAqYWR2NzUxMSwKPj4gKwkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlKQo+PiAgIHsKPj4gICAJaWYgKG1vZGUtPmNsb2NrID4gMTY1MDAwKQo+PiAgIAkJcmV0dXJu IE1PREVfQ0xPQ0tfSElHSDsKPj4gQEAgLTY1NywxMSArNjQxLDEwIEBAIHN0YXRpYyBpbnQgYWR2 NzUxMV9lbmNvZGVyX21vZGVfdmFsaWQoc3RydWN0Cj4+IGRybV9lbmNvZGVyICplbmNvZGVyLCBy ZXR1cm4gTU9ERV9PSzsKPj4gICB9Cj4+Cj4+IC1zdGF0aWMgdm9pZCBhZHY3NTExX2VuY29kZXJf bW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+PiAtCQkJCSAgICAgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4+IC0JCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqYWRqX21vZGUpCj4+ICtzdGF0aWMgdm9pZCBhZHY3NTExX21vZGVfc2V0KHN0cnVjdCBh ZHY3NTExICphZHY3NTExLAo+PiArCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKPj4gKwkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkal9tb2RlKQo+PiAgIHsK Pj4gLQlzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSA9IGVuY29kZXJfdG9fYWR2NzUxMShlbmNvZGVy KTsKPj4gICAJdW5zaWduZWQgaW50IGxvd19yZWZyZXNoX3JhdGU7Cj4+ICAgCXVuc2lnbmVkIGlu dCBoc3luY19wb2xhcml0eSA9IDA7Cj4+ICAgCXVuc2lnbmVkIGludCB2c3luY19wb2xhcml0eSA9 IDA7Cj4+IEBAIC03NTIsMTIgKzczNSwxMzIgQEAgc3RhdGljIHZvaWQgYWR2NzUxMV9lbmNvZGVy X21vZGVfc2V0KHN0cnVjdAo+PiBkcm1fZW5jb2RlciAqZW5jb2RlciwgYWR2NzUxMS0+Zl90bWRz ID0gbW9kZS0+Y2xvY2s7Cj4+ICAgfQo+Pgo+PiAtc3RhdGljIHN0cnVjdCBkcm1fZW5jb2Rlcl9z bGF2ZV9mdW5jcyBhZHY3NTExX2VuY29kZXJfZnVuY3MgPSB7Cj4+IC0JLmRwbXMgPSBhZHY3NTEx X2VuY29kZXJfZHBtcywKPj4gLQkubW9kZV92YWxpZCA9IGFkdjc1MTFfZW5jb2Rlcl9tb2RlX3Zh bGlkLAo+PiAtCS5tb2RlX3NldCA9IGFkdjc1MTFfZW5jb2Rlcl9tb2RlX3NldCwKPj4gLQkuZGV0 ZWN0ID0gYWR2NzUxMV9lbmNvZGVyX2RldGVjdCwKPj4gLQkuZ2V0X21vZGVzID0gYWR2NzUxMV9n ZXRfbW9kZXMsCj4+ICsvKiBDb25uZWN0b3IgZnVuY3MgKi8KPj4gK3N0YXRpYyBzdHJ1Y3QgYWR2 NzUxMSAqY29ubmVjdG9yX3RvX2Fkdjc1MTEoc3RydWN0IGRybV9jb25uZWN0b3IKPj4gKmNvbm5l Y3RvcikgK3sKPj4gKwlyZXR1cm4gY29udGFpbmVyX29mKGNvbm5lY3Rvciwgc3RydWN0IGFkdjc1 MTEsIGNvbm5lY3Rvcik7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgYWR2NzUxMV9jb25uZWN0 b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICt7Cj4+ICsJ c3RydWN0IGFkdjc1MTEgKmFkdiA9IGNvbm5lY3Rvcl90b19hZHY3NTExKGNvbm5lY3Rvcik7Cj4+ ICsKPj4gKwlyZXR1cm4gYWR2NzUxMV9nZXRfbW9kZXMoYWR2LCBjb25uZWN0b3IpOwo+PiArfQo+ PiArCj4+ICtzdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyICoKPj4gK2Fkdjc1MTFfY29ubmVjdG9y X2Jlc3RfZW5jb2RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiArewo+PiAr CXN0cnVjdCBhZHY3NTExICphZHYgPSBjb25uZWN0b3JfdG9fYWR2NzUxMShjb25uZWN0b3IpOwo+ PiArCj4+ICsJcmV0dXJuIGFkdi0+YnJpZGdlLmVuY29kZXI7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRp YyBlbnVtIGRybV9tb2RlX3N0YXR1cwo+PiArYWR2NzUxMV9jb25uZWN0b3JfbW9kZV92YWxpZChz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+PiArCQkJICAgICBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPj4gK3sKPj4gKwlzdHJ1Y3QgYWR2NzUxMSAqYWR2ID0gY29ubmVj dG9yX3RvX2Fkdjc1MTEoY29ubmVjdG9yKTsKPj4gKwo+PiArCXJldHVybiBhZHY3NTExX21vZGVf dmFsaWQoYWR2LCBtb2RlKTsKPj4gK30KPj4gKwo+PiArc3RhdGljIHN0cnVjdCBkcm1fY29ubmVj dG9yX2hlbHBlcl9mdW5jcyBhZHY3NTExX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgPSB7Cj4+ICsJ LmdldF9tb2RlcyA9IGFkdjc1MTFfY29ubmVjdG9yX2dldF9tb2RlcywKPj4gKwkuYmVzdF9lbmNv ZGVyID0gYWR2NzUxMV9jb25uZWN0b3JfYmVzdF9lbmNvZGVyLAo+PiArCS5tb2RlX3ZhbGlkID0g YWR2NzUxMV9jb25uZWN0b3JfbW9kZV92YWxpZCwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBlbnVt IGRybV9jb25uZWN0b3Jfc3RhdHVzCj4+ICthZHY3NTExX2Nvbm5lY3Rvcl9kZXRlY3Qoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKPj4gK3sKPj4gKwlzdHJ1Y3Qg YWR2NzUxMSAqYWR2ID0gY29ubmVjdG9yX3RvX2Fkdjc1MTEoY29ubmVjdG9yKTsKPj4gKwo+PiAr CXJldHVybiBhZHY3NTExX2RldGVjdChhZHYsIGNvbm5lY3Rvcik7Cj4+ICt9Cj4+ICsKPj4gK3N0 YXRpYyBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBhZHY3NTExX2Nvbm5lY3Rvcl9mdW5jcyA9 IHsKPj4gKwkuZHBtcyA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAo+PiArCS5m aWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAo+PiAr CS5kZXRlY3QgPSBhZHY3NTExX2Nvbm5lY3Rvcl9kZXRlY3QsCj4+ICsJLmRlc3Ryb3kgPSBkcm1f Y29ubmVjdG9yX2NsZWFudXAsCj4+ICsJLnJlc2V0ID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVj dG9yX3Jlc2V0LAo+PiArCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gZHJtX2F0b21pY19oZWxw ZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSwKPj4gKwkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUg PSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSwKPj4gK307Cj4+ICsK Pj4gKy8qIEJyaWRnZSBmdW5jcyAqLwo+PiArc3RhdGljIHN0cnVjdCBhZHY3NTExICpicmlkZ2Vf dG9fYWR2NzUxMShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+PiArewo+PiArCXJldHVybiBj b250YWluZXJfb2YoYnJpZGdlLCBzdHJ1Y3QgYWR2NzUxMSwgYnJpZGdlKTsKPj4gK30KPj4gKwo+ PiArc3RhdGljIHZvaWQgYWR2NzUxMV9icmlkZ2VfcHJlX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlKQo+PiArewo+PiArCXN0cnVjdCBhZHY3NTExICphZHYgPSBicmlkZ2VfdG9fYWR2 NzUxMShicmlkZ2UpOwo+PiArCj4+ICsJYWR2NzUxMV9wb3dlcl9vbihhZHYpOwo+PiArfQo+PiAr Cj4+ICtzdGF0aWMgdm9pZCBhZHY3NTExX2JyaWRnZV9wb3N0X2Rpc2FibGUoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSkKPj4gK3sKPj4gKwlzdHJ1Y3QgYWR2NzUxMSAqYWR2ID0gYnJpZGdlX3Rv X2Fkdjc1MTEoYnJpZGdlKTsKPj4gKwo+PiArCWFkdjc1MTFfcG93ZXJfb2ZmKGFkdik7Cj4+ICt9 Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIGFkdjc1MTFfYnJpZGdlX2VuYWJsZShzdHJ1Y3QgZHJtX2Jy aWRnZSAqYnJpZGdlKQo+PiArewo+PiArfQo+PiArCj4+ICtzdGF0aWMgdm9pZCBhZHY3NTExX2Jy aWRnZV9kaXNhYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4+ICt7Cj4+ICt9Cj4KPiBZ b3UgY291bGQgZGVmaW5lIGEgc2luZ2xlIGZ1bmN0aW9uIGNhbGxlZCBhZHY3NTExX2JyaWRnZV9u b29wKCksIG9yLCBiZXR0ZXIsCj4gbWFrZSB0aGUgY2FsbGJhY2tzIG9wdGlvbmFscyBpbiBkcm1f YnJpZGdlLmMuCgpTdXJlLCBJJ2xsIGdvIHdpdGggdGhlIG5vb3Agd2F5LgoKPgo+IEJ5IHRoZSB3 YXksIHdoYXQncyB0aGUgcmVhc29uIHlvdSB1c2UgdGhlIHByZV9lbmFibGUvcG9zdF9kaXNhYmxl IGNhbGxiYWNrcwo+IGluc3RlYWQgb2YgZW5hYmxlL2Rpc2FibGUgPwoKSSBkb24ndCByZWNvbGxl Y3QgaXQgYXQgdGhlIG1vbWVudC4gSSdkIHVzZWQgdGhlc2Ugd2hpbGUgdXNpbmcgYWR2NzUzMwpj b25uZWN0ZWQgdG8gdGhlIGRzaSBicmlkZ2UgaW4gdGhlIG1zbSBrbXMgZHJpdmVyLiBJIHdpbGwg bG9vayBpbnRvIHRoaXMKYW5kIGdldCBiYWNrLgoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LApBcmNo aXQKCi0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIg b2YgdGhlIENvZGUgQXVyb3JhIApGb3J1bSwgaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9u Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==