From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 3/7] drm/udl: Remove unused encoder and CRTC code Date: Thu, 28 Nov 2019 15:10:24 +0100 Message-ID: <20191128141024.GX406127@phenom.ffwll.local> References: <20191126134707.22385-1-tzimmermann@suse.de> <20191126134707.22385-4-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id CF9746E826 for ; Thu, 28 Nov 2019 14:10:28 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id i12so31379601wro.5 for ; Thu, 28 Nov 2019 06:10:28 -0800 (PST) Content-Disposition: inline In-Reply-To: <20191126134707.22385-4-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thomas Zimmermann Cc: dri-devel@lists.freedesktop.org, kraxel@redhat.com, airlied@redhat.com, sam@ravnborg.org, emil.velikov@collabora.com List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBOb3YgMjYsIDIwMTkgYXQgMDI6NDc6MDNQTSArMDEwMCwgVGhvbWFzIFppbW1lcm1h bm4gd3JvdGU6Cj4gVGhlIHJlbW92ZWQgZnVuY3Rpb25hbGl0eSBpcyBwcm92aWRlZCBieSBzaW1w bGUtcGlwZSBoZWxwZXJzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0 emltbWVybWFubkBzdXNlLmRlPgoKTmVlZHMgdG8gYmUgc3F1YXNoZWQgaW50byB0aGUgcHJldmlv dXMgcGF0Y2gsIGlkZWFsbHkgd2l0aCB0aGUgbmV3CmZ1bmN0aW9ucyBpbiB0aGUgc2FtZSBwbGFj ZSBhcyB0aGUgb2xkIG9uZXMgKGFzIG11Y2ggYXMgcG9zc2libGUpLCBzbyB0aGF0CmRpZmYgcmV2 aWV3aW5nIGlzIGVhc2llci4gSWYgeW91IGZlZWwgbGlrZSB0aGF0IG1ha2VzIHRoZSBwcmV2aW91 cyBwYXRjaAp0b28gYmlnLCBzcGxpdCBvdXQgdGhlIHN1c3BlbmQvcmVzdW1lIHJlZmFjdG9yLgot RGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vdWRsL01ha2VmaWxlICAgICAgfCAgIDIg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZHJ2LmggICAgIHwgICAzIC0KPiAgZHJpdmVy cy9ncHUvZHJtL3VkbC91ZGxfZW5jb2Rlci5jIHwgIDcwIC0tLS0tLS0tLS0tLS0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vdWRsL3VkbF9tb2Rlc2V0LmMgfCAxMzggLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIxMiBkZWxldGlv bnMoLSkKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2VuY29k ZXIuYwo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL01ha2VmaWxlIGIvZHJp dmVycy9ncHUvZHJtL3VkbC9NYWtlZmlsZQo+IGluZGV4IDljNDI4MjBhZTMzZC4uMTc3Y2U3NGY0 Y2Y0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvTWFrZWZpbGUKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vdWRsL01ha2VmaWxlCj4gQEAgLTEsNCArMSw0IEBACj4gICMgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+IC11ZGwteSA6PSB1ZGxfZHJ2Lm8gdWRs X21vZGVzZXQubyB1ZGxfY29ubmVjdG9yLm8gdWRsX2VuY29kZXIubyB1ZGxfbWFpbi5vIHVkbF9m Yi5vIHVkbF90cmFuc2Zlci5vIHVkbF9nZW0ubwo+ICt1ZGwteSA6PSB1ZGxfZHJ2Lm8gdWRsX21v ZGVzZXQubyB1ZGxfY29ubmVjdG9yLm8gdWRsX21haW4ubyB1ZGxfZmIubyB1ZGxfdHJhbnNmZXIu byB1ZGxfZ2VtLm8KPiAgCj4gIG9iai0kKENPTkZJR19EUk1fVURMKSA6PSB1ZGwubwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS91 ZGwvdWRsX2Rydi5oCj4gaW5kZXggMjMzNDZiZGM3NGJjLi43N2I1N2Q2YWJkMjMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vdWRsL3VkbF9kcnYuaAo+IEBAIC0xOSw3ICsxOSw2IEBACj4gICNpbmNsdWRlIDxkcm0vZHJt X2dlbS5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oPgo+ICAKPiAt c3RydWN0IGRybV9lbmNvZGVyOwo+ICBzdHJ1Y3QgZHJtX21vZGVfY3JlYXRlX2R1bWI7Cj4gIAo+ ICAjZGVmaW5lIERSSVZFUl9OQU1FCQkidWRsIgo+IEBAIC04Miw4ICs4MSw2IEBAIGludCB1ZGxf bW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIHVkbF9tb2Rlc2V0 X2NsZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHN0cnVjdCBkcm1fY29ubmVjdG9y ICp1ZGxfY29ubmVjdG9yX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIAo+IC1zdHJ1 Y3QgZHJtX2VuY29kZXIgKnVkbF9lbmNvZGVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gLQo+ICBzdHJ1Y3QgdXJiICp1ZGxfZ2V0X3VyYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK PiAgCj4gIGludCB1ZGxfc3VibWl0X3VyYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg dXJiICp1cmIsIHNpemVfdCBsZW4pOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRs L3VkbF9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9lbmNvZGVyLmMKPiBkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAyMDNmMDQxZTczN2MuLjAwMDAwMDAwMDAwMAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2VuY29kZXIuYwo+ICsrKyAvZGV2L251bGwK PiBAQCAtMSw3MCArMCwwIEBACj4gLS8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9ubHkKPiAtLyoKPiAtICogQ29weXJpZ2h0IChDKSAyMDEyIFJlZCBIYXQKPiAtICogYmFzZWQg aW4gcGFydHMgb24gdWRsZmIuYzoKPiAtICogQ29weXJpZ2h0IChDKSAyMDA5IFJvYmVydG8gRGUg SW9yaXMgPHJvYmVydG9AdW5iaXQuaXQ+Cj4gLSAqIENvcHlyaWdodCAoQykgMjAwOSBKYXlhIEt1 bWFyIDxqYXlha3VtYXIubGttbEBnbWFpbC5jb20+Cj4gLSAqIENvcHlyaWdodCAoQykgMjAwOSBC ZXJuaWUgVGhvbXBzb24gPGJlcm5pZUBwbHVnYWJsZS5jb20+Cj4gLSAqLwo+IC0KPiAtI2luY2x1 ZGUgPGRybS9kcm1fZW5jb2Rlci5oPgo+IC0jaW5jbHVkZSA8ZHJtL2RybV9tb2Rlc2V0X2hlbHBl cl92dGFibGVzLmg+Cj4gLQo+IC0jaW5jbHVkZSAidWRsX2Rydi5oIgo+IC0KPiAtLyogZHVtbXkg ZW5jb2RlciAqLwo+IC1zdGF0aWMgdm9pZCB1ZGxfZW5jX2Rlc3Ryb3koc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKQo+IC17Cj4gLQlkcm1fZW5jb2Rlcl9jbGVhbnVwKGVuY29kZXIpOwo+IC0J a2ZyZWUoZW5jb2Rlcik7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkIHVkbF9lbmNvZGVyX2Rpc2Fi bGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+IC17Cj4gLX0KPiAtCj4gLXN0YXRpYyB2 b2lkIHVkbF9lbmNvZGVyX3ByZXBhcmUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+IC17 Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkIHVkbF9lbmNvZGVyX2NvbW1pdChzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCj4gLXsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgdWRsX2VuY29kZXJf bW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+IC0JCQkJIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlLAo+IC0JCQkJIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1 c3RlZF9tb2RlKQo+IC17Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkCj4gLXVkbF9lbmNvZGVyX2Rw bXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBpbnQgbW9kZSkKPiAtewo+IC19Cj4gLQo+ IC1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcyB1ZGxfaGVscGVy X2Z1bmNzID0gewo+IC0JLmRwbXMgPSB1ZGxfZW5jb2Rlcl9kcG1zLAo+IC0JLnByZXBhcmUgPSB1 ZGxfZW5jb2Rlcl9wcmVwYXJlLAo+IC0JLm1vZGVfc2V0ID0gdWRsX2VuY29kZXJfbW9kZV9zZXQs Cj4gLQkuY29tbWl0ID0gdWRsX2VuY29kZXJfY29tbWl0LAo+IC0JLmRpc2FibGUgPSB1ZGxfZW5j b2Rlcl9kaXNhYmxlLAo+IC19Owo+IC0KPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rl cl9mdW5jcyB1ZGxfZW5jX2Z1bmNzID0gewo+IC0JLmRlc3Ryb3kgPSB1ZGxfZW5jX2Rlc3Ryb3ks Cj4gLX07Cj4gLQo+IC1zdHJ1Y3QgZHJtX2VuY29kZXIgKnVkbF9lbmNvZGVyX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAtewo+IC0Jc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+ IC0KPiAtCWVuY29kZXIgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZHJtX2VuY29kZXIpLCBHRlBf S0VSTkVMKTsKPiAtCWlmICghZW5jb2RlcikKPiAtCQlyZXR1cm4gTlVMTDsKPiAtCj4gLQlkcm1f ZW5jb2Rlcl9pbml0KGRldiwgZW5jb2RlciwgJnVkbF9lbmNfZnVuY3MsIERSTV9NT0RFX0VOQ09E RVJfVE1EUywKPiAtCQkJIE5VTEwpOwo+IC0JZHJtX2VuY29kZXJfaGVscGVyX2FkZChlbmNvZGVy LCAmdWRsX2hlbHBlcl9mdW5jcyk7Cj4gLQllbmNvZGVyLT5wb3NzaWJsZV9jcnRjcyA9IDE7Cj4g LQlyZXR1cm4gZW5jb2RlcjsKPiAtfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRs L3VkbF9tb2Rlc2V0LmMgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9tb2Rlc2V0LmMKPiBpbmRl eCBjOGJkNDM4ZGU2ZTkuLjcyODg0Y2JkYTEzMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vdWRsL3VkbF9tb2Rlc2V0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9tb2Rl c2V0LmMKPiBAQCAtMjgxLDE0NCArMjgxLDYgQEAgc3RhdGljIHZvaWQgdWRsX2NydGNfZHBtcyhz dHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCBtb2RlKQo+ICAKPiAgfQo+ICAKPiAtI2lmIDAKPiAt c3RhdGljIGludAo+IC11ZGxfcGlwZV9zZXRfYmFzZV9hdG9taWMoc3RydWN0IGRybV9jcnRjICpj cnRjLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiAtCQkJICAgaW50IHgsIGludCB5LCBl bnVtIG1vZGVfc2V0X2F0b21pYyBzdGF0ZSkKPiAtewo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtCj4g LXN0YXRpYyBpbnQKPiAtdWRsX3BpcGVfc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBp bnQgeCwgaW50IHksCj4gLQkJICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYikKPiAt ewo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtI2VuZGlmCj4gLQo+IC1zdGF0aWMgaW50IHVkbF9jcnRj X21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAtCQkJICAgICAgIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlLAo+IC0JCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkanVzdGVkX21vZGUsCj4gLQkJCSAgICAgICBpbnQgeCwgaW50IHksCj4gLQkJCSAgICAgICBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmIpCj4gLQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+IC0Jc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBj cnRjLT5wcmltYXJ5LT5mYjsKPiAtCXN0cnVjdCB1ZGxfZGV2aWNlICp1ZGwgPSBkZXYtPmRldl9w cml2YXRlOwo+IC0JY2hhciAqYnVmOwo+IC0JY2hhciAqd3JwdHI7Cj4gLQlpbnQgY29sb3JfZGVw dGggPSAwOwo+IC0KPiAtCXVkbC0+Y3J0YyA9IGNydGM7Cj4gLQo+IC0JYnVmID0gKGNoYXIgKil1 ZGwtPm1vZGVfYnVmOwo+IC0KPiAtCS8qIGZvciBub3cgd2UganVzdCBjbGlwIDI0IC0+IDE2IC0g aWYgd2UgZml4IHRoYXQgZml4IHRoaXMgKi8KPiAtCS8qaWYgIChjcnRjLT5mYi0+Yml0c19wZXJf cGl4ZWwgIT0gMTYpCj4gLQkgIGNvbG9yX2RlcHRoID0gMTsgKi8KPiAtCj4gLQkvKiBUaGlzIGZp cnN0IHNlY3Rpb24gaGFzIHRvIGRvIHdpdGggc2V0dGluZyB0aGUgYmFzZSBhZGRyZXNzIG9uIHRo ZQo+IC0JKiBjb250cm9sbGVyICogYXNzb2NpYXRlZCB3aXRoIHRoZSBkaXNwbGF5LiBUaGVyZSBh cmUgMiBiYXNlCj4gLQkqIHBvaW50ZXJzLCBjdXJyZW50bHksIHdlIG9ubHkgKiB1c2UgdGhlIDE2 IGJwcCBzZWdtZW50Lgo+IC0JKi8KPiAtCXdycHRyID0gdWRsX3ZpZHJlZ19sb2NrKGJ1Zik7Cj4g LQl3cnB0ciA9IHVkbF9zZXRfY29sb3JfZGVwdGgod3JwdHIsIGNvbG9yX2RlcHRoKTsKPiAtCS8q IHNldCBiYXNlIGZvciAxNmJwcCBzZWdtZW50IHRvIDAgKi8KPiAtCXdycHRyID0gdWRsX3NldF9i YXNlMTZicHAod3JwdHIsIDApOwo+IC0JLyogc2V0IGJhc2UgZm9yIDhicHAgc2VnbWVudCB0byBl bmQgb2YgZmIgKi8KPiAtCXdycHRyID0gdWRsX3NldF9iYXNlOGJwcCh3cnB0ciwgMiAqIG1vZGUt PnZkaXNwbGF5ICogbW9kZS0+aGRpc3BsYXkpOwo+IC0KPiAtCXdycHRyID0gdWRsX3NldF92aWRf Y21kcyh3cnB0ciwgYWRqdXN0ZWRfbW9kZSk7Cj4gLQl3cnB0ciA9IHVkbF9zZXRfYmxhbmsod3Jw dHIsIERSTV9NT0RFX0RQTVNfT04pOwo+IC0Jd3JwdHIgPSB1ZGxfdmlkcmVnX3VubG9jayh3cnB0 cik7Cj4gLQo+IC0Jd3JwdHIgPSB1ZGxfZHVtbXlfcmVuZGVyKHdycHRyKTsKPiAtCj4gLQlzcGlu X2xvY2soJnVkbC0+YWN0aXZlX2ZiXzE2X2xvY2spOwo+IC0JdWRsLT5hY3RpdmVfZmJfMTYgPSBm YjsKPiAtCXNwaW5fdW5sb2NrKCZ1ZGwtPmFjdGl2ZV9mYl8xNl9sb2NrKTsKPiAtCXVkbC0+bW9k ZV9idWZfbGVuID0gd3JwdHIgLSBidWY7Cj4gLQo+IC0JLyogZGFtYWdlIGFsbCBvZiBpdCAqLwo+ IC0JdWRsX2hhbmRsZV9kYW1hZ2UoZmIsIDAsIDAsIGZiLT53aWR0aCwgZmItPmhlaWdodCk7Cj4g LQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAtCj4gLXN0YXRpYyB2b2lkIHVkbF9jcnRjX2Rpc2FibGUo c3RydWN0IGRybV9jcnRjICpjcnRjKQo+IC17Cj4gLQl1ZGxfY3J0Y19kcG1zKGNydGMsIERSTV9N T0RFX0RQTVNfT0ZGKTsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgdWRsX2NydGNfZGVzdHJveShz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gLXsKPiAtCWRybV9jcnRjX2NsZWFudXAoY3J0Yyk7Cj4g LQlrZnJlZShjcnRjKTsKPiAtfQo+IC0KPiAtc3RhdGljIGludCB1ZGxfY3J0Y19wYWdlX2ZsaXAo c3RydWN0IGRybV9jcnRjICpjcnRjLAo+IC0JCQkgICAgICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYiwKPiAtCQkJICAgICAgc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQs Cj4gLQkJCSAgICAgIHVpbnQzMl90IHBhZ2VfZmxpcF9mbGFncywKPiAtCQkJICAgICAgc3RydWN0 IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpCj4gLXsKPiAtCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5kZXY7Cj4gLQlzdHJ1Y3QgdWRsX2RldmljZSAqdWRsID0gZGV2LT5kZXZf cHJpdmF0ZTsKPiAtCj4gLQlzcGluX2xvY2soJnVkbC0+YWN0aXZlX2ZiXzE2X2xvY2spOwo+IC0J dWRsLT5hY3RpdmVfZmJfMTYgPSBmYjsKPiAtCXNwaW5fdW5sb2NrKCZ1ZGwtPmFjdGl2ZV9mYl8x Nl9sb2NrKTsKPiAtCj4gLQl1ZGxfaGFuZGxlX2RhbWFnZShmYiwgMCwgMCwgZmItPndpZHRoLCBm Yi0+aGVpZ2h0KTsKPiAtCj4gLQlzcGluX2xvY2tfaXJxKCZkZXYtPmV2ZW50X2xvY2spOwo+IC0J aWYgKGV2ZW50KQo+IC0JCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNydGMsIGV2ZW50KTsK PiAtCXNwaW5fdW5sb2NrX2lycSgmZGV2LT5ldmVudF9sb2NrKTsKPiAtCWNydGMtPnByaW1hcnkt PmZiID0gZmI7Cj4gLQo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkIHVkbF9j cnRjX3ByZXBhcmUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+IC17Cj4gLX0KPiAtCj4gLXN0YXRp YyB2b2lkIHVkbF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gLXsKPiAtCXVk bF9jcnRjX2RwbXMoY3J0YywgRFJNX01PREVfRFBNU19PTik7Cj4gLX0KPiAtCj4gLXN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIHVkbF9oZWxwZXJfZnVuY3MgPSB7Cj4g LQkuZHBtcyA9IHVkbF9jcnRjX2RwbXMsCj4gLQkubW9kZV9zZXQgPSB1ZGxfY3J0Y19tb2RlX3Nl dCwKPiAtCS5wcmVwYXJlID0gdWRsX2NydGNfcHJlcGFyZSwKPiAtCS5jb21taXQgPSB1ZGxfY3J0 Y19jb21taXQsCj4gLQkuZGlzYWJsZSA9IHVkbF9jcnRjX2Rpc2FibGUsCj4gLX07Cj4gLQo+IC1z dGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHVkbF9jcnRjX2Z1bmNzID0gewo+IC0J LnNldF9jb25maWcgPSBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZywKPiAtCS5kZXN0cm95ID0g dWRsX2NydGNfZGVzdHJveSwKPiAtCS5wYWdlX2ZsaXAgPSB1ZGxfY3J0Y19wYWdlX2ZsaXAsCj4g LX07Cj4gLQo+IC1zdGF0aWMgaW50IHVkbF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiAtewo+IC0Jc3RydWN0IGRybV9jcnRjICpjcnRjOwo+IC0KPiAtCWNydGMgPSBremFsbG9j KHNpemVvZihzdHJ1Y3QgZHJtX2NydGMpICsgc2l6ZW9mKHN0cnVjdCBkcm1fY29ubmVjdG9yICop LCBHRlBfS0VSTkVMKTsKPiAtCWlmIChjcnRjID09IE5VTEwpCj4gLQkJcmV0dXJuIC1FTk9NRU07 Cj4gLQo+IC0JZHJtX2NydGNfaW5pdChkZXYsIGNydGMsICZ1ZGxfY3J0Y19mdW5jcyk7Cj4gLQlk cm1fY3J0Y19oZWxwZXJfYWRkKGNydGMsICZ1ZGxfaGVscGVyX2Z1bmNzKTsKPiAtCj4gLQlyZXR1 cm4gMDsKPiAtfQo+IC0KPiAgLyoKPiAgICogU2ltcGxlIGRpc3BsYXkgcGlwZWxpbmUKPiAgICov Cj4gLS0gCj4gMi4yMy4wCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwg SW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs