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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id F1622C433F5 for ; Tue, 1 Mar 2022 09:28:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=XFt6vfj6YmwZ0X54aMI9znCQoOonBHQjMHnyhImu+7A=; b=BdToPWFuIMrBqE TXPbIvJAWcdjdvidnqvlIOZOXbrB5Cqnszo5o/BWt8giitL2t6tYfXnUUywHrOQxkuSRYe/az/BOo fzGFPqSUCRjhei8SDLr0NHdamp1tBJOLohlev1g8e7euAmr9S7yUJpVliuou8LyvJPWJ+fV5qMK8R eza4MYGdQ3O3z5xsTn/6QjtI143xM2fePxoH9odDhNQmrQLkEiCjIC/l5jcpawVd09shFHB+dPBIb bdpLsfpiWkZFJXtj1hKFQNMyT7SaCjM8RTAJ2f91ymAxacKP1JlQim50IUsZubJeGr9e3ai2ggBdu 69TE7bGJs5WxV0Oa+Q0g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOyni-00Fpz5-35; Tue, 01 Mar 2022 09:28:10 +0000 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOynV-00Fpwn-4d for linux-amlogic@lists.infradead.org; Tue, 01 Mar 2022 09:27:59 +0000 Received: by mail-wr1-x42a.google.com with SMTP id r10so19457131wrp.3 for ; Tue, 01 Mar 2022 01:27:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20210112.gappssmtp.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:organization:in-reply-to :content-transfer-encoding; bh=boeILy2K/ZR+dYqXIjEiMAGmwgby5KgaRmCA/l92Lk0=; b=j/ppsux6FlyovatN+GmIjaDzzPQ0WdsMBo2jJyAfeOehNlOov5C2TSBpqTxBB9w9BG zKRW9QeS17LXySEX/FdI4+XmoO/NtI4H/vuWu2wRfwXu4RoERvIX6078oNiceC2pP92D xiQtE8rTUlPf6rI9borSflKSR3TtpfRtTNTLqwN3xIhP+pgizGfEdGEWCezSxwC/4Mqv 04+085ZJU7VqS3y45XtzkCwStIS/aUZKekJcS5t+oS0ANaioDnY8r2NSvGFK/ATisPa4 WxEPo+NmXu/WmuZh5IDoTJpZtBYKmTfX/Arhsw604mSQ8gT2WKgFFn892YnzdcuriEDQ zxog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:organization:in-reply-to :content-transfer-encoding; bh=boeILy2K/ZR+dYqXIjEiMAGmwgby5KgaRmCA/l92Lk0=; b=KrKl/Ij84+qp0wITD9NPC+mLq7N0RFnww/Seiy+p8K956V1C5CTcFCApBNibqgShKy EVTe6bHAMy3txLWpxVujZYziWjDsiBPNjVjDkOlm6uMoPT30nAG9TUFyVSMnJaAXbbFn pHiouD868bIiva+TZfvkMgjnggEdcJrU3oYiFQMO0tVO5q6zhmt4qF4hPENsiJYAUR5N HZLot043PPS2yYs0zXlcIWsR2S8zfdfiAf9Uc9Fcg3rJR+kwYtBvIEDIzZgIZ/lBUlV4 UZYSAbz42qBGTHKOnHfeL8mDYJRc3Lp9hcMevcmTW+EO97GXssGhFw5pbunSFxD4ft5I 1U+A== X-Gm-Message-State: AOAM5303cufnw1vT5rAasSDwDvWh6ZDoZCMoiIvCMLXnqJNM5EgQAwrz LTE7VnPZl7z2K3PULfoCgKUXWg== X-Google-Smtp-Source: ABdhPJylCL/GTxZSwlDDgkF/dTvgYXAR2/r9Rvu2YvEXWyfO7ayE09CzVC8PhrSMGXyPfKIZcmM0hw== X-Received: by 2002:a05:6000:1e1d:b0:1ef:e163:928 with SMTP id bj29-20020a0560001e1d00b001efe1630928mr5141789wrb.221.1646126874766; Tue, 01 Mar 2022 01:27:54 -0800 (PST) Received: from [10.1.3.188] (laubervilliers-658-1-213-31.w90-63.abo.wanadoo.fr. [90.63.244.31]) by smtp.gmail.com with ESMTPSA id p12-20020a5d48cc000000b001e6114938a8sm12836177wrs.56.2022.03.01.01.27.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Mar 2022 01:27:54 -0800 (PST) Message-ID: Date: Tue, 1 Mar 2022 10:27:50 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH V7 0/6] Use CCF to describe the UART baud rate clock Content-Language: en-US To: Yu Tu , Jerome Brunet , linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , Jiri Slaby , Kevin Hilman , Martin Blumenstingl References: <20220225073922.3947-1-yu.tu@amlogic.com> <1j8rtvxnkv.fsf@starbuckisacylon.baylibre.com> <1jilsyvyz9.fsf@starbuckisacylon.baylibre.com> <0054cf2f-f09d-5b01-d6ca-0dc877a757c3@amlogic.com> From: Neil Armstrong Organization: Baylibre In-Reply-To: <0054cf2f-f09d-5b01-d6ca-0dc877a757c3@amlogic.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220301_012757_195379_F0B7EC38 X-CRM114-Status: GOOD ( 32.27 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org SGksCgpPbiAwMS8wMy8yMDIyIDEwOjAxLCBZdSBUdSB3cm90ZToKPiBIaSBKZXJvbWUsCj4gCj4g T24gMjAyMi8zLzEgMTY6MzYsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4+IFsgRVhURVJOQUwgRU1B SUwgXQo+Pgo+Pgo+PiBPbiBUdWUgMDEgTWFyIDIwMjIgYXQgMTM6NTQsIFl1IFR1IDx5dS50dUBh bWxvZ2ljLmNvbT4gd3JvdGU6Cj4+Cj4+PiBIaSBKZXJvbWUsCj4+Pgo+Pj4gT24gMjAyMi8yLzI4 IDE4OjU5LCBKZXJvbWUgQnJ1bmV0IHdyb3RlOgo+Pj4+IFsgRVhURVJOQUwgRU1BSUwgXQo+Pj4+ Cj4+Pj4gT24gRnJpIDI1IEZlYiAyMDIyIGF0IDE1OjM5LCBZdSBUdSA8eXUudHVAYW1sb2dpYy5j b20+IHdyb3RlOgo+Pj4+Cj4+Pj4+IFVzaW5nIHRoZSBjb21tb24gQ2xvY2sgY29kZSB0byBkZXNj cmliZSB0aGUgVUFSVCBiYXVkIHJhdGUKPj4+Pj4gY2xvY2sgbWFrZXMgaXQgZWFzaWVyIGZvciB0 aGUgVUFSVCBkcml2ZXIgdG8gYmUgY29tcGF0aWJsZQo+Pj4+PiB3aXRoIHRoZSBiYXVkIHJhdGUg cmVxdWlyZW1lbnRzIG9mIHRoZSBVQVJUIElQIG9uIGRpZmZlcmVudAo+Pj4+PiBtZXNvbiBjaGlw cy4gQWRkIE1lc29uIFM0IFNvQyBjb21wYXRpYmxlLgo+Pj4+Pgo+Pj4+PiBUaGUgdGVzdCBtZXRo b2Q6Cj4+Pj4+IFN0YXJ0IHRoZSBjb25zb2xlIGFuZCBydW4gdGhlIGZvbGxvd2luZyBjb21tYW5k cyBpbiB0dXJuOgo+Pj4+PiBzdHR5IC1GIC9kZXYvdHR5QU1MMCAxMTUyMDAgYW5kIHN0dHkgLUYg L2Rldi90dHlBTUwwIDkyMTYwMC4KPj4+Pj4KPj4+Pj4gU2luY2UgbW9zdCBTb0NzIGFyZSB0b28g b2xkLCBJIHdhcyBhYmxlIHRvIGZpbmQgYWxsIHRoZSBwbGF0Zm9ybXMgbXlzZWxmCj4+Pj4+IHN1 Y2ggYXMgTWVzb242LCBNZXNvbjgsIE1lc29uOGIsIEdYTCBhbmQgc28gb24uIEkgb25seSB0ZXN0 ZWQgaXQgd2l0aAo+Pj4+PiBHMTJBIGFuZCBTNC4KPj4+PiBHWEwgYmFzZWQgYm9hcmQgYXJlIHN0 aWxsIHZlcnkgY29tbW9uIGFuIGVhc3kgdG8gY29tZSBieS4KPj4+PiBJJ20gcXVpdGUgc3VycHJp c2VkIHRoYXQgeW91IGFyZSB1bmFibGUgdG8gdGVzdCBvbiB0aGlzIFNvQyBmYW1pbHkKPj4+IFRo ZSBmYWN0IG9mIHRoZSBtYXR0ZXIgaXMgdGhhdCB0aGUgUzQgaXMgb3VyIGVuZC0yMDIwIGNoaXAs IHRoZSBHMTJBIGlzCj4+PiBmaXZlIHllYXJzIG9sZCwgYW5kIHRoZSBHWEwgaXMgc2V2ZW4geWVh cnMgb2xkLiBJZiB5b3UgbXVzdCBhc2sgZm9yIGEKPj4+IHRlc3QsIEkgd2lsbCByZXBvcnQgdGhp cyBwcm9ibGVtIHRvIHRoZSBsZWFkZXJzaGlwIHRvIGNvb3JkaW5hdGUgcmVzb3VyY2VzLgo+Pgo+ PiBUaGUgYWdlIG9mIHRoZSBTb0MgaXMgaXJyZWxldmFudC4gU29DcyBkb24ndCBnZXQgZGVwcmVj YXRlZCBiYXNlZCBvbiBhZ2UKPj4gaW4gbWFpbmxpbmUuIEl0IGlzIG5vdCBqdXN0IEdYTCwgc2Ft ZSBnb2VzIGZvciBtZXNvbjguCj4+Cj4+IFRoZXNlIFNvQ3MgYXJlIGFjdGl2ZWx5IHVzZWQuIEJv YXJkcyB3aXRoIHRoZXNlIFNvQ3MgYXJlIHN0aWxsIHNvbGQgYW5kCj4+IGVhc2lseSBhdmFpbGFi bGUuIFNlZSB0aGUgVklNMSBvciB0aGUgTGlicmV0ZWNoIGJvYXJkcy4KPj4KPj4gQnJlYWtpbmcg dGhpbmdzIGZvciB0aGUgdGhlIHVzZXJzIG9mIHRoZXNlIFNvQ3MgaXMgbm90IGFjY2VwdGFibGUu Cj4+IFNvIHllcywgbG9va2luZyBhdCB5b3VyIHNlcmllcywgSSBzdHJvbmdseSByZWNvbW1lbmQg eW91IGRvIG1vcmUgdGVzdHMuCj4+Cj4gWW91IGhhdmUgYSBwb2ludCB0aGVyZS4gTGV0J3MgZ28g YmFjayB0byB0aGUgcm9vdCBvZiB0aGUgcHJvYmxlbS4gSSBhaW0gdG8gaW5jcmVhc2UgUzQuIFRo ZSBTNCB1c2VzIDEyTUhaIHRvIGNhbGN1bGF0ZSBiYXVkLiBUaGF0J3MgYWxsLgo+IENoYW5nZSBp dCB0byBDQ0YgYXMgeW91IHN1Z2dlc3RlZC4gVGhlIGNoYW5nZXMgYXJlIHNvIGxhcmdlIHRoYXQg eW91IGFzayB0byB0ZXN0IGFsbCB0aGUgY2hpcHMuCj4gSSBhbHNvIG1lbnRpb25lZCBsYXN0IHRp bWUgdGhhdCB1c2luZyBDQ0Ygd291bGQgbGVhZCB0byBhIGxvbmdlciBkcml2ZSBwcm9iZSB0aW1l IGFuZCBhZmZlY3QgdGhlIGJvYXJkIHN0YXJ0dXAgdGltZS4gSWYgdGhpcyBwcm9ibGVtIGlzIG5v dCBzb2x2ZWQsIGNhbiB3ZSByZWplY3QgdGhlIHdheSB5b3Ugc3VnZ2VzdCB1c2luZyBDQ0Y/CgpJ IGhhdmUgYSBtdWNoIHNpbXBsZXIgcHJvcG9zYWwgKG5vbi10ZXN0ZWQpOgoKPT09PT09PT09PT09 Pjw9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdHR5L3NlcmlhbC9tZXNvbl91YXJ0LmMgYi9kcml2ZXJzL3R0eS9z ZXJpYWwvbWVzb25fdWFydC5jCmluZGV4IDQ1ZTAwZDkyODI1My4uZWRhM2ZkYWQ2MGQxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3R0eS9zZXJpYWwvbWVzb25fdWFydC5jCisrKyBiL2RyaXZlcnMvdHR5 L3NlcmlhbC9tZXNvbl91YXJ0LmMKQEAgLTc2LDYgKzc2LDEyIEBACiAgI2RlZmluZSBBTUxfVUFS VF9QT0xMX1VTRUMJCTUKICAjZGVmaW5lIEFNTF9VQVJUX1RJTUVPVVRfVVNFQwkJMTAwMDAKCitz dHJ1Y3QgbWVzb25fdWFydF9kYXRhIHsKKwlzdHJ1Y3QgY2xrCSpjbGtfcGNsazsKKwlzdHJ1Y3Qg Y2xrCSpjbGtfeHRhbDsKKwlzdHJ1Y3QgY2xrCSpjbGtfYmF1ZDsKK307CisKICBzdGF0aWMgc3Ry dWN0IHVhcnRfZHJpdmVyIG1lc29uX3VhcnRfZHJpdmVyOwoKICBzdGF0aWMgc3RydWN0IHVhcnRf cG9ydCAqbWVzb25fcG9ydHNbQU1MX1VBUlRfUE9SVF9OVU1dOwpAQCAtMjkzLDE2ICsyOTksMTcg QEAgc3RhdGljIGludCBtZXNvbl91YXJ0X3N0YXJ0dXAoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkK CiAgc3RhdGljIHZvaWQgbWVzb25fdWFydF9jaGFuZ2Vfc3BlZWQoc3RydWN0IHVhcnRfcG9ydCAq cG9ydCwgdW5zaWduZWQgbG9uZyBiYXVkKQogIHsKKwlzdHJ1Y3QgbWVzb25fdWFydF9kYXRhICpw cml2YXRlX2RhdGEgPSBwb3J0LT5wcml2YXRlX2RhdGE7CiAgCXUzMiB2YWw7CgogIAl3aGlsZSAo IW1lc29uX3VhcnRfdHhfZW1wdHkocG9ydCkpCiAgCQljcHVfcmVsYXgoKTsKCi0JaWYgKHBvcnQt PnVhcnRjbGsgPT0gMjQwMDAwMDApIHsKLQkJdmFsID0gKChwb3J0LT51YXJ0Y2xrIC8gMykgLyBi YXVkKSAtIDE7CisJaWYgKGNsa19pc19tYXRjaChwcml2YXRlX2RhdGEtPmNsa19iYXVkLCBwcml2 YXRlX2RhdGEtPmNsa194dGFsKSkgeworCQl2YWwgPSAoKGNsa19nZXRfcmF0ZShwcml2YXRlX2Rh dGEtPmNsa19iYXVkKSAvIDMpIC8gYmF1ZCkgLSAxOwogIAkJdmFsIHw9IEFNTF9VQVJUX0JBVURf WFRBTDsKICAJfSBlbHNlIHsKLQkJdmFsID0gKChwb3J0LT51YXJ0Y2xrICogMTAgLyAoYmF1ZCAq IDQpICsgNSkgLyAxMCkgLSAxOworCQl2YWwgPSAoKGNsa19nZXRfcmF0ZShwcml2YXRlX2RhdGEt PmNsa19iYXVkKSAqIDEwIC8gKGJhdWQgKiA0KSArIDUpIC8gMTApIC0gMTsKICAJfQogIAl2YWwg fD0gQU1MX1VBUlRfQkFVRF9VU0U7CiAgCXdyaXRlbCh2YWwsIHBvcnQtPm1lbWJhc2UgKyBBTUxf VUFSVF9SRUc1KTsKQEAgLTY2NiwzMSArNjczLDI2IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGNs ayAqbWVzb25fdWFydF9wcm9iZV9jbG9jayhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAgfQoKICBzdGF0 aWMgaW50IG1lc29uX3VhcnRfcHJvYmVfY2xvY2tzKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYsCi0JCQkJICAgc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKKwkJCQkgICBzdHJ1Y3QgbWVzb25f dWFydF9kYXRhICpwcml2YXRlX2RhdGEpCiAgewotCXN0cnVjdCBjbGsgKmNsa194dGFsID0gTlVM TDsKLQlzdHJ1Y3QgY2xrICpjbGtfcGNsayA9IE5VTEw7Ci0Jc3RydWN0IGNsayAqY2xrX2JhdWQg PSBOVUxMOwotCi0JY2xrX3BjbGsgPSBtZXNvbl91YXJ0X3Byb2JlX2Nsb2NrKCZwZGV2LT5kZXYs ICJwY2xrIik7Ci0JaWYgKElTX0VSUihjbGtfcGNsaykpCi0JCXJldHVybiBQVFJfRVJSKGNsa19w Y2xrKTsKKwlwcml2YXRlX2RhdGEtPmNsa19wY2xrID0gbWVzb25fdWFydF9wcm9iZV9jbG9jaygm cGRldi0+ZGV2LCAicGNsayIpOworCWlmIChJU19FUlIocHJpdmF0ZV9kYXRhLT5jbGtfcGNsaykp CisJCXJldHVybiBQVFJfRVJSKHByaXZhdGVfZGF0YS0+Y2xrX3BjbGspOwoKLQljbGtfeHRhbCA9 IG1lc29uX3VhcnRfcHJvYmVfY2xvY2soJnBkZXYtPmRldiwgInh0YWwiKTsKLQlpZiAoSVNfRVJS KGNsa194dGFsKSkKLQkJcmV0dXJuIFBUUl9FUlIoY2xrX3h0YWwpOworCXByaXZhdGVfZGF0YS0+ Y2xrX3h0YWwgPSBtZXNvbl91YXJ0X3Byb2JlX2Nsb2NrKCZwZGV2LT5kZXYsICJ4dGFsIik7CisJ aWYgKElTX0VSUihwcml2YXRlX2RhdGEtPmNsa194dGFsKSkKKwkJcmV0dXJuIFBUUl9FUlIocHJp dmF0ZV9kYXRhLT5jbGtfeHRhbCk7CgotCWNsa19iYXVkID0gbWVzb25fdWFydF9wcm9iZV9jbG9j aygmcGRldi0+ZGV2LCAiYmF1ZCIpOwotCWlmIChJU19FUlIoY2xrX2JhdWQpKQotCQlyZXR1cm4g UFRSX0VSUihjbGtfYmF1ZCk7Ci0KLQlwb3J0LT51YXJ0Y2xrID0gY2xrX2dldF9yYXRlKGNsa19i YXVkKTsKKwlwcml2YXRlX2RhdGEtPmNsa19iYXVkID0gbWVzb25fdWFydF9wcm9iZV9jbG9jaygm cGRldi0+ZGV2LCAiYmF1ZCIpOworCWlmIChJU19FUlIocHJpdmF0ZV9kYXRhLT5jbGtfYmF1ZCkp CisJCXJldHVybiBQVFJfRVJSKHByaXZhdGVfZGF0YS0+Y2xrX2JhdWQpOwoKICAJcmV0dXJuIDA7 CiAgfQoKICBzdGF0aWMgaW50IG1lc29uX3VhcnRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKICB7CisJc3RydWN0IG1lc29uX3VhcnRfZGF0YSAqcHJpdmF0ZV9kYXRhOwogIAlz dHJ1Y3QgcmVzb3VyY2UgKnJlc19tZW07CiAgCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQ7CiAgCXUz MiBmaWZvc2l6ZSA9IDY0OyAvKiBEZWZhdWx0IGlzIDY0LCAxMjggZm9yIEVFIFVBUlRfMCAqLwpA QCAtNzE0LDYgKzcxNiwxMSBAQCBzdGF0aWMgaW50IG1lc29uX3VhcnRfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKICAJaWYgKHBkZXYtPmlkIDwgMCB8fCBwZGV2LT5pZCA+PSBB TUxfVUFSVF9QT1JUX05VTSkKICAJCXJldHVybiAtRUlOVkFMOwoKKwlwcml2YXRlX2RhdGEgPSBk ZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCpwcml2YXRlX2RhdGEpLAorCQkJCSAgICBH RlBfS0VSTkVMKTsKKwlpZiAoIXByaXZhdGVfZGF0YSkKKwkJcmV0dXJuIC1FTk9NRU07CisKICAJ cmVzX21lbSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7 CiAgCWlmICghcmVzX21lbSkKICAJCXJldHVybiAtRU5PREVWOwpAQCAtNzMzLDcgKzc0MCw3IEBA IHN0YXRpYyBpbnQgbWVzb25fdWFydF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogIAlpZiAoIXBvcnQpCiAgCQlyZXR1cm4gLUVOT01FTTsKCi0JcmV0ID0gbWVzb25fdWFydF9w cm9iZV9jbG9ja3MocGRldiwgcG9ydCk7CisJcmV0ID0gbWVzb25fdWFydF9wcm9iZV9jbG9ja3Mo cGRldiwgcHJpdmF0ZV9kYXRhKTsKICAJaWYgKHJldCkKICAJCXJldHVybiByZXQ7CgpAQCAtNzQ5 LDYgKzc1Niw3IEBAIHN0YXRpYyBpbnQgbWVzb25fdWFydF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQogIAlwb3J0LT54X2NoYXIgPSAwOwogIAlwb3J0LT5vcHMgPSAmbWVzb25f dWFydF9vcHM7CiAgCXBvcnQtPmZpZm9zaXplID0gZmlmb3NpemU7CisJcG9ydC0+cHJpdmF0ZV9k YXRhID0gcHJpdmF0ZV9kYXRhOwoKICAJbWVzb25fcG9ydHNbcGRldi0+aWRdID0gcG9ydDsKICAJ cGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcG9ydCk7Cj09PT09PT09PT09PT48PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpOZWlsCgo+Pj4+Cj4+ Pj4+Cj4+Pj4+IFl1IFR1ICg2KToKPj4+Pj4gwqDCoMKgIHR0eTogc2VyaWFsOiBtZXNvbjogTW92 ZSByZXF1ZXN0IHRoZSByZWdpc3RlciByZWdpb24gdG8gcHJvYmUKPj4+Pj4gwqDCoMKgIHR0eTog c2VyaWFsOiBtZXNvbjogVXNlIGRldm1faW9yZW1hcF9yZXNvdXJjZSB0byBnZXQgcmVnaXN0ZXIg bWFwcGVkCj4+Pj4+IMKgwqDCoMKgwqAgbWVtb3J5Cj4+Pj4+IMKgwqDCoCB0dHk6IHNlcmlhbDog bWVzb246IERlc2NyaWJlcyB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIFVBUlQgYmF1ZCByYXRlCj4+ Pj4+IMKgwqDCoMKgwqAgY2xvY2sgdXNpbmcgYSBjbG9jayBmcmFtZQo+Pj4+PiDCoMKgwqAgdHR5 OiBzZXJpYWw6IG1lc29uOiBNYWtlIHNvbWUgYml0IG9mIHRoZSBSRUc1IHJlZ2lzdGVyIHdyaXRh YmxlCj4+Pj4+IMKgwqDCoCB0dHk6IHNlcmlhbDogbWVzb246IFRoZSBzeXN0ZW0gc3R1Y2sgd2hl biB5b3UgcnVuIHRoZSBzdHR5IGNvbW1hbmQgb24KPj4+Pj4gwqDCoMKgwqDCoCB0aGUgY29uc29s ZSB0byBjaGFuZ2UgdGhlIGJhdWQgcmF0ZQo+Pj4+PiDCoMKgwqAgdHR5OiBzZXJpYWw6IG1lc29u OiBBZGRlZCBTNCBTT0MgY29tcGF0aWJpbGl0eQo+Pj4+Pgo+Pj4+PiBWNiAtPiBWNzogVG8gc29s dmUgdGhlIHN5c3RlbSBzdHVjayB3aGVuIHlvdSBydW4gdGhlIHN0dHkgY29tbWFuZCBvbgo+Pj4+ PiB0aGUgY29uc29sZSB0byBjaGFuZ2UgdGhlIGJhdWQgcmF0ZS4KPj4+Pj4gVjUgLT4gVjY6IENo YW5nZSBlcnJvciBmb3JtYXQgYXMgZGlzY3Vzc2VkIGluIHRoZSBlbWFpbC4KPj4+Pj4gVjQgLT4g VjU6IENoYW5nZSBlcnJvciBmb3JtYXQuCj4+Pj4+IFYzIC0+IFY0OiBDaGFuZ2UgQ0NGIHRvIGRl c2NyaWJlIHRoZSBVQVJUIGJhdWQgcmF0ZSBjbG9jayBhcyBkaXNjdXNzZWQKPj4+Pj4gaW4gdGhl IGVtYWlsLgo+Pj4+PiBWMiAtPiBWMzogYWRkIGNvbXBhdGlibGUgPSAiYW1sb2dpYyxtZXNvbi1n eC11YXJ0Ii4gQmVjYXVzZSBpdCBtdXN0IGNoYW5nZQo+Pj4+PiB0aGUgRFRTIGJlZm9yZSBpdCBj YW4gYmUgZGVsZXRlZAo+Pj4+PiBWMSAtPiBWMjogVXNlIENDRiB0byBkZXNjcmliZSB0aGUgVUFS VCBiYXVkIHJhdGUgY2xvY2suTWFrZSBzb21lIGNoYW5nZXMgYXMKPj4+Pj4gZGlzY3Vzc2VkIGlu IHRoZSBlbWFpbAo+Pj4+Pgo+Pj4+PiBMaW5rOmh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4 LWFtbG9naWMvMjAyMjAxMTgwMzA5MTEuMTI4MTUtNC15dS50dUBhbWxvZ2ljLmNvbS8KPj4+Pj4K Pj4+Pj4gwqDCoCBkcml2ZXJzL3R0eS9zZXJpYWwvbWVzb25fdWFydC5jIHwgMjIxICsrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tCj4+Pj4+IMKgwqAgMSBmaWxlIGNoYW5nZWQsIDE1NCBp bnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKPj4+Pj4KPj4+Pj4KPj4+Pj4gYmFzZS1jb21t aXQ6IGE2MDNjYTYwY2ViZmY4NTg5ODgyNDI3YTY3Zjg3MGVkOTQ2YjNmYzgKPj4+Pgo+PgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFtbG9n aWMgbWFpbGluZyBsaXN0CmxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFtbG9naWMK