From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70226C169C4 for ; Fri, 8 Feb 2019 11:39:07 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2C69B21924 for ; Fri, 8 Feb 2019 11:39:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="K4uIHaMx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C69B21924 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=sigxcpu.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bQMybZu8Zd00ONG1zJHXZZ8voBog/oCem1gaKX+TZ6k=; b=K4uIHaMxPFoSQ9 WXRp6FoU7pgIsRTdCbk4DlXG3PCOG6R1GVM1OPmoahEq2HzfWhUklz2tM7fKYT8xYFKZuyEAN3vDg dylr+j6W6+/zAYg4+9Z6nmJqi5OAGEgJ39BtFftqVU2vQD2AujlWOj5HI3fEn/SPttTU688hSODU4 Qf3CngH5Bj+lLFq9p4hdyVxN+Wa0ajZJi7j9Z/pwWL69OJ/46QGURhjMb5snQP1aMxfYgntXsai1u qWRkFgncsNCVWQWI5oBk3xsy5/Ot2V/N8czGqd+znu+ntZGj70+CvcvTbwgMf6ZzT7BouxCXgNj7u dT7sry2a+wCJbjC8gZeg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gs4Us-0001xy-D4; Fri, 08 Feb 2019 11:39:06 +0000 Received: from honk.sigxcpu.org ([24.134.29.49]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gs4Un-0001xQ-DG for linux-arm-kernel@lists.infradead.org; Fri, 08 Feb 2019 11:39:03 +0000 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id 40DABFB03; Fri, 8 Feb 2019 12:38:57 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at honk.sigxcpu.org Received: from honk.sigxcpu.org ([127.0.0.1]) by localhost (honk.sigxcpu.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NpmXLnTnDcxL; Fri, 8 Feb 2019 12:38:55 +0100 (CET) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id B87EF43F22; Fri, 8 Feb 2019 12:38:54 +0100 (CET) Date: Fri, 8 Feb 2019 12:38:54 +0100 From: Guido =?iso-8859-1?Q?G=FCnther?= To: Fabio Estevam Subject: Re: [PATCH v2 3/3] phy: Add driver for mixel dphy found on imx8 Message-ID: <20190208113854.GA4538@bogon.m.sigxcpu.org> References: <4889791c13375ac927c964f888d66b678675916d.1549010639.git.agx@sigxcpu.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190208_033901_772552_560E398B X-CRM114-Status: GOOD ( 25.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Maxime Ripard , Robert Chiras , Sam Ravnborg , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , DRI mailing list Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCk9uIEZyaSwgRmViIDAxLCAyMDE5IGF0IDA5OjI2OjUwQU0gLTAyMDAsIEZhYmlvIEVzdGV2 YW0gd3JvdGU6Cj4gSGkgR3VpZG8sCj4gCj4gVGhhbmtzIGZvciB0aGUgcmVzcGluLiBJdCBsb29r cyBiZXR0ZXIgOi0pCgpUaGFua3MgZm9yIGhhdmluZyBhIGxvb2shIEFsbCB5b3VyIGNvbW1lbnRz IG1hZGUgc2Vuc2UgdG8gbWUgYW5kIEkndmUKZm9sZGVkIHRoZW0gaW50byB2My4KQ2hlZXJzLAog LS0gR3VpZG8KCj4gCj4gT24gRnJpLCBGZWIgMSwgMjAxOSBhdCA2OjUwIEFNIEd1aWRvIEfDvG50 aGVyIDxhZ3hAc2lneGNwdS5vcmc+IHdyb3RlOgo+IAo+ID4gK2NvbmZpZyBQSFlfTUlYRUxfTUlQ SV9EUEhZCj4gPiArICAgICAgIHRyaXN0YXRlICJNaXhlbCBNSVBJIERTSSBQSFkgc3VwcG9ydCIK PiA+ICsgICAgICAgZGVwZW5kcyBvbiBPRgo+ID4gKyAgICAgICBzZWxlY3QgR0VORVJJQ19QSFkK PiA+ICsgICAgICAgc2VsZWN0IEdFTkVSSUNfUEhZX01JUElfRFBIWQo+IAo+IFNpbmNlIHlvdSBj b252ZXJ0ZWQgdG8gcmVnbWFwLCBJIGd1ZXNzIHlvdSBuZWVkOgo+IHNlbGVjdCBSRUdNQVBfTU1J TyBub3c/Cj4gCj4gPiArICAgICAgIGhlbHAKPiA+ICsgICAgICAgICBFbmFibGUgdGhpcyB0byBh ZGQgc3VwcG9ydCBmb3IgdGhlIE1peGVsIERTSSBQSFkgYXMgZm91bmQKPiA+ICsgICAgICAgICBv biBOWFAncyBpLk1YOCBmYW1pbHkgb2YgU09Dcy4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Bo eS9mcmVlc2NhbGUvTWFrZWZpbGUgYi9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvTWFrZWZpbGUKPiA+ IGluZGV4IGRjMmIzZjFmMmY4MC4uMDc0OTFjOTI2YTJjIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9waHkvZnJlZXNjYWxlL01ha2VmaWxlCj4gPiArKysgYi9kcml2ZXJzL3BoeS9mcmVlc2NhbGUv TWFrZWZpbGUKPiA+IEBAIC0xICsxLDIgQEAKPiA+ICBvYmotJChDT05GSUdfUEhZX0ZTTF9JTVg4 TVFfVVNCKSAgICAgICArPSBwaHktZnNsLWlteDhtcS11c2Iubwo+ID4gK29iai0kKENPTkZJR19Q SFlfTUlYRUxfTUlQSV9EUEhZKSAgICAgICs9IHBoeS1mc2wtaW14OC1taXBpLWRwaHkubwo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHktZnNsLWlteDgtbWlwaS1kcGh5 LmMgYi9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4LW1pcGktZHBoeS5jCj4gPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi40YjE4MmYyZWFhNmUK PiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2RyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHktZnNs LWlteDgtbWlwaS1kcGh5LmMKPiA+IEBAIC0wLDAgKzEsNDk0IEBACj4gPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjArCj4gPiArLyoKPiA+ICsgKiBDb3B5cmlnaHQgMjAxNywy MDE4IE5YUAo+ID4gKyAqIENvcHlyaWdodCAyMDE5IFB1cmlzbSBTUEMKPiA+ICsgKi8KPiA+ICsK PiA+ICsjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92 aWRlci5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgo+ID4gKyNpbmNsdWRlIDxsaW51 eC9pby5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiA+ICsjaW5jbHVkZSA8bGlu dXgvbW9kdWxlLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L29mLmg+Cj4gPiArI2luY2x1ZGUgPGxp bnV4L29mX3BsYXRmb3JtLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgo+ID4gKyNp bmNsdWRlIDxsaW51eC9waHkvcGh5Lmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2Rl dmljZS5oPgo+ID4gKwo+ID4gKy8qIERQSFkgcmVnaXN0ZXJzICovCj4gPiArI2RlZmluZSBEUEhZ X1BEX0RQSFkgICAgICAgICAgICAgICAgICAgMHgwMAo+ID4gKyNkZWZpbmUgRFBIWV9NX1BSR19I U19QUkVQQVJFICAgICAgICAgIDB4MDQKPiA+ICsjZGVmaW5lIERQSFlfTUNfUFJHX0hTX1BSRVBB UkUgICAgICAgICAweDA4Cj4gPiArI2RlZmluZSBEUEhZX01fUFJHX0hTX1pFUk8gICAgICAgICAg ICAgMHgwYwo+ID4gKyNkZWZpbmUgRFBIWV9NQ19QUkdfSFNfWkVSTyAgICAgICAgICAgIDB4MTAK PiA+ICsjZGVmaW5lIERQSFlfTV9QUkdfSFNfVFJBSUwgICAgICAgICAgICAweDE0Cj4gPiArI2Rl ZmluZSBEUEhZX01DX1BSR19IU19UUkFJTCAgICAgICAgICAgMHgxOAo+ID4gKyNkZWZpbmUgRFBI WV9QRF9QTEwgICAgICAgICAgICAgICAgICAgIDB4MWMKPiA+ICsjZGVmaW5lIERQSFlfVFNUICAg ICAgICAgICAgICAgICAgICAgICAweDIwCj4gPiArI2RlZmluZSBEUEhZX0NOICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDI0Cj4gPiArI2RlZmluZSBEUEhZX0NNICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDI4Cj4gPiArI2RlZmluZSBEUEhZX0NPICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDJjCj4gPiArI2RlZmluZSBEUEhZX0xPQ0sgICAgICAgICAg ICAgICAgICAgICAgMHgzMAo+ID4gKyNkZWZpbmUgRFBIWV9MT0NLX0JZUCAgICAgICAgICAgICAg ICAgIDB4MzQKPiA+ICsjZGVmaW5lIERQSFlfUkVHX0JZUEFTU19QTEwgICAgICAgICAgICAweDRD Cj4gPiArCj4gPiArI2RlZmluZSBNQlBTKHgpICgoeCkgKiAxMDAwMDAwKQo+ID4gKwo+ID4gKyNk ZWZpbmUgREFUQV9SQVRFX01BWF9TUEVFRCBNQlBTKDE1MDApCj4gPiArI2RlZmluZSBEQVRBX1JB VEVfTUlOX1NQRUVEIE1CUFMoODApCj4gPiArCj4gPiArI2RlZmluZSBDTl9CVUYgMHhjYjdhODlj MAo+ID4gKyNkZWZpbmUgQ09fQlVGIDB4NjMKPiA+ICsjZGVmaW5lIENNKHgpICAoICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICsgICAgICAgICAgICAgICAoKHgpIDwgIDMyKT8w eGUwfCgoeCktMTYpIDogICAgIFwKPiAKPiBEb2Vzbid0IGNoZWNrcGF0Y2ggY29tcGxhaW4gYWJv dXQgdGhlIG5lZWQgb2Ygc3BhY2UgYmV0d2VlbiBvcGVyYXRvcnM/Cj4gCj4gPiArICAgICAgICAg ICAgICAgKCh4KSA8ICA2NCk/MHhjMHwoKHgpLTMyKSA6ICAgICBcCj4gPiArICAgICAgICAgICAg ICAgKCh4KSA8IDEyOCk/MHg4MHwoKHgpLTY0KSA6ICAgICBcCj4gPiArICAgICAgICAgICAgICAg KCh4KSAtIDEyOCkpCj4gPiArI2RlZmluZSBDTih4KSAgKCgoeCkgPT0gMSk/MHgxZiA6ICgoKENO X0JVRik+PigoeCktMSkpJjB4MWYpKQo+ID4gKyNkZWZpbmUgQ08oeCkgICgoQ09fQlVGKT4+KDgt KHgpKSYweDMpCj4gPiArCj4gPiArLyogUEhZIHBvd2VyIG9uIGlzIExPV19FTkFCTEUgKi8KPiAK PiBhY3RpdmUgbG93IGlzIHByb2JhYmx5IGEgYmV0dGVyIHRlcm0uCj4gCj4gPiArI2RlZmluZSBQ V1JfT04gMAo+ID4gKyNkZWZpbmUgUFdSX09GRiAgICAgICAgMQo+IAo+ID4gK3N0YXRpYyBpbmxp bmUgdTMyIHBoeV9yZWFkKHN0cnVjdCBwaHkgKnBoeSwgdW5zaWduZWQgaW50IHJlZykKPiAKPiBB ZnRlciB0aGUgY29udmVyc2lvbiB0byByZWdtYXAgdGhpcyBmdW5jdGlvbiBpcyB1bnVzZWQgbm93 IGFuZCB5b3UKPiBzaG91bGQgcmVtb3ZlIGl0Lgo+IAo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZCBw aHlfd3JpdGUoc3RydWN0IHBoeSAqcGh5LCB1MzIgdmFsdWUsIHVuc2lnbmVkIGludCByZWcpCj4g Cj4gTm8gbmVlZCBmb3IgImlubGluZSIuCj4gCj4gTWFrZSBpdCBzdGF0aWMgaW50IGluc3RlYWQu Cj4gCj4gPiArewo+ID4gKyAgICAgICBzdHJ1Y3QgbWl4ZWxfZHBoeV9wcml2ICpwcml2ID0gcGh5 X2dldF9kcnZkYXRhKHBoeSk7Cj4gPiArICAgICAgIGludCByZXQ7Cj4gPiArCj4gPiArICAgICAg IHJldCA9IHJlZ21hcF93cml0ZShwcml2LT5yZWdzLCByZWcsIHZhbHVlKTsKPiAKPiBPciBtYXli ZSBnZXQgcmlkIG9mIHRoaXMgZnVuY3Rpb24gYW5kIHVzZSByZWdtYXBfd3JpdGUoKSBpbnN0ZWFk Lgo+IAo+ID4gKyAgICAgICBmcmVxdWVuY3kgPSByZWZfY2xrICogbnVtZXJhdG9yIC8gKDIgKiBk ZW5vbWluYXRvcik7Cj4gPiArICAgICAgIGRldl9pbmZvKCZwaHktPmRldiwgImZyZXE9JWxkLCBo c19jbGsvcmVmX2Nsaz0lbGQvJWxkIOKpsCAlbGQvJWxkXG4iLAo+IAo+IGRldl9kYmcoKSB3b3Vs ZCBiZSBiZXR0ZXI/Cj4gCj4gPiArICAgICAgICAgICAgICAgIGZyZXF1ZW5jeSwgZHBoeV9vcHRz LT5oc19jbGtfcmF0ZSwgcmVmX2NsaywKPiA+ICsgICAgICAgICAgICAgICAgbnVtZXJhdG9yLCBk ZW5vbWluYXRvcik7Cj4gPiArCj4gPiArICAgICAgIC8qIExQIGNsb2NrIHBlcmlvZCAqLwo+ID4g KyAgICAgICBscF90ID0gMTAwMDAwMDAwMDAwMEwgLyBkcGh5X29wdHMtPmxwX2Nsa19yYXRlOyAv KiBwcyAqLwo+ID4gKyAgICAgICBkZXZfZGJnKCZwaHktPmRldiwgIkxQIGNsb2NrICVsdSwgcGVy aW9kOiAlbHUgcHNcbiIsCj4gPiArICAgICAgICAgICAgICAgZHBoeV9vcHRzLT5scF9jbGtfcmF0 ZSwgbHBfdCk7Cj4gPiArICAgICAgIC8qCj4gPiArICAgICAgICAqICBoc19wcmVwYXJlOiBpbiBs cCBjbG9jayBwZXJpb2RzCj4gPiArICAgICAgICAqLwo+IAo+IFBsZWFzZSB1c2Ugc2luZ2xlIGxp bmUgY29tbWVudCBzdHlsZSBpbnN0ZWFkLgo+IAo+ID4gKyAgICAgICBpZiAoMiAqIGRwaHlfb3B0 cy0+aHNfcHJlcGFyZSA+IDUgKiBscF90KSB7Cj4gPiArICAgICAgICAgICAgICAgZGV2X2Vycigm cGh5LT5kZXYsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAiaHNfcHJlcGFyZSAoJXUpID4g Mi41ICogbHAgY2xvY2sgcGVyaW9kICglbHUpIiwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAg IGRwaHlfb3B0cy0+aHNfcHJlcGFyZSwgbHBfdCk7Cj4gPiArICAgICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7Cj4gPiArICAgICAgIH0KPiA+ICsgICAgICAgLyogMDA6IGxwX3QsIDAxOiAxLjUg KiBscF90LCAxMDogMiAqIGxwX3QsIDExOiAyLjUgKiBscF90ICovCj4gPiArICAgICAgIGlmIChk cGh5X29wdHMtPmhzX3ByZXBhcmUgPCBscF90KQo+ID4gKyAgICAgICAgICAgICAgIG4gPSAwOwo+ ID4gKyAgICAgICBlbHNlCj4gPiArICAgICAgICAgICAgICAgbiA9IDIgKiAoZHBoeV9vcHRzLT5o c19wcmVwYXJlIC0gbHBfdCkgLyBscF90Owo+ID4gKyAgICAgICBjZmctPm1fcHJnX2hzX3ByZXBh cmUgPSBuOwo+ID4gKwo+ID4gKyAgICAgICAvKgo+ID4gKyAgICAgICAgKiBjbGtfcHJlcGFyZTog aW4gbHAgY2xvY2sgcGVyaW9kcwo+ID4gKyAgICAgICAgKi8KPiAKPiBTYW1lIGhlcmUuCj4gCj4g PiArICAgICAgIGlmICgyICogZHBoeV9vcHRzLT5jbGtfcHJlcGFyZSA+IDMgKiBscF90KSB7Cj4g PiArICAgICAgICAgICAgICAgZGV2X2VycigmcGh5LT5kZXYsCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAiY2xrX3ByZXBhcmUgKCV1KSA+IDEuNSAqIGxwIGNsb2NrIHBlcmlvZCAoJWx1KSIs Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBkcGh5X29wdHMtPmNsa19wcmVwYXJlLCBscF90 KTsKPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+ICsgICAgICAgfQo+ID4g KyAgICAgICAvKiAwMDogbHBfdCwgMDE6IDEuNSAqIGxwX3QgKi8KPiA+ICsgICAgICAgY2ZnLT5t Y19wcmdfaHNfcHJlcGFyZSA9IGRwaHlfb3B0cy0+Y2xrX3ByZXBhcmUgPiBscF90ID8gMSA6IDA7 Cj4gPiArCj4gPiArICAgICAgIC8qCj4gPiArICAgICAgICAqIGhzX3plcm86IGZvcnVtdWxhIGZy b20gTlhQIEJTUAo+IAo+IFR5cG86IGZvcm11bGEKPiAKPiA+ICsgICAgICAgICovCj4gPiArICAg ICAgIG4gPSAoMTQ0ICogKGRwaHlfb3B0cy0+aHNfY2xrX3JhdGUgLyAxMDAwMDAwKSAtIDQ3NTAw KSAvIDEwMDAwOwo+ID4gKyAgICAgICBjZmctPm1fcHJnX2hzX3plcm8gPSBuIDwgMSA/IDEgOiBu Owo+ID4gKwo+ID4gKyAgICAgICAvKgo+ID4gKyAgICAgICAgKiBjbGtfemVybzogZm9ydW11bGEg ZnJvbSBOWFAgQlNQCj4gCj4gVHlwbzogZm9ybXVsYQo+IAo+ID4gK3N0YXRpYyBpbnQgbWl4ZWxf ZHBoeV9jb25maWd1cmUoc3RydWN0IHBoeSAqcGh5LCB1bmlvbiBwaHlfY29uZmlndXJlX29wdHMg Km9wdHMpCj4gPiArewo+ID4gKyAgICAgICBzdHJ1Y3QgbWl4ZWxfZHBoeV9wcml2ICpwcml2ID0g cGh5X2dldF9kcnZkYXRhKHBoeSk7Cj4gPiArICAgICAgIHN0cnVjdCBtaXhlbF9kcGh5X2NmZyBj ZmcgPSB7IDAgfTsKPiA+ICsgICAgICAgaW50IHJldDsKPiA+ICsKPiA+ICsgICAgICAgcmV0ID0g bWl4ZWxfZHBoeV9jb25maWdfZnJvbV9vcHRzKHBoeSwgJm9wdHMtPm1pcGlfZHBoeSwgJmNmZyk7 Cj4gPiArICAgICAgIGlmIChyZXQpCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiA+ ICsKPiA+ICsgICAgICAgLyogVXBkYXRlIHRoZSBjb25maWd1cmF0aW9uICovCj4gPiArICAgICAg IG1lbWNweSgmcHJpdi0+Y2ZnLCAmY2ZnLCBzaXplb2Yoc3RydWN0IG1peGVsX2RwaHlfY2ZnKSk7 Cj4gPiArCj4gPiArICAgICAgIGRldl9kYmcoJnBoeS0+ZGV2LCAiVXNpbmcgQ006JXUgQ046JXUg Q086JXVcbiIsCj4gCj4gWW91IGhhdmUgYWxyZWFkeSBwcmludGVkIENNLCBDTiwgQ08gYWJvdmUu IE5vIG5lZWQgdG8gcHJpbnRlZCBhZ2Fpbi4KPiAKPiA+ICtzdGF0aWMgaW50IG1peGVsX2RwaHlf cG93ZXJfb24oc3RydWN0IHBoeSAqcGh5KQo+ID4gK3sKPiA+ICsgICAgICAgc3RydWN0IG1peGVs X2RwaHlfcHJpdiAqcHJpdiA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOwo+ID4gKyAgICAgICB1MzIg bG9ja2VkOwo+ID4gKwo+ID4gKyAgICAgICBjbGtfcHJlcGFyZV9lbmFibGUocHJpdi0+cGh5X3Jl Zl9jbGspOwo+IAo+IGNsa19wcmVwYXJlX2VuYWJsZSgpIG1heSBmYWlsLiBCZXR0ZXIgZG86Cj4g Cj4gcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHByaXYtPnBoeV9yZWZfY2xrKTsKPiBpZiAocmV0 IDwgMCkKPiAgICAgcmV0dXJuIHJldDsKPiAKPiA+ICsKPiA+ICsgICAgICAgcGh5X3dyaXRlKHBo eSwgUFdSX09OLCBEUEhZX1BEX0RQSFkpOwo+ID4gKyAgICAgICBwaHlfd3JpdGUocGh5LCBQV1Jf T04sIERQSFlfUERfUExMKTsKPiA+ICsKPiA+ICsgICAgICAgaWYgKHJlZ21hcF9yZWFkX3BvbGxf dGltZW91dChwcml2LT5yZWdzLCBEUEhZX0xPQ0ssIGxvY2tlZCwKPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsb2NrZWQsIDEwLCAxMDAwKSA8IDApIHsKPiA+ICsgICAg ICAgICAgICAgICBkZXZfZXJyKCZwaHktPmRldiwgIkNvdWxkIG5vdCBnZXQgRFBIWSBsb2NrIVxu Iik7Cj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gCj4gUGxlYXNlIGFkZCBk ZWZpbmVzIGZvciAxMCBhbmQgMTAwMC4KPiAKPiBCZXR0ZXIgcHJvcGFnYXRlIHRoZSByZWFsIGVy cm9yIHZhbHVlIGhlcmU6Cj4gCj4gcmV0ID0gcmVnbWFwX3JlYWRfcG9sbF90aW1lb3V0KC4uLikK PiBpZiAocmV0KSB7Cj4gICAgZGV2X2VycigpOwo+ICAgIGdvdG8gY2xvY2tfZGlzYWJsZQo+IH0K PiAKPiA+ICsgICAgICAgcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VS Q0VfTUVNLCAwKTsKPiA+ICsgICAgICAgaWYgKCFyZXMpCj4gPiArICAgICAgICAgICAgICAgcmV0 dXJuIC1FTk9ERVY7Cj4gCj4gWW91IGNhbiByZW1vdmUgdGhlIE5VTEwgY2hlY2sgLi4uCj4gCj4g PiArCj4gPiArICAgICAgIHJlZ3MgPSBkZXZtX2lvcmVtYXAoZGV2LCByZXMtPnN0YXJ0LCByZXNv dXJjZV9zaXplKHJlcykpOwo+IAo+IElmIHlvdSB1c2UgZGV2bV9pb3JlbWFwX3Jlc291cmNlKCkg aW5zdGVhZC4KPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LWFybS1rZXJuZWwK