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=-10.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,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 17617C433DB for ; Thu, 18 Mar 2021 10:54:04 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 67D1F64E07 for ; Thu, 18 Mar 2021 10:54:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 67D1F64E07 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+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=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=iKDO8QT0tnu5PIQhsuHSbA/OPIoYHsJYeb+MStLe+xs=; b=R4MAe9DPdReRFTbsXENivOz09 fSdhuLe0BF4FV60hnvLu9DYhDJ912j+i96A198wz2FYha9bb+UZPoS0f3EqY31uPg70voEVteruqq f/ZWYZznwv+oTfKjzx6PBwNytCMtXabvl3xx45zu6WpnpMStuy0BA7SlmrGzI/g4Y+0GMEWSW/VWK +E5ZStmmrdqjmzs2kKdSjfxoF4onVfFQND47b+sVo8zUn1JgQLFTIWe76Qb+0RAIt5qtzI8cbvL7i w0pJm4+fRGQTNXUzFcRMl1InwXQgQdQCtYBIgEPi/LuhwuSzpCrLYzCDCr1r0GYRycykYTyVXvyqu qIHVnihKw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lMqGD-0052NL-Ue; Thu, 18 Mar 2021 10:52:14 +0000 Received: from mail-ot1-x32a.google.com ([2607:f8b0:4864:20::32a]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lMqG3-0052Md-Dx for linux-arm-kernel@lists.infradead.org; Thu, 18 Mar 2021 10:52:05 +0000 Received: by mail-ot1-x32a.google.com with SMTP id v24-20020a9d69d80000b02901b9aec33371so4757469oto.2 for ; Thu, 18 Mar 2021 03:52:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=71whWkxb2bBJl6dByqv/ZV5tqOK3zTPTnTkWqrB5g3w=; b=bwqRZdymz0/7pp2mJALHV5sfACZV5MD6hI3FWQxE3BF6IysHTdb4GclYFwCDcw2N0m 9+zScQaepoxgfYEAIWZFv+jpydiBUZbHN3SjvmNGxInpoViZ7bMNJ3ItJrGSLfblZCQr GacTqAB9kPg5QHqd7DhxLc8V7kvufWjA/5a7+Yj56BULmm4ES5isCP+dhmfJh7nj6OI6 LtOCbA30JEgq7INg0oNsfsL4jjkYskAbFfg2OiIKMB7oiedSOwhanITuVunNFyiiJPG+ mMN6sYCuRhG/r386j5wBmbul4zfojfcbU5rKO/KzMk4XhkroxMVtzASfQhP8XTBQfK+G LfUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=71whWkxb2bBJl6dByqv/ZV5tqOK3zTPTnTkWqrB5g3w=; b=DpSRUXSTHKdSHp3SvPR/oq91+21555DfqskAOdN2apUZD9nVWRa2QRvl1glBJk2c6v DZKsQ6zPPCEML2XVoJvOwydMnAzjrRWw/LYjAFa0kJ3HKwlBNM4X4tHsYR1AMOlno/o1 0ytzpK908MpK5mLTiE2XzQta4ZkSO8Ij5E3+6hdOoop6zcJLrE41Rtd6UtGWxrKsz7uv Eg96vyi/VG6sptI+Da4Z82FFFIxyqhJO7I4dEQI5ft1YCPtkV/yuYVp4qEe8qE3E4eip 60nfwyFpKK0Jp57bj2yS54WHZOpvKtNWsrxwSGrVg6QZU90+BNOXqOhpRKaUif8s5Umt 8STA== X-Gm-Message-State: AOAM5309BN1pRMG/ivxIL4heBRAsl5dbnSEkeiPw9nI2v0ast3zpOHvN Nut5+WtDc9NOa6a3UeaftPjerHR9j4z2uBFKUaY= X-Google-Smtp-Source: ABdhPJzZm/M1FLDELbesc4FmZJp4A9Cn2Egz7cDKnWI7pFrnbAYKjQqJ1sqrKvXxLhnXfwpVOwgBFgJ0bjzN7d4gaig= X-Received: by 2002:a05:6830:34a2:: with SMTP id c34mr6778381otu.52.1616064722022; Thu, 18 Mar 2021 03:52:02 -0700 (PDT) MIME-Version: 1.0 References: <1615294733-22761-1-git-send-email-aisheng.dong@nxp.com> <1615294733-22761-8-git-send-email-aisheng.dong@nxp.com> <31be2267-8988-f162-f5a6-6e6389bbf1fb@samsung.com> <0e518145-5cae-63f1-c32f-e6207fdeae54@samsung.com> <4b5a0c61-2bab-8b00-621c-25f1244fee92@samsung.com> In-Reply-To: <4b5a0c61-2bab-8b00-621c-25f1244fee92@samsung.com> From: Dong Aisheng Date: Thu, 18 Mar 2021 18:51:50 +0800 Message-ID: Subject: Re: [PATCH 07/11] PM / devfreq: check get_dev_status before start monitor To: Chanwoo Choi Cc: Chanwoo Choi , Dong Aisheng , Linux PM , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , Sascha Hauer , Shawn Guo , dl-linux-imx , open list , myungjoo.ham@samsung.com, kyungmin.park@samsung.com, Abel Vesa X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210318_105203_591767_F9B3659A X-CRM114-Status: GOOD ( 52.77 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBNYXIgMTgsIDIwMjEgYXQgNTo0MiBQTSBDaGFud29vIENob2kgPGN3MDAuY2hvaUBz YW1zdW5nLmNvbT4gd3JvdGU6Cj4KPiBPbiAzLzE4LzIxIDY6NTQgUE0sIENoYW53b28gQ2hvaSB3 cm90ZToKPiA+IE9uIDMvMTgvMjEgNTowMyBQTSwgRG9uZyBBaXNoZW5nIHdyb3RlOgo+ID4+IEhp IENoYW53b28sCj4gPj4KPiA+PiBPbiBTYXQsIE1hciAxMywgMjAyMSBhdCAyOjQ1IFBNIERvbmcg QWlzaGVuZyA8ZG9uZ2FzODZAZ21haWwuY29tPiB3cm90ZToKPiA+Pj4KPiA+Pj4gT24gU2F0LCBN YXIgMTMsIDIwMjEgYXQgMTI6MDkgQU0gQ2hhbndvbyBDaG9pIDxjd2Nob2kwMEBnbWFpbC5jb20+ IHdyb3RlOgo+ID4+Pj4KPiA+Pj4+IE9uIDIxLiAzLiAxMi4g7Jik7ZuEIDc6NTcsIERvbmcgQWlz aGVuZyB3cm90ZToKPiA+Pj4+PiBPbiBUaHUsIE1hciAxMSwgMjAyMSBhdCAyOjU0IFBNIENoYW53 b28gQ2hvaSA8Y3cwMC5jaG9pQHNhbXN1bmcuY29tPiB3cm90ZToKPiA+Pj4+Pj4KPiA+Pj4+Pj4g T24gMy8xMC8yMSAxOjU2IFBNLCBEb25nIEFpc2hlbmcgd3JvdGU6Cj4gPj4+Pj4+PiBPbiBXZWQs IE1hciAxMCwgMjAyMSBhdCAxMTowOCBBTSBDaGFud29vIENob2kgPGN3MDAuY2hvaUBzYW1zdW5n LmNvbT4gd3JvdGU6Cj4gPj4+Pj4+Pj4KPiA+Pj4+Pj4+PiBPbiAzLzEwLzIxIDExOjU2IEFNLCBE b25nIEFpc2hlbmcgd3JvdGU6Cj4gPj4+Pj4+Pj4+IE9uIFdlZCwgTWFyIDEwLCAyMDIxIGF0IDEy OjEyIEFNIENoYW53b28gQ2hvaSA8Y3djaG9pMDBAZ21haWwuY29tPiB3cm90ZToKPiA+Pj4+Pj4+ Pj4+Cj4gPj4+Pj4+Pj4+PiBPbiAyMS4gMy4gMTAuIOyYpOyghCAxMjo1OCwgQ2hhbndvbyBDaG9p IHdyb3RlOgo+ID4+Pj4+Pj4+Pj4+IE9uIDIxLiAzLiA5LiDsmKTtm4QgOTo1OCwgRG9uZyBBaXNo ZW5nIHdyb3RlOgo+ID4+Pj4+Pj4+Pj4+PiBUaGUgZGV2ZnJlcSBtb25pdG9yIGRlcGVuZHMgb24g dGhlIGRldmljZSB0byBwcm92aWRlIGxvYWQgaW5mb3JtYXRpb24KPiA+Pj4+Pj4+Pj4+Pj4gYnkg LmdldF9kZXZfc3RhdHVzKCkgdG8gY2FsY3VsYXRlIHRoZSBuZXh0IHRhcmdldCBmcmVxLgo+ID4+ Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+PiBBbmQgdGhpcyB3aWxsIGNhdXNlIGNoYW5naW5nIGdv dmVybm9yIHRvIHNpbXBsZSBvbmRlbWFuZCBmYWlsCj4gPj4+Pj4+Pj4+Pj4+IGlmIGRldmljZSBj YW4ndCBzdXBwb3J0Lgo+ID4+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5 OiBEb25nIEFpc2hlbmcgPGFpc2hlbmcuZG9uZ0BueHAuY29tPgo+ID4+Pj4+Pj4+Pj4+PiAtLS0K PiA+Pj4+Pj4+Pj4+Pj4gICAgZHJpdmVycy9kZXZmcmVxL2RldmZyZXEuYyAgICAgICAgICAgICAg ICAgfCAxMCArKysrKysrLS0tCj4gPj4+Pj4+Pj4+Pj4+ICAgIGRyaXZlcnMvZGV2ZnJlcS9nb3Zl cm5vci5oICAgICAgICAgICAgICAgIHwgIDIgKy0KPiA+Pj4+Pj4+Pj4+Pj4gICAgZHJpdmVycy9k ZXZmcmVxL2dvdmVybm9yX3NpbXBsZW9uZGVtYW5kLmMgfCAgMyArLS0KPiA+Pj4+Pj4+Pj4+Pj4g ICAgMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4gPj4+ Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RldmZyZXEvZGV2 ZnJlcS5jIGIvZHJpdmVycy9kZXZmcmVxL2RldmZyZXEuYwo+ID4+Pj4+Pj4+Pj4+PiBpbmRleCA3 MjMxZmU2ODYyYTIuLmQxNzg3YjZjN2Q3YyAxMDA2NDQKPiA+Pj4+Pj4+Pj4+Pj4gLS0tIGEvZHJp dmVycy9kZXZmcmVxL2RldmZyZXEuYwo+ID4+Pj4+Pj4+Pj4+PiArKysgYi9kcml2ZXJzL2RldmZy ZXEvZGV2ZnJlcS5jCj4gPj4+Pj4+Pj4+Pj4+IEBAIC00ODIsMTAgKzQ4MiwxMyBAQCBzdGF0aWMg dm9pZCBkZXZmcmVxX21vbml0b3Ioc3RydWN0IHdvcmtfc3RydWN0Cj4gPj4+Pj4+Pj4+Pj4+ICp3 b3JrKQo+ID4+Pj4+Pj4+Pj4+PiAgICAgKiB0byBiZSBjYWxsZWQgZnJvbSBnb3Zlcm5vciBpbiBy ZXNwb25zZSB0byBERVZGUkVRX0dPVl9TVEFSVAo+ID4+Pj4+Pj4+Pj4+PiAgICAgKiBldmVudCB3 aGVuIGRldmljZSBpcyBhZGRlZCB0byBkZXZmcmVxIGZyYW1ld29yay4KPiA+Pj4+Pj4+Pj4+Pj4g ICAgICovCj4gPj4+Pj4+Pj4+Pj4+IC12b2lkIGRldmZyZXFfbW9uaXRvcl9zdGFydChzdHJ1Y3Qg ZGV2ZnJlcSAqZGV2ZnJlcSkKPiA+Pj4+Pj4+Pj4+Pj4gK2ludCBkZXZmcmVxX21vbml0b3Jfc3Rh cnQoc3RydWN0IGRldmZyZXEgKmRldmZyZXEpCj4gPj4+Pj4+Pj4+Pj4+ICAgIHsKPiA+Pj4+Pj4+ Pj4+Pj4gICAgICAgIGlmIChJU19TVVBQT1JURURfRkxBRyhkZXZmcmVxLT5nb3Zlcm5vci0+Zmxh Z3MsIElSUV9EUklWRU4pKQo+ID4+Pj4+Pj4+Pj4+PiAtICAgICAgICByZXR1cm47Cj4gPj4+Pj4+ Pj4+Pj4+ICsgICAgICAgIHJldHVybiAwOwo+ID4+Pj4+Pj4+Pj4+PiArCj4gPj4+Pj4+Pj4+Pj4+ ICsgICAgaWYgKCFkZXZmcmVxLT5wcm9maWxlLT5nZXRfZGV2X3N0YXR1cykKPiA+Pj4+Pj4+Pj4+ Pj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4gQWdh aW4sIEkgdGhpbmsgdGhhdCBnZXRfZGV2X3N0YXR1cyBpcyBub3QgdXNlZCBmb3IgYWxsIGdvdmVy bm9ycy4KPiA+Pj4+Pj4+Pj4+IFNvIHRoYXQgaXQgY2F1c2UgdGhlIGdvdmVybm9yIHN0YXJ0IGZh aWwuIERvbid0IGNoZWNrIHdoZXRoZXIKPiA+Pj4+Pj4+Pj4+IC5nZXRfZGV2X3N0YXR1cyBpcyBO VUxMIG9yIG5vdC4KPiA+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IEknbSBub3Qg cXVpdGUgdW5kZXJzdGFuZCB5b3VyIHBvaW50Lgo+ID4+Pj4+Pj4+PiBpdCBpcyB1c2VkIGJ5IGdv dmVybm9yX3NpbXBsZW9uZGVtYW5kLmMgYW5kIHRlZ3JhX2RldmZyZXFfZ292ZXJub3IuCj4gPj4+ Pj4+Pj4+IGdldF90YXJnZXRfZnJlcSAtPiBkZXZmcmVxX3VwZGF0ZV9zdGF0cyAtPiBnZXRfZGV2 X3N0YXR1cwo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gVGhlIGRldmZyZXEgY2FuIGFkZCB0aGUgbmV3 IGdvdmVybm9yIGJ5IGFueW9uZS4KPiA+Pj4+Pj4+PiBTbyB0aGVzZSBmdW5jdGlvbnMgbGlrZSBk ZXZmcmVxX21vbml0b3JfKiBoYXZlIHRvIHN1cHBvcnQKPiA+Pj4+Pj4+PiB0aGUgZ292ZXJub3Jz IGFuZCBhbHNvIG11c3Qgc3VwcG9ydCB0aGUgZ292ZXJub3IgdG8gYmUgYWRkZWQKPiA+Pj4+Pj4+ PiBpbiB0aGUgZnV0dXJlLgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+IFllcywgYnV0IGRldmZyZXFfbW9u aXRvcl8qIGlzIG9ubHkgdXNlZCBieSBwb2xsaW5nIG1vZGUsIHJpZ2h0Pwo+ID4+Pj4+Pj4gVGhl IGdvdmVybm9yIHVzaW5nIGl0IGhhcyB0byBpbXBsZW1lbnQgZ2V0X2Rldl9zdGF0dXMgdW5sZXNz Cj4gPj4+Pj4+PiB0aGVyZSdzIGFuIGV4Y2VwdGlvbiBpbiB0aGUgZnV0dXJlLgo+ID4+Pj4+Pj4K PiA+Pj4+Pj4+IEN1cnJlbnRseSB0aGlzIHBhdGNoIHdhbnRzIHRvIGFkZHJlc3MgdGhlIGlzc3Vl IHRoYXQgdXNlciBjYW4gc3dpdGNoCj4gPj4+Pj4+PiB0byBvbmRlbWFuZCBnb3Zlcm5vciAocG9s bGluZyBtb2RlKSBieSBzeXNmcyBldmVuIGRldmljZXMgZG9lcwo+ID4+Pj4+Pj4gbm90IHN1cHBv cnQgaXQgKG5vIGdldF9kZXZfc3RhdHVzIGltcGxlbWVudGVkKS4KPiA+Pj4+Pj4KPiA+Pj4+Pj4g QXMgSSBjb21tZW50ZWQsIEknbGwgZml4IHRoaXMgaXNzdWUuIElmIGRldmZyZXEgZHJpdmVyIGRv ZXNuJ3QgaW1wbGVtZW50Cj4gPj4+Pj4+IHRoZSAuZ2V0X2Rldl9zdGF0dXMsIGRvbid0IHNob3cg aXQgdmlhIGF2YWlsYWJsZV9nb3Zlcm5vcnMuIEkgdGhpbmsgdGhhdAo+ID4+Pj4+PiBpdCBpcyBm dW5kYW1lbnRhbCBzb2x1dGlvbiB0byBmaXggdGhpcyBpc3N1ZS4KPiA+Pj4+Pgo+ID4+Pj4+IFNv dW5kcyBnb29kCj4gPj4+Pj4KPiA+Pj4+Pj4gU28gb24gdGhpcyB2ZXJzaW9uLAo+ID4+Pj4+PiBk b24ndCBhZGQgdGhlIHRoaXMgY29uZGl0aW9uYWwgc3RhdGVtZW50IG9uIHRoaXMgZnVuY3Rpb24K PiA+Pj4+Pj4KPiA+Pj4+Pgo+ID4+Pj4+IEFsbW9zdCBhbGwgdGhpcyBwYXRjaCBkaWQgaXMgYWRk aW5nIGEgY2hlY2tpbmcgZm9yIGdldF9kZXZfc3RhdHVzLgo+ID4+Pj4+IFNvIGRvIHlvdSBtZWFu IGRyb3AgdGhpcyBwYXRjaD8KPiA+Pj4+PiBJIHdvbmRlciBpdCdzIHN0aWxsIGEgbmVjZXNzYXJ5 IGNoZWNraW5nIHRvIGV4cGxpY2l0bHkgdGVsbCBkZXZmcmVxIG1vbml0b3IKPiA+Pj4+PiB1c2Vy cyB0aGF0IGdldF9kZXZfc3RhdHVzIGlzIG5lZWRlZCBkdXJpbmcgZ292ZXJub3Igc3RhcnR1cC4K PiA+Pj4+Cj4gPj4+PiBJIHRoaW5rIHRoYXQgdGhlIGl0IGlzIGVub3VnaCB0byBjaGVjayAuZ2V0 X2Rldl9zdGF0dXMgaW4KPiA+Pj4+IGRldmZyZXFfdXBkYXRlX3N0YXRzLiBXZSBoYXZlIHRvIGNo ZWNrIGl0IG9uIHdoZXJlIGl0IGlzIHVzZWQuCj4gPj4+Pgo+ID4+Pgo+ID4+PiBJIHRoaW5rIHRo ZSBkcmF3YmFjayBvZiBvbmx5IGNoZWNraW5nIC5nZXRfZGV2X3N0YXR1cyBpbgo+ID4+PiBkZXZm cmVxX3VwZGF0ZV9zdGF0cyBpczoKPiA+Pj4gMS4gZGV2ZnJlcSB3aWxsIHN0aWxsIHJlZ2lzdGVy IHN1Y2Nlc3NmdWxseSBhbmQgb25kZW1hbmQgZ292ZXJub3Igc3RhcnRzIG9rCj4gPj4+IDIuIG9u ZGVtYW5kIGdvdmVybm9yIHdpbGwgc3RpbGwgYmUgc2hvd24gaW4gc3lzZnMgd2hpY2ggaXMgc29t ZXRoaW5nCj4gPj4+IHlvdSB3YW50IHRvIGZpeAo+ID4+PiAzLiBkZXZmcmVxIHdpbGwgZW5kIHVw IHByaW50aW5nIGVuZGxlc3MgZXJyb3IgbWVzc2FnZXMgaW4gZGV2ZnJlcV9tb25pdG9yIHdvcmtl cgo+ID4+PiAgICAgImR2ZnMgZmFpbGVkIHdpdGggKCVkKSBlcnJvciIgYXMgdGhlIHBvc3NpYmxl IG1pc3NpbmcgLmdldF9kZXZfc3RhdHVzCj4gPgo+ID4gSSB0aGluayB0aGF0IGRldmZyZXFfbW9u aXRvcl9zdGFydCBoYXZlIHRvIGhhbmRsZSBvbmx5IHdvcmsgaW5zdGFuY2UuCj4gPiBUaGlzIGFw cHJvYWNoIGlzIHRvbyBjb25zaWRlcmluZyB0aGUgZGVlcCBjaGVjayBsaXN0Lgo+ID4gSSB3YW50 IHRvIHJlc29sdmUgdGhpcyBwZXJpb2RpY2FsIGVycm9yIGxvZyB3aXRoIGRpZmZlcmVudCBzb2x1 dGlvbi4KPiA+Cj4gPiBBY3R1YWxseSwgd2UgaGF2ZSB0byByZWplY3QgdGhlIHJlZ2lzdHJhdGlv biBvZiBkZXZmcmVxIGRldmljZQo+ID4gd2hlbiBjYWxsaW5nIGRldmZyZXFfYWRkX2RldmljZSBp bnN0ZWFkIG9mIGNoZWNraW5nIC5nZXRfZGV2X3N0YXR1cwo+ID4gaW4gZGV2ZnJlcV9tb25pdG9y X3N0YXJ0KCkuCj4KPgo+IEknbGwgcmVqZWN0IHRoZSByZWdpc3RyYXRpb24gb2YgZGV2ZnJlcSBk ZXZpY2UgaWYgdGhlIG1hbmRhdG9yeQo+IGZ1bmN0aW9uIHBvaW50ZXIgb2Ygc3RydWN0IGRldmZy ZXFfZGV2X3Byb2ZpbGUgYXJlIG5vdCBpbml0aWFsaXplZC4KPiAtIC5nZXRfZGV2X3N0YXR1cwo+ ICAgIElmIHNvbWUgZ292ZXJub3JzIGxpa2Ugc2ltcGxlX29uZGVtYW5kLCBoYXZlIHRvIGluaXRp YWxpemUgaXQuCj4gICAgU28sIEkgbmVlZCB0byBhZGQgdGhlIG5ldyBmbGFnIHRvIHNwZWNpZnkg dGhpcyBmZWF0dXJlLgo+IC0gLnRhcmdldCBpcyBtYW5kYXRvcnkgZm9yIGFsbCBkZXZmcmVxIGRl dmljZXMuIEknbGwgY2hlY2sgaXQuCgpPa2F5LCB0aGFua3MKVGhlbiBpIHdpbGwgZHJvcCB0aGlz IHBhdGNoIGFuZCByZXNlbmQgc2VyaWVzIHdpdGggeW91ciBvdGhlciBjb21tZW50cwphZGRyZXNz ZWQuCgpSZWdhcmRzCkFpc2hlbmcKCj4KPiA+Cj4gPgo+ID4+Pgo+ID4+PiBTbyBpIHdvbmRlciBp ZiB5b3UgZG9uJ3QgbGlrZSBjaGFuZ2luZyB0aGUgY29tbW9uIGRldmZyZXFfbW9uaXRvcl9zdGFy dCBpbiBvcmRlcgo+ID4+PiB0byBtYWtlIGl0IGxvb2sgY29tbW9uIGZvciBhbGwgZ292ZXJub3Jz LCB0aGVuIHdlIHByb2JhYmx5IHN0aWxsIG5lZWQKPiA+Pj4gdG8gZml4IGl0IGluCj4gPj4+IG9u ZGVtYW5kIGdvdmVybm9yIGluIG9yZGVyIHRvIGF2b2lkIHRoZSBwb3NzaWJsZSBhYm92ZSBpc3N1 ZXMuCj4gPj4+Cj4gPj4+IHN0YXRpYyBpbnQgZGV2ZnJlcV9zaW1wbGVfb25kZW1hbmRfaGFuZGxl cihzdHJ1Y3QgZGV2ZnJlcSAqZGV2ZnJlcSwKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgZXZlbnQsIHZvaWQgKmRhdGEpCj4gPj4+IHsKPiA+Pj4gICAg ICAgICBzd2l0Y2ggKGV2ZW50KSB7Cj4gPj4+ICAgICAgICAgY2FzZSBERVZGUkVRX0dPVl9TVEFS VDoKPiA+Pj4gICAgICAgICAgICAgICAgIGlmICghZGV2ZnJlcS0+cHJvZmlsZS0+Z2V0X2Rldl9z dGF0dXMpCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4+ Pgo+ID4+PiAgICAgICAgICAgICAgICAgcmV0dXJuIGRldmZyZXFfbW9uaXRvcl9zdGFydChkZXZm cmVxKTsKPiA+Pj4gLi4uCj4gPj4+IH0KPiA+Pj4KPiA+Pj4gSG93IGRvIHlvdSB0aGluaz8KPiA+ Pgo+ID4+IEFueSBmZWVkYmFjaz8KPiA+Pgo+ID4+IEknbSB3YWl0aW5nIGZvciB5b3VyIGNvbmZp cm1hdGlvbiB3aGV0aGVyIGRyb3BwaW5nIHRoaXMgb25lLAo+ID4+IHRoZW4gSSBjYW4gcmUtc2Vu dCB0aGUgc2VyaWVzLgo+ID4+Cj4gPj4gUmVnYXJkcwo+ID4+IEFpc2hlbmcKPiA+Pgo+ID4+Pgo+ ID4+PiBSZWdhcmRzCj4gPj4+IEFpc2hlbmcKPiA+Pj4KPiA+Pj4KPiA+Pj4+Pgo+ID4+Pj4+PiBB bmQgb24gbmV4dCB2ZXJzaW9uLCBwbGVhc2UgdXNlIHRoZSBjYXBpdGFsIGxldHRlciBmb3IgZmly c3QgY2hhcmFjdGVyCj4gPj4+Pj4+IG9uIHBhdGNoIHRpdGxlIGFzIGZvbGxvd2luZzoKPiA+Pj4+ Pj4KPiA+Pj4+Pj4gLSBQTSAvIGRldmZyZXE6IENoZWNrIGdldF9kZXZfc3RhdHVzIGJlZm9yZSBz dGFydCBtb25pdG9yCj4gPj4+Pj4+Cj4gPj4+Pj4KPiA+Pj4+PiBPa2F5IHRvIG1lLgo+ID4+Pj4+ IFRoYW5rcyBmb3IgdGhlIHN1Z2dlc3Rpb24uCj4gPj4+Pj4KPiA+Pj4+PiBSZWdhcmRzCj4gPj4+ Pj4gQWlzaGVuZwo+ID4+Pj4+Cj4gPj4+Pj4+Pgo+ID4+Pj4+Pj4gUmVnYXJkcwo+ID4+Pj4+Pj4g QWlzaGVuZwo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBXaXRo b3V0IGNoZWNraW5nLCBkZXZpY2UgY2FuIHN3aXRjaCB0byBvbmRlbWFuZCBnb3Zlcm5vciBpZiBp dCBkb2VzIG5vdCBzdXBwb3J0Lgo+ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBBbSBpIG1pc3NlZCBz b21ldGhpbmc/Cj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IFJlZ2FyZHMKPiA+Pj4+Pj4+Pj4gQWlz aGVuZwo+ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+PiAgICAgICAgc3dpdGNoIChkZXZmcmVxLT5w cm9maWxlLT50aW1lcikgewo+ID4+Pj4+Pj4+Pj4+PiAgICAgICAgY2FzZSBERVZGUkVRX1RJTUVS X0RFRkVSUkFCTEU6Cj4gPj4+Pj4+Pj4+Pj4+IEBAIC00OTUsMTIgKzQ5OCwxMyBAQCB2b2lkIGRl dmZyZXFfbW9uaXRvcl9zdGFydChzdHJ1Y3QgZGV2ZnJlcSAqZGV2ZnJlcSkKPiA+Pj4+Pj4+Pj4+ Pj4gICAgICAgICAgICBJTklUX0RFTEFZRURfV09SSygmZGV2ZnJlcS0+d29yaywgZGV2ZnJlcV9t b25pdG9yKTsKPiA+Pj4+Pj4+Pj4+Pj4gICAgICAgICAgICBicmVhazsKPiA+Pj4+Pj4+Pj4+Pj4g ICAgICAgIGRlZmF1bHQ6Cj4gPj4+Pj4+Pj4+Pj4+IC0gICAgICAgIHJldHVybjsKPiA+Pj4+Pj4+ Pj4+Pj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPj4+Pj4+Pj4+Pj4+ICAgICAgICB9Cj4g Pj4+Pj4+Pj4+Pj4+ICAgICAgICBpZiAoZGV2ZnJlcS0+cHJvZmlsZS0+cG9sbGluZ19tcykKPiA+ Pj4+Pj4+Pj4+Pj4gICAgICAgICAgICBxdWV1ZV9kZWxheWVkX3dvcmsoZGV2ZnJlcV93cSwgJmRl dmZyZXEtPndvcmssCj4gPj4+Pj4+Pj4+Pj4+ICAgICAgICAgICAgICAgIG1zZWNzX3RvX2ppZmZp ZXMoZGV2ZnJlcS0+cHJvZmlsZS0+cG9sbGluZ19tcykpOwo+ID4+Pj4+Pj4+Pj4+PiArICAgIHJl dHVybiAwOwo+ID4+Pj4+Pj4+Pj4+PiAgICB9Cj4gPj4+Pj4+Pj4+Pj4+ICAgIEVYUE9SVF9TWU1C T0woZGV2ZnJlcV9tb25pdG9yX3N0YXJ0KTsKPiA+Pj4+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZGV2ZnJlcS9nb3Zlcm5vci5oIGIvZHJpdmVycy9kZXZmcmVxL2dvdmVybm9yLmgKPiA+ Pj4+Pj4+Pj4+Pj4gaW5kZXggNWNlZTNmNjRmZTJiLi4zMWFmNmQwNzJhMTAgMTAwNjQ0Cj4gPj4+ Pj4+Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvZGV2ZnJlcS9nb3Zlcm5vci5oCj4gPj4+Pj4+Pj4+Pj4+ ICsrKyBiL2RyaXZlcnMvZGV2ZnJlcS9nb3Zlcm5vci5oCj4gPj4+Pj4+Pj4+Pj4+IEBAIC03NSw3 ICs3NSw3IEBAIHN0cnVjdCBkZXZmcmVxX2dvdmVybm9yIHsKPiA+Pj4+Pj4+Pj4+Pj4gICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBldmVudCwgdm9pZCAqZGF0YSk7Cj4gPj4+Pj4+Pj4+ Pj4+ICAgIH07Cj4gPj4+Pj4+Pj4+Pj4+IC12b2lkIGRldmZyZXFfbW9uaXRvcl9zdGFydChzdHJ1 Y3QgZGV2ZnJlcSAqZGV2ZnJlcSk7Cj4gPj4+Pj4+Pj4+Pj4+ICtpbnQgZGV2ZnJlcV9tb25pdG9y X3N0YXJ0KHN0cnVjdCBkZXZmcmVxICpkZXZmcmVxKTsKPiA+Pj4+Pj4+Pj4+Pj4gICAgdm9pZCBk ZXZmcmVxX21vbml0b3Jfc3RvcChzdHJ1Y3QgZGV2ZnJlcSAqZGV2ZnJlcSk7Cj4gPj4+Pj4+Pj4+ Pj4+ICAgIHZvaWQgZGV2ZnJlcV9tb25pdG9yX3N1c3BlbmQoc3RydWN0IGRldmZyZXEgKmRldmZy ZXEpOwo+ID4+Pj4+Pj4+Pj4+PiAgICB2b2lkIGRldmZyZXFfbW9uaXRvcl9yZXN1bWUoc3RydWN0 IGRldmZyZXEgKmRldmZyZXEpOwo+ID4+Pj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9k ZXZmcmVxL2dvdmVybm9yX3NpbXBsZW9uZGVtYW5kLmMKPiA+Pj4+Pj4+Pj4+Pj4gYi9kcml2ZXJz L2RldmZyZXEvZ292ZXJub3Jfc2ltcGxlb25kZW1hbmQuYwo+ID4+Pj4+Pj4+Pj4+PiBpbmRleCBk NTdiODJhMmI1NzAuLmVhMjg3YjU3Y2JmMyAxMDA2NDQKPiA+Pj4+Pj4+Pj4+Pj4gLS0tIGEvZHJp dmVycy9kZXZmcmVxL2dvdmVybm9yX3NpbXBsZW9uZGVtYW5kLmMKPiA+Pj4+Pj4+Pj4+Pj4gKysr IGIvZHJpdmVycy9kZXZmcmVxL2dvdmVybm9yX3NpbXBsZW9uZGVtYW5kLmMKPiA+Pj4+Pj4+Pj4+ Pj4gQEAgLTg5LDggKzg5LDcgQEAgc3RhdGljIGludCBkZXZmcmVxX3NpbXBsZV9vbmRlbWFuZF9o YW5kbGVyKHN0cnVjdAo+ID4+Pj4+Pj4+Pj4+PiBkZXZmcmVxICpkZXZmcmVxLAo+ID4+Pj4+Pj4+ Pj4+PiAgICB7Cj4gPj4+Pj4+Pj4+Pj4+ICAgICAgICBzd2l0Y2ggKGV2ZW50KSB7Cj4gPj4+Pj4+ Pj4+Pj4+ICAgICAgICBjYXNlIERFVkZSRVFfR09WX1NUQVJUOgo+ID4+Pj4+Pj4+Pj4+PiAtICAg ICAgICBkZXZmcmVxX21vbml0b3Jfc3RhcnQoZGV2ZnJlcSk7Cj4gPj4+Pj4+Pj4+Pj4+IC0gICAg ICAgIGJyZWFrOwo+ID4+Pj4+Pj4+Pj4+PiArICAgICAgICByZXR1cm4gZGV2ZnJlcV9tb25pdG9y X3N0YXJ0KGRldmZyZXEpOwo+ID4+Pj4+Pj4+Pj4+PiAgICAgICAgY2FzZSBERVZGUkVRX0dPVl9T VE9QOgo+ID4+Pj4+Pj4+Pj4+PiAgICAgICAgICAgIGRldmZyZXFfbW9uaXRvcl9zdG9wKGRldmZy ZXEpOwo+ID4+Pj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pj4gTmVlZCB0byBo YW5kbGUgdGhlIGFsbCBwb2ludHMgb2YgZGV2ZnJlcV9tb25pdG9yX3N0YXJ0KCkgdXNhZ2UuCj4g Pj4+Pj4+Pj4+Pj4gcGxlYXNlIGNoZWNrIHRoZSB0ZWdyYTMwLWRldmZyZXEuYyBmb3IgdGhpcyB1 cGRhdGUuCj4gPj4+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4+PiAkIGdyZXAgLXJuICJkZXZmcmVxX21v bml0b3Jfc3RhcnQiIGRyaXZlcnMvCj4gPj4+Pj4+Pj4+Pj4gZHJpdmVycy9kZXZmcmVxL2dvdmVy bm9yX3NpbXBsZW9uZGVtYW5kLmM6OTI6Cj4gPj4+Pj4+Pj4+Pj4gZGV2ZnJlcV9tb25pdG9yX3N0 YXJ0KGRldmZyZXEpOwo+ID4+Pj4+Pj4+Pj4+IGRyaXZlcnMvZGV2ZnJlcS90ZWdyYTMwLWRldmZy ZXEuYzo3NDQ6Cj4gPj4+Pj4+Pj4+Pj4gZGV2ZnJlcV9tb25pdG9yX3N0YXJ0KGRldmZyZXEpOwo+ ID4+Pj4+Pj4+Pj4+IC4uLi4uLgo+ID4+Pj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+ Pj4KPiA+Pj4+Pj4+Pj4+IC0tCj4gPj4+Pj4+Pj4+PiBCZXN0IFJlZ2FyZHMsCj4gPj4+Pj4+Pj4+ PiBTYW1zdW5nIEVsZWN0cm9uaWNzCj4gPj4+Pj4+Pj4+PiBDaGFud29vIENob2kKPiA+Pj4+Pj4+ Pj4KPiA+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4gLS0KPiA+Pj4+ Pj4+PiBCZXN0IFJlZ2FyZHMsCj4gPj4+Pj4+Pj4gQ2hhbndvbyBDaG9pCj4gPj4+Pj4+Pj4gU2Ft c3VuZyBFbGVjdHJvbmljcwo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+Cj4gPj4+Pj4+Cj4g Pj4+Pj4+IC0tCj4gPj4+Pj4+IEJlc3QgUmVnYXJkcywKPiA+Pj4+Pj4gQ2hhbndvbyBDaG9pCj4g Pj4+Pj4+IFNhbXN1bmcgRWxlY3Ryb25pY3MKPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4gLS0KPiA+Pj4+ IEJlc3QgUmVnYXJkcywKPiA+Pj4+IFNhbXN1bmcgRWxlY3Ryb25pY3MKPiA+Pj4+IENoYW53b28g Q2hvaQo+ID4+Cj4gPj4KPiA+Cj4gPgo+Cj4KPiAtLQo+IEJlc3QgUmVnYXJkcywKPiBDaGFud29v IENob2kKPiBTYW1zdW5nIEVsZWN0cm9uaWNzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==