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=-4.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,FROM_EXCESS_BASE64,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED 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 58216C3A5A6 for ; Thu, 19 Sep 2019 15:09:16 +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 1C82A21848 for ; Thu, 19 Sep 2019 15:09:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Z0Jzbq0D" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1C82A21848 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=siol.net 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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=FYFLP5JmoAf/Cp47g0UOA8dqL24GpGRg6nbiGlVAUAU=; b=Z0Jzbq0DSOygVq MkAWxMJVtlczyVLGQJhFSBUR/o66lUTAyYX+CGpj+f01GEf5unIvCn33EGi1HSyLrRFMv6uDIoFDV jdYfz84KtHhLdG8orPYxL5UifX/LHvJElAVQEDbVHVvi4WQPTj0VuCQwUQkN5SDd7H1+8X0hLjZ9l 29b90rw3ByLKN6Z8BzPY+eVGrjnLPGqyIwNZ2vyuiVF+m/9A9r/+1977aQwLJ+11y43Oqlnv0lECM 3B7NaHjskCMPhjxy3pywwYohwb+HhVmIl2R4Q8n9hcL7mzptuZTjT1/UF9HyU1EUh4NHZbH8PiyIN CrnIP+nECohpZNPTh+wA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux)) id 1iAy3W-0005hz-VE; Thu, 19 Sep 2019 15:09:15 +0000 Received: from mailoutvs12.siol.net ([185.57.226.203] helo=mail.siol.net) by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux)) id 1iAy2l-0005Vq-Ua; Thu, 19 Sep 2019 15:08:31 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTP id 9783A52321B; Thu, 19 Sep 2019 17:08:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at psrvmta09.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta09.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id qXh4faEEmrjJ; Thu, 19 Sep 2019 17:08:15 +0200 (CEST) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTPS id CD1F6523266; Thu, 19 Sep 2019 17:08:14 +0200 (CEST) Received: from jernej-laptop.localnet (cpe-86-58-59-25.static.triera.net [86.58.59.25]) (Authenticated sender: jernej.skrabec@siol.net) by mail.siol.net (Postfix) with ESMTPA id 1BCEA52321B; Thu, 19 Sep 2019 17:08:10 +0200 (CEST) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: Cheng-Yi Chiang Subject: Re: [PATCH v7 3/4] ASoC: rockchip_max98090: Add dai_link for HDMI Date: Thu, 19 Sep 2019 17:08:09 +0200 Message-ID: <1660944.WuPFEyXK2U@jernej-laptop> In-Reply-To: <20190919135450.62309-4-cychiang@chromium.org> References: <20190919135450.62309-1-cychiang@chromium.org> <20190919135450.62309-4-cychiang@chromium.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190919_080828_418803_89354F04 X-CRM114-Status: GOOD ( 16.53 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alsa-devel@alsa-project.org, Heiko Stuebner , Neil Armstrong , David Airlie , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Hans Verkuil , Andrzej Hajda , Laurent Pinchart , Jerome Brunet , Takashi Iwai , linux-rockchip@lists.infradead.org, dgreid@chromium.org, tzungbi@chromium.org, Jonas Karlman , Liam Girdwood , Russell King , Mark Brown , Jaroslav Kysela , linux-arm-kernel@lists.infradead.org, dianders@chromium.org, Daniel Vetter 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 SGkhCgpEbmUgxI1ldHJ0ZWssIDE5LiBzZXB0ZW1iZXIgMjAxOSBvYiAxNTo1NDo0OSBDRVNUIGpl IENoZW5nLVlpIENoaWFuZyAKbmFwaXNhbChhKToKPiBVc2UgdHdvIGRhaV9saW5rcy4gT25lIGZv ciBIRE1JIGFuZCBvbmUgZm9yIG1heDk4MDkwLgo+IFdpdGggdGhpcyBzZXR1cCwgYXVkaW8gY2Fu IHBsYXkgdG8gc3BlYWtlciBhbmQgSERNSSBzZWxlY3RpdmVseS4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBDaGVuZy1ZaSBDaGlhbmcgPGN5Y2hpYW5nQGNocm9taXVtLm9yZz4KPiAtLS0KPiAgLi4uL2Jv b3QvZHRzL3JrMzI4OC12ZXlyb24tYW5hbG9nLWF1ZGlvLmR0c2kgIHwgICAxICsKPiAgc291bmQv c29jL3JvY2tjaGlwL3JvY2tjaGlwX21heDk4MDkwLmMgICAgICAgIHwgMTI5ICsrKysrKysrKysr KysrLS0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9kdHMvcmszMjg4LXZleXJvbi1h bmFsb2ctYXVkaW8uZHRzaQo+IGIvYXJjaC9hcm0vYm9vdC9kdHMvcmszMjg4LXZleXJvbi1hbmFs b2ctYXVkaW8uZHRzaSBpbmRleAo+IDQ0NTI3MGFhMTM2ZS4uNTEyMDhkMTYxZDY1IDEwMDY0NAo+ IC0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL3JrMzI4OC12ZXlyb24tYW5hbG9nLWF1ZGlvLmR0c2kK PiArKysgYi9hcmNoL2FybS9ib290L2R0cy9yazMyODgtdmV5cm9uLWFuYWxvZy1hdWRpby5kdHNp Cj4gQEAgLTE3LDYgKzE3LDcgQEAKPiAgCQlyb2NrY2hpcCxocC1kZXQtZ3Bpb3MgPSA8JmdwaW82 IFJLX1BBNSAKR1BJT19BQ1RJVkVfSElHSD47Cj4gIAkJcm9ja2NoaXAsbWljLWRldC1ncGlvcyA9 IDwmZ3BpbzYgUktfUEIzIApHUElPX0FDVElWRV9MT1c+Owo+ICAJCXJvY2tjaGlwLGhlYWRzZXQt Y29kZWMgPSA8JmhlYWRzZXRjb2RlYz47Cj4gKwkJcm9ja2NoaXAsaGRtaS1jb2RlYyA9IDwmaGRt aT47Cj4gIAl9Owo+ICB9Owo+IAo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvcm9ja2NoaXAvcm9j a2NoaXBfbWF4OTgwOTAuYwo+IGIvc291bmQvc29jL3JvY2tjaGlwL3JvY2tjaGlwX21heDk4MDkw LmMgaW5kZXggYzVmYzI0Njc1YTMzLi42YzIxNzQ5MmJiMzAKPiAxMDA2NDQKPiAtLS0gYS9zb3Vu ZC9zb2Mvcm9ja2NoaXAvcm9ja2NoaXBfbWF4OTgwOTAuYwo+ICsrKyBiL3NvdW5kL3NvYy9yb2Nr Y2hpcC9yb2NrY2hpcF9tYXg5ODA5MC5jCj4gQEAgLTExLDYgKzExLDcgQEAKPiAgI2luY2x1ZGUg PGxpbnV4L2dwaW8uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29mX2dwaW8uaD4KPiAgI2luY2x1ZGUg PHNvdW5kL2NvcmUuaD4KPiArI2luY2x1ZGUgPHNvdW5kL2hkbWktY29kZWMuaD4KPiAgI2luY2x1 ZGUgPHNvdW5kL2phY2suaD4KPiAgI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgo+ICAjaW5jbHVkZSA8 c291bmQvcGNtX3BhcmFtcy5oPgo+IEBAIC00MSw2ICs0Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgc25kX3NvY19kYXBtX3dpZGdldCBya19kYXBtX3dpZGdldHNbXQo+ID0geyBTTkRfU09DX0RB UE1fTUlDKCJIZWFkc2V0IE1pYyIsIE5VTEwpLAo+ICAJU05EX1NPQ19EQVBNX01JQygiSW50IE1p YyIsIE5VTEwpLAo+ICAJU05EX1NPQ19EQVBNX1NQSygiU3BlYWtlciIsIE5VTEwpLAo+ICsJU05E X1NPQ19EQVBNX0xJTkUoIkhETUkiLCBOVUxMKSwKPiAgfTsKPiAKPiAgc3RhdGljIGNvbnN0IHN0 cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgcmtfYXVkaW9fbWFwW10gPSB7Cj4gQEAgLTUyLDYgKzU0 LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgcmtfYXVkaW9fbWFw W10gPSB7Cj4gIAl7IkhlYWRwaG9uZSIsIE5VTEwsICJIUFIifSwKPiAgCXsiU3BlYWtlciIsIE5V TEwsICJTUEtMIn0sCj4gIAl7IlNwZWFrZXIiLCBOVUxMLCAiU1BLUiJ9LAo+ICsJeyJIRE1JIiwg TlVMTCwgIlRYIn0sCj4gIH07Cj4gCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9s X25ldyBya19tY19jb250cm9sc1tdID0gewo+IEBAIC01OSw2ICs2Miw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBya19tY19jb250cm9sc1tdID0gewo+ICAJU09DX0RB UE1fUElOX1NXSVRDSCgiSGVhZHNldCBNaWMiKSwKPiAgCVNPQ19EQVBNX1BJTl9TV0lUQ0goIklu dCBNaWMiKSwKPiAgCVNPQ19EQVBNX1BJTl9TV0lUQ0goIlNwZWFrZXIiKSwKPiArCVNPQ19EQVBN X1BJTl9TV0lUQ0goIkhETUkiKSwKPiAgfTsKPiAKPiAgc3RhdGljIGludCBya19haWYxX2h3X3Bh cmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKPiBAQCAtOTIsMzggKzk2 LDYzIEBAIHN0YXRpYyBpbnQgcmtfYWlmMV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3Ry ZWFtCj4gKnN1YnN0cmVhbSwKPiAKPiAgCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1 X2RhaSwgMCwgbWNsaywKPiAgCQkJCSAgICAgU05EX1NPQ19DTE9DS19PVVQpOwo+IC0JaWYgKHJl dCA8IDApIHsKPiAtCQlkZXZfZXJyKGNvZGVjX2RhaS0+ZGV2LCAiQ2FuJ3Qgc2V0IGNvZGVjIGNs b2NrICVkXG4iLCAKcmV0KTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKGNwdV9kYWktPmRl diwgIkNhbid0IHNldCBjcHUgZGFpIGNsb2NrICVkXG4iLCAKcmV0KTsKPiAgCQlyZXR1cm4gcmV0 Owo+ICAJfQo+IAo+ICsJLyogSERNSSBjb2RlYyBkYWkgZG9lcyBub3QgbmVlZCB0byBzZXQgc3lz Y2xrLiAqLwo+ICsJaWYgKCFzdHJjbXAocnRkLT5kYWlfbGluay0+bmFtZSwgIkhETUkiKSkKPiAr CQlyZXR1cm4gMDsKPiArCj4gIAlyZXQgPSBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2Rh aSwgMCwgbWNsaywKPiAgCQkJCSAgICAgU05EX1NPQ19DTE9DS19JTik7Cj4gLQlpZiAocmV0IDwg MCkgewo+IC0JCWRldl9lcnIoY29kZWNfZGFpLT5kZXYsICJDYW4ndCBzZXQgY29kZWMgY2xvY2sg JWRcbiIsIApyZXQpOwo+ICsJaWYgKHJldCkgewo+ICsJCWRldl9lcnIoY29kZWNfZGFpLT5kZXYs ICJDYW4ndCBzZXQgY29kZWMgZGFpIGNsb2NrIAolZFxuIiwgcmV0KTsKPiAgCQlyZXR1cm4gcmV0 Owo+ICAJfQo+IAo+IC0JcmV0dXJuIHJldDsKPiArCXJldHVybiAwOwo+ICB9Cj4gCj4gIHN0YXRp YyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19vcHMgcmtfYWlmMV9vcHMgPSB7Cj4gIAkuaHdfcGFyYW1z ID0gcmtfYWlmMV9od19wYXJhbXMsCj4gIH07Cj4gCj4gLVNORF9TT0NfREFJTElOS19ERUZTKGhp ZmksCj4gLQlEQUlMSU5LX0NPTVBfQVJSQVkoQ09NUF9FTVBUWSgpKSwKPiAtCURBSUxJTktfQ09N UF9BUlJBWShDT01QX0NPREVDKE5VTEwsICJIaUZpIikpLAo+IC0JREFJTElOS19DT01QX0FSUkFZ KENPTVBfRU1QVFkoKSkpOwo+IC0KPiAtc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaV9saW5rIHJr X2RhaWxpbmsgPSB7Cj4gLQkubmFtZSA9ICJtYXg5ODA5MCIsCj4gLQkuc3RyZWFtX25hbWUgPSAi QXVkaW8iLAo+IC0JLm9wcyA9ICZya19haWYxX29wcywKPiAtCS8qIHNldCBtYXg5ODA5MCBhcyBz bGF2ZSAqLwo+IC0JLmRhaV9mbXQgPSBTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZN VF9OQl9ORiB8Cj4gLQkJU05EX1NPQ19EQUlGTVRfQ0JTX0NGUywKPiAtCVNORF9TT0NfREFJTElO S19SRUcoaGlmaSksCj4gK1NORF9TT0NfREFJTElOS19ERUZTKGFuYWxvZywKPiArCQkgICAgIERB SUxJTktfQ09NUF9BUlJBWShDT01QX0VNUFRZKCkpLAo+ICsJCSAgICAgREFJTElOS19DT01QX0FS UkFZKENPTVBfQ09ERUMoTlVMTCwgIkhpRmkiKSksCj4gKwkJICAgICBEQUlMSU5LX0NPTVBfQVJS QVkoQ09NUF9FTVBUWSgpKSk7Cj4gKwo+ICtTTkRfU09DX0RBSUxJTktfREVGUyhoZG1pLAo+ICsJ CSAgICAgREFJTElOS19DT01QX0FSUkFZKENPTVBfRU1QVFkoKSksCj4gKwkJICAgICBEQUlMSU5L X0NPTVBfQVJSQVkoQ09NUF9DT0RFQyhOVUxMLCAiaTJzLWhpZmkiKSksCj4gKwkJICAgICBEQUlM SU5LX0NPTVBfQVJSQVkoQ09NUF9FTVBUWSgpKSk7Cj4gKwo+ICtlbnVtIHsKPiArCURBSUxJTktf TUFYOTgwOTAsCj4gKwlEQUlMSU5LX0hETUksCj4gK307Cj4gKwo+ICsvKiBtYXg5ODA5MCBhbmQg SERNSSBjb2RlYyBkYWlfbGluayAqLwo+ICtzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsg cmtfZGFpbGlua3NbXSA9IHsKPiArCVtEQUlMSU5LX01BWDk4MDkwXSA9IHsKPiArCQkubmFtZSA9 ICJtYXg5ODA5MCIsCj4gKwkJLnN0cmVhbV9uYW1lID0gIkFuYWxvZyIsCj4gKwkJLm9wcyA9ICZy a19haWYxX29wcywKPiArCQkvKiBzZXQgbWF4OTgwOTAgYXMgc2xhdmUgKi8KPiArCQkuZGFpX2Zt dCA9IFNORF9TT0NfREFJRk1UX0kyUyB8IFNORF9TT0NfREFJRk1UX05CX05GIHwKPiArCQkJU05E X1NPQ19EQUlGTVRfQ0JTX0NGUywKPiArCQlTTkRfU09DX0RBSUxJTktfUkVHKGFuYWxvZyksCj4g Kwl9LAo+ICsJW0RBSUxJTktfSERNSV0gPSB7Cj4gKwkJLm5hbWUgPSAiSERNSSIsCj4gKwkJLnN0 cmVhbV9uYW1lID0gIkhETUkiLAo+ICsJCS5vcHMgPSAmcmtfYWlmMV9vcHMsCj4gKwkJLmRhaV9m bXQgPSBTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9OQl9ORiB8Cj4gKwkJCVNO RF9TT0NfREFJRk1UX0NCU19DRlMsCj4gKwkJU05EX1NPQ19EQUlMSU5LX1JFRyhoZG1pKSwKPiAr CX0KPiAgfTsKPiAKPiAgc3RhdGljIGludCBya185ODA5MF9oZWFkc2V0X2luaXQoc3RydWN0IHNu ZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQpOwo+IEBAIC0xMzYsOCArMTY1LDggQEAgc3RhdGlj IHN0cnVjdCBzbmRfc29jX2F1eF9kZXYgcmtfOTgwOTBfaGVhZHNldF9kZXYgPSB7Cj4gIHN0YXRp YyBzdHJ1Y3Qgc25kX3NvY19jYXJkIHNuZF9zb2NfY2FyZF9yayA9IHsKPiAgCS5uYW1lID0gIlJP Q0tDSElQLUkyUyIsCj4gIAkub3duZXIgPSBUSElTX01PRFVMRSwKPiAtCS5kYWlfbGluayA9ICZy a19kYWlsaW5rLAo+IC0JLm51bV9saW5rcyA9IDEsCj4gKwkuZGFpX2xpbmsgPSBya19kYWlsaW5r cywKPiArCS5udW1fbGlua3MgPSBBUlJBWV9TSVpFKHJrX2RhaWxpbmtzKSwKPiAgCS5hdXhfZGV2 ID0gJnJrXzk4MDkwX2hlYWRzZXRfZGV2LAo+ICAJLm51bV9hdXhfZGV2cyA9IDEsCj4gIAkuZGFw bV93aWRnZXRzID0gcmtfZGFwbV93aWRnZXRzLAo+IEBAIC0xNzMsMjcgKzIwMiw3MyBAQCBzdGF0 aWMgaW50IHNuZF9ya19tY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlCj4gKnBkZXYpIGlu dCByZXQgPSAwOwo+ICAJc3RydWN0IHNuZF9zb2NfY2FyZCAqY2FyZCA9ICZzbmRfc29jX2NhcmRf cms7Cj4gIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gcGRldi0+ZGV2Lm9mX25vZGU7Cj4gKwlz dHJ1Y3QgZGV2aWNlX25vZGUgKm5wX2FuYWxvZzsKPiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnBf Y3B1Owo+ICsJc3RydWN0IGRldmljZV9ub2RlICpucF9oZG1pX2NvZGVjOwo+ICsJc3RydWN0IG9m X3BoYW5kbGVfYXJncyBhcmdzOwo+IAo+ICAJLyogcmVnaXN0ZXIgdGhlIHNvYyBjYXJkICovCj4g IAljYXJkLT5kZXYgPSAmcGRldi0+ZGV2Owo+IAo+IC0JcmtfZGFpbGluay5jb2RlY3MtPm9mX25v ZGUgPSBvZl9wYXJzZV9waGFuZGxlKG5wLAo+IC0JCQkicm9ja2NoaXAsYXVkaW8tY29kZWMiLCAw KTsKPiAtCWlmICghcmtfZGFpbGluay5jb2RlY3MtPm9mX25vZGUpIHsKPiArCW5wX2FuYWxvZyA9 IG9mX3BhcnNlX3BoYW5kbGUobnAsICJyb2NrY2hpcCxhdWRpby1jb2RlYyIsIDApOwo+ICsJaWYg KCFucF9hbmFsb2cpIHsKPiAgCQlkZXZfZXJyKCZwZGV2LT5kZXYsCj4gIAkJCSJQcm9wZXJ0eSAn cm9ja2NoaXAsYXVkaW8tY29kZWMnIG1pc3Npbmcgb3IgCmludmFsaWRcbiIpOwo+ICAJCXJldHVy biAtRUlOVkFMOwo+ICAJfQo+ICsJcmtfZGFpbGlua3NbREFJTElOS19NQVg5ODA5MF0uY29kZWNz LT5vZl9ub2RlID0gbnBfYW5hbG9nOwo+ICsKPiArCXJldCA9IG9mX3BhcnNlX3BoYW5kbGVfd2l0 aF9maXhlZF9hcmdzKG5wLCAicm9ja2NoaXAsYXVkaW8tY29kZWMiLAo+ICsJCQkJCSAgICAgICAw LCAwLCAmYXJncyk7Cj4gKwlpZiAocmV0KSB7Cj4gKwkJZGV2X2VycigmcGRldi0+ZGV2LAo+ICsJ CQkiVW5hYmxlIHRvIHBhcnNlIHByb3BlcnR5ICdyb2NrY2hpcCxhdWRpby0KY29kZWMnXG4iKTsK PiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCXJldCA9IHNuZF9zb2NfZ2V0X2RhaV9uYW1l KAo+ICsJCQkmYXJncywgJnJrX2RhaWxpbmtzW0RBSUxJTktfTUFYOTgwOTBdLmNvZGVjcy0KPmRh aV9uYW1lKTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJVbmFibGUg dG8gZ2V0IGNvZGVjIGRhaV9uYW1lXG4iKTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiAr CW5wX2NwdSA9IG9mX3BhcnNlX3BoYW5kbGUobnAsICJyb2NrY2hpcCxpMnMtY29udHJvbGxlciIs IDApOwo+IAo+IC0JcmtfZGFpbGluay5jcHVzLT5vZl9ub2RlID0gb2ZfcGFyc2VfcGhhbmRsZShu cCwKPiAtCQkJInJvY2tjaGlwLGkycy1jb250cm9sbGVyIiwgMCk7Cj4gLQlpZiAoIXJrX2RhaWxp bmsuY3B1cy0+b2Zfbm9kZSkgewo+ICsJaWYgKCFucF9jcHUpIHsKPiAgCQlkZXZfZXJyKCZwZGV2 LT5kZXYsCj4gIAkJCSJQcm9wZXJ0eSAncm9ja2NoaXAsaTJzLWNvbnRyb2xsZXInIG1pc3Npbmcg Cm9yIGludmFsaWRcbiIpOwo+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAJfQo+IAo+IC0JcmtfZGFp bGluay5wbGF0Zm9ybXMtPm9mX25vZGUgPSBya19kYWlsaW5rLmNwdXMtPm9mX25vZGU7Cj4gKwlu cF9oZG1pX2NvZGVjID0gb2ZfcGFyc2VfcGhhbmRsZShucCwgInJvY2tjaGlwLGhkbWktY29kZWMi LCAwKTsKPiArCWlmICghbnBfaGRtaV9jb2RlYykgewo+ICsJCWRldl9lcnIoJnBkZXYtPmRldiwK PiArCQkJIlByb3BlcnR5ICdyb2NrY2hpcCxoZG1pLWNvZGVjJyBtaXNzaW5nIG9yIAppbnZhbGlk XG4iKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KClByb3BlcnR5ICJyb2NrY2hpcCxoZG1p LWNvZGVjIiBpcyBhZGRlZCBpbiB0aGlzIHNlcmllcywgcmlnaHQ/IFlvdSBjYW4ndCBtYWtlIApp dCBtYW5kYXRvcnksIGJlY2F1c2Uga2VybmVsIG11c3QgYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3 aXRoIG9sZCBkZXZpY2UgdHJlZSAKZmlsZXMgYW5kIHRoZXkgZG9uJ3QgaGF2ZSB0aGlzIHByb3Bl cnR5LgoKVGhpbmsgYWJvdXQgdXNlIGNhc2Ugd2hlbiB1c2VyIGhhcHBpbHkgdXNlZCB0aGlzIGRy aXZlciBhbmQgYWZ0ZXIga2VybmVsIAp1cGRhdGUsIGl0IHN1ZGRlbmx5IHN0b3BzIHdvcmtpbmcu IFlvdSBjYW4ndCBhc3N1bWUgdGhhdCBib2FyZCBEVEIgZmlsZSB3aWxsIGJlIAp1cGRhdGVkIGFs b25nIHdpdGgga2VybmVsIHVwZGF0ZS4KCkp1c3QgbWFrZSBpdCBvcHRpb25hbCBhbmQgZG9uJ3Qg ZXhwb3NlIGphY2sgZnVuY3Rpb25hbGl0eSBpZiBpdCdzIG5vdCBwcmVzZW50LgoKQmVzdCByZWdh cmRzLApKZXJuZWoKCj4gKwo+ICsJcmtfZGFpbGlua3NbREFJTElOS19IRE1JXS5jb2RlY3MtPm9m X25vZGUgPSBucF9oZG1pX2NvZGVjOwo+ICsKPiArCXJldCA9IG9mX3BhcnNlX3BoYW5kbGVfd2l0 aF9maXhlZF9hcmdzKG5wLCAicm9ja2NoaXAsaGRtaS1jb2RlYyIsCj4gKwkJCQkJICAgICAgIDAs IDAsICZhcmdzKTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYsCj4gKwkJ CSJVbmFibGUgdG8gcGFyc2UgcHJvcGVydHkgJ3JvY2tjaGlwLGhkbWktCmNvZGVjJ1xuIik7Cj4g KwkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gKwlyZXQgPSBzbmRfc29jX2dldF9kYWlfbmFtZSgK PiArCQkJJmFyZ3MsICZya19kYWlsaW5rc1tEQUlMSU5LX0hETUldLmNvZGVjcy0KPmRhaV9uYW1l KTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJVbmFibGUgdG8gZ2V0 IGhkbWkgY29kZWMgCmRhaV9uYW1lXG4iKTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiAr CXJrX2RhaWxpbmtzW0RBSUxJTktfTUFYOTgwOTBdLmNwdXMtPm9mX25vZGUgPSBucF9jcHU7Cj4g Kwlya19kYWlsaW5rc1tEQUlMSU5LX01BWDk4MDkwXS5wbGF0Zm9ybXMtPm9mX25vZGUgPSBucF9j cHU7Cj4gKwlya19kYWlsaW5rc1tEQUlMSU5LX0hETUldLmNwdXMtPm9mX25vZGUgPSBucF9jcHU7 Cj4gKwlya19kYWlsaW5rc1tEQUlMSU5LX0hETUldLnBsYXRmb3Jtcy0+b2Zfbm9kZSA9IG5wX2Nw dTsKPiAKPiAgCXJrXzk4MDkwX2hlYWRzZXRfZGV2LmNvZGVjX29mX25vZGUgPSBvZl9wYXJzZV9w aGFuZGxlKG5wLAo+ICAJCQkicm9ja2NoaXAsaGVhZHNldC1jb2RlYyIsIDApOwoKCgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK