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=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS 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 E0EB2C10F0E for ; Mon, 15 Apr 2019 20:07:36 +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 ACB3120854 for ; Mon, 15 Apr 2019 20:07:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="nsFvRJ2w"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="krUKFgf9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ACB3120854 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.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:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=wOoPBPZEDn4EMuvnvqOfst/Aqa0zpeLi0xiwj2LMD5g=; b=nsFvRJ2wSYkMeJ ENhtpmxpRtELf2dPB2E50L0Gykwq2YAuHgUXl7VudFzgntgniY2CmPgOIn+JNipv5AKLhs+ogwB4h MBuMcEejsFP0pqRjAMzFWnJzI+DjsIOi7W8SmcLAWrFif11raBapGTtgRZfTml9vh6Rv0D5S7HIyG LzWs4s4f41eqBDPXKf/oj5a5nEuXA8wI68h8q/kq1b9nf4i3na8h55GiPWfMIR5bcO856WGOBhOYb bXOthRl6S4ed0SaH5vtmIALeSpItDmjVA7KyX14Tj1CNSV5bhBUsrmnOYbt6DkW3hCyhsOranqBdO 1n1Vzdlc8yq8wb6n+rXA==; 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 1hG7sz-0000e5-2o; Mon, 15 Apr 2019 20:07:25 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hG7sv-0000dj-FO for linux-arm-kernel@lists.infradead.org; Mon, 15 Apr 2019 20:07:23 +0000 Received: by mail-wr1-x441.google.com with SMTP id s15so23547234wra.12 for ; Mon, 15 Apr 2019 13:07:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=KE5M9cPNUm9KFk3zKjzkoab+gnX1jSXIXATLx0bvMG8=; b=krUKFgf9omSh1ebeycBG1V+85ZNipDGDPPfbI7rWagkv6xR2mLB3pwZ44lU9pWBiI6 rszVZXVVkD43Iwb4dCS5x6i2bYYyeBDHNWXK7sICfbzI7OuMMzHYCV3KfthEPWi94oye fbVKtBZhdtq7y6QiLpwM54XQ0tiqZLH0ERdHipAHUrjzGYhwtMRMxrtBk0k/E+1/BtkK iKKYW168qnyFnpYjLqtGhXi2bYncsK8z1WMzE1x9SfTaKcGh6tpHX5RLnIIvMYh5cPsN pWyf9s+hUMrvHU5yc2nx6kPv+oi7YndaI4lTPwEz1EgV/BKtPf92cOefRQT3YDIoXiyd HYhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=KE5M9cPNUm9KFk3zKjzkoab+gnX1jSXIXATLx0bvMG8=; b=sDs3dU1Nf5aLf/A11oS5xyKZ0x7tOwCa/WLdSoRnoq7VlGRLvhqfIU9ZONPw7fNtqq JFm5gl8luc1BzUPEESnsteoxUKgs8zklcjnLLhSbU3pdMfRdUfV+s/HqDZUz35VBfOHy 62Q/wEt6ZuWZWuzr2R6NBD1yEvtkM+0aAJUUiyp5n42PXz2wbLlfn9D5JlFTtYRBvh5/ uNvuoqzuYloD6O2GP5mAmdjg+zqXbEg9GmkSl25I+ruR5Ix2g0Woh9y/rTLukGbdTGFV zbqPOeuYeQj2+iBzE/SQp8c6RhIHkg8BAg1h3CNCpjslrfltE8pgjnIYcYtsERLdUvs/ Hq+A== X-Gm-Message-State: APjAAAXwC167wwu8ork793jK6AYhkZh/RK2DbekzhmNqFSjPGif9WrKh r9jhv4SFCseOYcDJCmVYycGsWA== X-Google-Smtp-Source: APXvYqxLEqVMm0h/IWuv8KV9NbC/Rq6vYzgRf/6Tf7e2suJeMetzjUZ2wA1ikk5+x+OkUOePeyC/sw== X-Received: by 2002:adf:ed86:: with SMTP id c6mr48595366wro.146.1555358839124; Mon, 15 Apr 2019 13:07:19 -0700 (PDT) Received: from [192.168.0.41] (4.112.130.77.rev.sfr.net. [77.130.112.4]) by smtp.googlemail.com with ESMTPSA id z14sm72752810wrv.78.2019.04.15.13.07.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Apr 2019 13:07:18 -0700 (PDT) Subject: Re: [PATCH RESEND V11 2/4] thermal: imx_sc: add i.MX system controller thermal support To: Anson Huang , "robh+dt@kernel.org" , "mark.rutland@arm.com" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" , "kernel@pengutronix.de" , "festevam@gmail.com" , "catalin.marinas@arm.com" , "will.deacon@arm.com" , "rui.zhang@intel.com" , "edubezval@gmail.com" , Aisheng Dong , "ulf.hansson@linaro.org" , Peng Fan , Daniel Baluta , "horms+renesas@verge.net.au" , "heiko@sntech.de" , Andy Gross , "maxime.ripard@bootlin.com" , "bjorn.andersson@linaro.org" , "jagan@amarulasolutions.com" , "enric.balletbo@collabora.com" , "ezequiel@collabora.com" , "stefan.wahren@i2se.com" , "marc.w.gonzalez@free.fr" , "olof@lixom.net" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-pm@vger.kernel.org" References: <1554881866-26333-1-git-send-email-Anson.Huang@nxp.com> <1554881866-26333-2-git-send-email-Anson.Huang@nxp.com> From: Daniel Lezcano Message-ID: Date: Mon, 15 Apr 2019 22:07:15 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <1554881866-26333-2-git-send-email-Anson.Huang@nxp.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190415_130721_520248_6961581C X-CRM114-Status: GOOD ( 29.88 ) 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: dl-linux-imx 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 T24gMTAvMDQvMjAxOSAwOTo0MywgQW5zb24gSHVhbmcgd3JvdGU6Cj4gaS5NWDhRWFAgaXMgYW4g QVJNdjggU29DIHdoaWNoIGhhcyBhIENvcnRleC1NNCBzeXN0ZW0gY29udHJvbGxlcgo+IGluc2lk ZSwgdGhlIHN5c3RlbSBjb250cm9sbGVyIGlzIGluIGNoYXJnZSBvZiBjb250cm9sbGluZyBwb3dl ciwKPiBjbG9jayBhbmQgdGhlcm1hbCBzZW5zb3JzIGV0Yy4uCj4gCj4gVGhpcyBwYXRjaCBhZGRz IGkuTVggc3lzdGVtIGNvbnRyb2xsZXIgdGhlcm1hbCBkcml2ZXIgc3VwcG9ydCwKPiBMaW51eCBr ZXJuZWwgaGFzIHRvIGNvbW11bmljYXRlIHdpdGggc3lzdGVtIGNvbnRyb2xsZXIgdmlhIE1VCj4g KG1lc3NhZ2UgdW5pdCkgSVBDIHRvIGdldCBlYWNoIHRoZXJtYWwgc2Vuc29yJ3MgdGVtcGVyYXR1 cmUsCj4gaXQgc3VwcG9ydHMgbXVsdGlwbGUgc2Vuc29ycyB3aGljaCBhcmUgcGFzc2VkIGZyb20g ZGV2aWNlIHRyZWUsCj4gcGxlYXNlIHNlZSB0aGUgYmluZGluZyBkb2MgZm9yIGRldGFpbHMuCj4g Cj4gU2lnbmVkLW9mZi1ieTogQW5zb24gSHVhbmcgPEFuc29uLkh1YW5nQG54cC5jb20+Cj4gLS0t Cj4gQ2hhbmdlcyBzaW5jZSBWMTA6Cj4gCS0gcmVtb3ZlICJpbXgsc2Vuc29yLXJlc291cmNlLWlk IiBwcm9wZXJ0eSwgcHV0IHRoZSBIVyByZXNvdXJjZSBJRCBpbnNpZGUgdGhlcm1hbC16b25lcyBu b2RlLAo+IAkgIGFuZCBkcml2ZXIgbmVlZHMgdG8gcGFyc2UgdGhlIHBoYW5kbGUgYXJndW1lbnQg dG8gZ2V0IEhXIHJlc291cmNlIElEIGFuZCB1c2UgaXQgdG8gcmVnaXN0ZXIKPiAJICB0aGVybWFs IHpvbmUuCj4gLS0tCj4gIGRyaXZlcnMvdGhlcm1hbC9LY29uZmlnICAgICAgICAgIHwgIDExICsr Kwo+ICBkcml2ZXJzL3RoZXJtYWwvTWFrZWZpbGUgICAgICAgICB8ICAgMSArCj4gIGRyaXZlcnMv dGhlcm1hbC9pbXhfc2NfdGhlcm1hbC5jIHwgMTU5ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDE3MSBpbnNlcnRpb25zKCspCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3RoZXJtYWwvaW14X3NjX3RoZXJtYWwuYwo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3RoZXJtYWwvS2NvbmZpZyBiL2RyaXZlcnMvdGhlcm1hbC9LY29u ZmlnCj4gaW5kZXggNjUzYWEyNy4uNGU0ZmE3ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3RoZXJt YWwvS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvdGhlcm1hbC9LY29uZmlnCj4gQEAgLTIyMyw2ICsy MjMsMTcgQEAgY29uZmlnIElNWF9USEVSTUFMCj4gIAkgIGNwdWZyZXEgaXMgdXNlZCBhcyB0aGUg Y29vbGluZyBkZXZpY2UgdG8gdGhyb3R0bGUgQ1BVcyB3aGVuIHRoZQo+ICAJICBwYXNzaXZlIHRy aXAgaXMgY3Jvc3NlZC4KPiAgCj4gK2NvbmZpZyBJTVhfU0NfVEhFUk1BTAo+ICsJdHJpc3RhdGUg IlRlbXBlcmF0dXJlIHNlbnNvciBkcml2ZXIgZm9yIE5YUCBpLk1YIFNvQ3Mgd2l0aCBTeXN0ZW0g Q29udHJvbGxlciIKPiArCWRlcGVuZHMgb24gKEFSQ0hfTVhDICYmIElNWF9TQ1UpIHx8IENPTVBJ TEVfVEVTVAo+ICsJZGVwZW5kcyBvbiBPRgo+ICsJaGVscAo+ICsJICBTdXBwb3J0IGZvciBUZW1w ZXJhdHVyZSBNb25pdG9yIChURU1QTU9OKSBmb3VuZCBvbiBOWFAgaS5NWCBTb0NzIHdpdGgKPiAr CSAgc3lzdGVtIGNvbnRyb2xsZXIgaW5zaWRlLCBMaW51eCBrZXJuZWwgaGFzIHRvIGNvbW11bmlj YXRlIHdpdGggc3lzdGVtCj4gKwkgIGNvbnRyb2xsZXIgdmlhIE1VIChtZXNzYWdlIHVuaXQpIElQ QyB0byBnZXQgdGVtcGVyYXR1cmUgZnJvbSB0aGVybWFsCj4gKwkgIHNlbnNvci4gSXQgc3VwcG9y dHMgb25lIGNyaXRpY2FsIHRyaXAgcG9pbnQgYW5kIG9uZQo+ICsJICBwYXNzaXZlIHRyaXAgcG9p bnQgZm9yIGVhY2ggdGhlcm1hbCBzZW5zb3IuCj4gKwo+ICBjb25maWcgTUFYNzc2MjBfVEhFUk1B TAo+ICAJdHJpc3RhdGUgIlRlbXBlcmF0dXJlIHNlbnNvciBkcml2ZXIgZm9yIE1heGltIE1BWDc3 NjIwIFBNSUMiCj4gIAlkZXBlbmRzIG9uIE1GRF9NQVg3NzYyMAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3RoZXJtYWwvTWFrZWZpbGUgYi9kcml2ZXJzL3RoZXJtYWwvTWFrZWZpbGUKPiBpbmRleCA0 ODZkNjgyLi40MDYyNjI3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdGhlcm1hbC9NYWtlZmlsZQo+ ICsrKyBiL2RyaXZlcnMvdGhlcm1hbC9NYWtlZmlsZQo+IEBAIC00MCw2ICs0MCw3IEBAIG9iai0k KENPTkZJR19EQjg1MDBfVEhFUk1BTCkJKz0gZGI4NTAwX3RoZXJtYWwubwo+ICBvYmotJChDT05G SUdfQVJNQURBX1RIRVJNQUwpCSs9IGFybWFkYV90aGVybWFsLm8KPiAgb2JqLSQoQ09ORklHX1RB TkdPX1RIRVJNQUwpCSs9IHRhbmdvX3RoZXJtYWwubwo+ICBvYmotJChDT05GSUdfSU1YX1RIRVJN QUwpCSs9IGlteF90aGVybWFsLm8KPiArb2JqLSQoQ09ORklHX0lNWF9TQ19USEVSTUFMKQkrPSBp bXhfc2NfdGhlcm1hbC5vCj4gIG9iai0kKENPTkZJR19NQVg3NzYyMF9USEVSTUFMKQkrPSBtYXg3 NzYyMF90aGVybWFsLm8KPiAgb2JqLSQoQ09ORklHX1FPUklRX1RIRVJNQUwpCSs9IHFvcmlxX3Ro ZXJtYWwubwo+ICBvYmotJChDT05GSUdfREE5MDYyX1RIRVJNQUwpCSs9IGRhOTA2Mi10aGVybWFs Lm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy90aGVybWFsL2lteF9zY190aGVybWFsLmMgYi9kcml2 ZXJzL3RoZXJtYWwvaW14X3NjX3RoZXJtYWwuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggMDAwMDAwMC4uMGFmMGYwOQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL3RoZXJt YWwvaW14X3NjX3RoZXJtYWwuYwo+IEBAIC0wLDAgKzEsMTU5IEBACj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgMjAxOC0yMDE5IE5Y UC4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8bGludXgvZXJyLmg+Cj4gKyNpbmNsdWRlIDxsaW51 eC9maXJtd2FyZS9pbXgvc2NpLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L29mLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvc2xhYi5o Pgo+ICsjaW5jbHVkZSA8bGludXgvdGhlcm1hbC5oPgo+ICsKPiArI2luY2x1ZGUgInRoZXJtYWxf Y29yZS5oIgo+ICsKPiArI2RlZmluZSBJTVhfU0NfTUlTQ19GVU5DX0dFVF9URU1QCTEzCj4gKyNk ZWZpbmUgSU1YX1NDX0NfVEVNUAkJCTAKPiArCj4gK3N0YXRpYyBzdHJ1Y3QgaW14X3NjX2lwYyAq dGhlcm1hbF9pcGNfaGFuZGxlOwo+ICsKPiArc3RydWN0IGlteF9zY19zZW5zb3Igewo+ICsJc3Ry dWN0IHRoZXJtYWxfem9uZV9kZXZpY2UgKnR6ZDsKPiArCXUzMiByZXNvdXJjZV9pZDsKPiArfTsK PiArCj4gK3N0cnVjdCByZXFfZ2V0X3RlbXAgewo+ICsJdTE2IHJlc291cmNlX2lkOwo+ICsJdTgg dHlwZTsKPiArfSBfX3BhY2tlZDsKPiArCj4gK3N0cnVjdCByZXNwX2dldF90ZW1wIHsKPiArCXUx NiBjZWxzaXVzOwo+ICsJdTggdGVudGhzOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArc3RydWN0IGlt eF9zY19tc2dfbWlzY19nZXRfdGVtcCB7Cj4gKwlzdHJ1Y3QgaW14X3NjX3JwY19tc2cgaGRyOwo+ ICsJdW5pb24gewo+ICsJCXN0cnVjdCByZXFfZ2V0X3RlbXAgcmVxOwo+ICsJCXN0cnVjdCByZXNw X2dldF90ZW1wIHJlc3A7Cj4gKwl9IGRhdGE7Cj4gK30gX19wYWNrZWQ7CgpEbyB3ZSByZWFsbHkg bmVlZCB0byBhZGQgdGhlIF9fcGFja2VkIGZvciB0aGUgc3RydWN0IGlteF9zY19zZW5zb3IgYW5k CnRoZSBzdHJ1Y3QgaW14X3NjX21zZ19taXNjX2dldF90ZW1wPwoKPiArc3RhdGljIGludCBpbXhf c2NfdGhlcm1hbF9nZXRfdGVtcCh2b2lkICpkYXRhLCBpbnQgKnRlbXApCj4gK3sKPiArCXN0cnVj dCBpbXhfc2NfbXNnX21pc2NfZ2V0X3RlbXAgbXNnOwo+ICsJc3RydWN0IGlteF9zY19ycGNfbXNn ICpoZHIgPSAmbXNnLmhkcjsKPiArCXN0cnVjdCBpbXhfc2Nfc2Vuc29yICpzZW5zb3IgPSBkYXRh Owo+ICsJaW50IHJldDsKPiArCj4gKwltc2cuZGF0YS5yZXEucmVzb3VyY2VfaWQgPSBzZW5zb3It PnJlc291cmNlX2lkOwo+ICsJbXNnLmRhdGEucmVxLnR5cGUgPSBJTVhfU0NfQ19URU1QOwo+ICsK PiArCWhkci0+dmVyID0gSU1YX1NDX1JQQ19WRVJTSU9OOwo+ICsJaGRyLT5zdmMgPSBJTVhfU0Nf UlBDX1NWQ19NSVNDOwo+ICsJaGRyLT5mdW5jID0gSU1YX1NDX01JU0NfRlVOQ19HRVRfVEVNUDsK PiArCWhkci0+c2l6ZSA9IDI7Cj4gKwo+ICsJcmV0ID0gaW14X3NjdV9jYWxsX3JwYyh0aGVybWFs X2lwY19oYW5kbGUsICZtc2csIHRydWUpOwo+ICsJaWYgKHJldCkgewo+ICsJCXByX2VycigicmVh ZCB0ZW1wIHNlbnNvciAlZCBmYWlsZWQsIHJldCAlZFxuIiwKPiArCQkJc2Vuc29yLT5yZXNvdXJj ZV9pZCwgcmV0KTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCSp0ZW1wID0gbXNnLmRh dGEucmVzcC5jZWxzaXVzICogMTAwMCArIG1zZy5kYXRhLnJlc3AudGVudGhzICogMTAwOwo+ICsK PiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHRoZXJtYWxfem9u ZV9vZl9kZXZpY2Vfb3BzIGlteF9zY190aGVybWFsX29wcyA9IHsKPiArCS5nZXRfdGVtcCA9IGlt eF9zY190aGVybWFsX2dldF90ZW1wLAo+ICt9Owo+ICsKPiArc3RhdGljIGludCBpbXhfc2NfdGhl cm1hbF9nZXRfc2Vuc29yX2lkKHN0cnVjdCBkZXZpY2Vfbm9kZSAqc2Vuc29yX25wLCB1MzIgKmlk KQo+ICt7Cj4gKwlzdHJ1Y3Qgb2ZfcGhhbmRsZV9hcmdzIHNlbnNvcl9zcGVjczsKPiArCWludCBy ZXQ7Cj4gKwo+ICsJcmV0ID0gb2ZfcGFyc2VfcGhhbmRsZV93aXRoX2FyZ3Moc2Vuc29yX25wLAo+ ICsJCQkJCSAidGhlcm1hbC1zZW5zb3JzIiwKPiArCQkJCQkgIiN0aGVybWFsLXNlbnNvci1jZWxs cyIsCj4gKwkJCQkJIDAsCj4gKwkJCQkJICZzZW5zb3Jfc3BlY3MpOwo+ICsJaWYgKHJldCkKPiAr CQlyZXR1cm4gcmV0Owo+ICsKPiArCWlmIChzZW5zb3Jfc3BlY3MuYXJnc19jb3VudCA+PSAxKSB7 Cj4gKwkJKmlkID0gc2Vuc29yX3NwZWNzLmFyZ3NbMF07Cj4gKwkJV0FSTihzZW5zb3Jfc3BlY3Mu YXJnc19jb3VudCA+IDEsCj4gKwkJICAgICAiJXBPRm46IHRvbyBtYW55IGNlbGxzIGluIHNlbnNv ciBzcGVjaWZpZXIgJWRcbiIsCj4gKwkJICAgICBzZW5zb3Jfc3BlY3MubnAsIHNlbnNvcl9zcGVj cy5hcmdzX2NvdW50KTsKPiArCX0gZWxzZSB7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4g Kwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgaW14X3NjX3RoZXJtYWxfcHJv YmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArewo+ICsJc3RydWN0IGRldmljZV9u b2RlICpucCwgKmNoaWxkOwo+ICsJaW50IHJldDsKPiArCj4gKwlyZXQgPSBpbXhfc2N1X2dldF9o YW5kbGUoJnRoZXJtYWxfaXBjX2hhbmRsZSk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7 Cj4gKwo+ICsJbnAgPSBvZl9maW5kX25vZGVfYnlfbmFtZShOVUxMLCAidGhlcm1hbC16b25lcyIp Owo+ICsJaWYgKCFucCkKPiArCQlyZXR1cm4gLUVOT0RFVjsKPiArCj4gKwlmb3JfZWFjaF9hdmFp bGFibGVfY2hpbGRfb2Zfbm9kZShucCwgY2hpbGQpIHsKPiArCQlzdHJ1Y3QgaW14X3NjX3NlbnNv ciAqc2Vuc29yID0KPiArCQkJZGV2bV9remFsbG9jKCZwZGV2LT5kZXYsIHNpemVvZigqc2Vuc29y KSwgR0ZQX0tFUk5FTCk7Cj4gKwkJaWYgKCFzZW5zb3IpCj4gKwkJCXJldHVybiAtRU5PTUVNOwo+ ICsKPiArCQlyZXQgPSBpbXhfc2NfdGhlcm1hbF9nZXRfc2Vuc29yX2lkKGNoaWxkLCAmc2Vuc29y LT5yZXNvdXJjZV9pZCk7CgoKSU1PLCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBnZW5lcmljIGFu ZCBhZGRlZCB0byB0aGUgb2YtdGhlcm1hbC5jCgo+ICsJCWlmIChyZXQgPCAwKSB7Cj4gKwkJCWRl dl9lcnIoJnBkZXYtPmRldiwKPiArCQkJCSJmYWlsZWQgdG8gZ2V0IHZhbGlkIHNlbnNvciByZXNv dXJjZSBpZDogJWRcbiIsCj4gKwkJCQlyZXQpOwo+ICsJCQlicmVhazsKPiArCQl9Cj4gKwo+ICsJ CXNlbnNvci0+dHpkID0gZGV2bV90aGVybWFsX3pvbmVfb2Zfc2Vuc29yX3JlZ2lzdGVyKCZwZGV2 LT5kZXYsCj4gKwkJCQkJCQkJICAgc2Vuc29yLT5yZXNvdXJjZV9pZCwKPiArCQkJCQkJCQkgICBz ZW5zb3IsCj4gKwkJCQkJCQkJICAgJmlteF9zY190aGVybWFsX29wcyk7Cj4gKwkJaWYgKElTX0VS UihzZW5zb3ItPnR6ZCkpIHsKPiArCQkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIHJl Z2lzdGVyIHRoZXJtYWwgem9uZVxuIik7Cj4gKwkJCXJldCA9IFBUUl9FUlIoc2Vuc29yLT50emQp Owo+ICsJCQlicmVhazsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiArfQo+Cj4g K3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlteF9zY190aGVybWFsX3RhYmxlW10g PSB7Cj4gKwl7IC5jb21wYXRpYmxlID0gImZzbCxpbXgtc2MtdGhlcm1hbCIsIH0sCj4gKwl7fQo+ ICt9Owo+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBpbXhfc2NfdGhlcm1hbF90YWJsZSk7Cj4g Kwo+ICtzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBpbXhfc2NfdGhlcm1hbF9kcml2ZXIg PSB7Cj4gKwkJLnByb2JlID0gaW14X3NjX3RoZXJtYWxfcHJvYmUsCj4gKwkJLmRyaXZlciA9IHsK PiArCQkJLm5hbWUgPSAiaW14LXNjLXRoZXJtYWwiLAo+ICsJCQkub2ZfbWF0Y2hfdGFibGUgPSBp bXhfc2NfdGhlcm1hbF90YWJsZSwKPiArCQl9LAo+ICt9Owo+ICttb2R1bGVfcGxhdGZvcm1fZHJp dmVyKGlteF9zY190aGVybWFsX2RyaXZlcik7Cj4gKwo+ICtNT0RVTEVfQVVUSE9SKCJBbnNvbiBI dWFuZyA8QW5zb24uSHVhbmdAbnhwLmNvbT4iKTsKPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJUaGVy bWFsIGRyaXZlciBmb3IgTlhQIGkuTVggU29DcyB3aXRoIHN5c3RlbSBjb250cm9sbGVyIik7Cj4g K01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKPiAKCgotLSAKIDxodHRwOi8vd3d3LmxpbmFyby5v cmcvPiBMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBzb2Z0d2FyZSBmb3IgQVJNIFNvQ3MKCkZv bGxvdyBMaW5hcm86ICA8aHR0cDovL3d3dy5mYWNlYm9vay5jb20vcGFnZXMvTGluYXJvPiBGYWNl Ym9vayB8CjxodHRwOi8vdHdpdHRlci5jb20vIyEvbGluYXJvb3JnPiBUd2l0dGVyIHwKPGh0dHA6 Ly93d3cubGluYXJvLm9yZy9saW5hcm8tYmxvZy8+IEJsb2cKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlz dApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==