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.8 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 autolearn=unavailable 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 63C0DC4338F for ; Tue, 3 Aug 2021 10:33:38 +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 2C1D56023B for ; Tue, 3 Aug 2021 10:33:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 2C1D56023B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; 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=yzJMG6RMwt9AFz6jMVN2ArtINX9b68OnENK4/rRVwmc=; b=sS0fotxipqapLJ NaLEH0y1tYto2OVAlpQAJ2Ol0wHEy4f3dOKFxqeGrEAcRRpJgNenuNgr8N4KjNS3/myYEXIq5UZAq eq9h7Y2dWO9QHvq2c3pYZeCt8mhfxvTLYh6KrFQtuj8P7IYsFGLKFY8KlxbWOzDI1CbIT2onE1Zlf DyJ/E7b+XJGk1TyzCmhaeuWhUTpWiRgwDsdNTibgX8kQtx7luzWLP43Og2R54qYxSG9e6z/Pas9eb h129Ncw3vchSUezpXiluwuyrvCQlzdqIHQhGBXRVAE0tLMlMAJu28+Hf2FSKF8YLeSSpwEItmV2uC dHr2WQ4Q1CEVS2jeViEg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mArhW-0022X5-Ok; Tue, 03 Aug 2021 10:31:13 +0000 Received: from mail-ot1-x32f.google.com ([2607:f8b0:4864:20::32f]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mAre3-0020pb-V9; Tue, 03 Aug 2021 10:27:38 +0000 Received: by mail-ot1-x32f.google.com with SMTP id 19-20020a9d08930000b02904b98d90c82cso20254151otf.5; Tue, 03 Aug 2021 03:27:35 -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=RJAjOyAh19SP1Ix7/MKH3LkSUFdLMkQa6ATb2Y1qi4U=; b=Cd0qqpK58mxj51BHyt2eKmFcavbOyoBJ6oj2vG4qQ0uMHpoVjfYJb8rAqHsW8eLgIW FZI+eOn64x5eJG/x84cBapAI0sv9a4mIG3MbUd5TkfQpM9vaCw+SUcmfQ8YrHJY5MKDF wfZg6Fd+7kGICrMP8HTTdU9rwMDR5Y2kfHM4mlyQTMmPocwL+KKpCXwGPH5Ff/n2FHVm LTTlqHvwNnNAQDrGOREdf3c1cSmkq862P69WMQNga9qar2T+Z8gcj3tCYbuMzQcgPcv0 O/ZLWZ7BIEzM8jB4eoLYWZvvD6HUCJU+JZnsQo5zNP1t3cKS/Xk1DNnxNfG/9XUsNJkM wPLA== 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=RJAjOyAh19SP1Ix7/MKH3LkSUFdLMkQa6ATb2Y1qi4U=; b=g7AmGEN9QAULIjQ0LQvoan3Lwvm8RWWG/6rg5TO1tc4BrJzd18dW0ZdAd2JpaseLen k3w4X6z5P/4Itr2AuXwYIyrEmvPV/KDyKNkNG46DRg2fCz6A/vYvtfQ79O4mFMZncKEy L7+Jb9WJNPhqMsOsm81u/pqTHWyIzJzliXIvy6EW0ABy8vLSqnJjpLD7QgJ0qN98cmxt NhaVtLZ3pdwKNXllZ0TU6ogDNbxZBJ+q4SrvId6zeRyfNei0sjDlyTCkwQRlOiS2qFC/ W7A+SWuzzO5efw1yf1mIzTdGUsNDIQ2gBFYr3p88FgfYG7i2w5s5Ao+hgGzn4Cy/X2BJ j7yw== X-Gm-Message-State: AOAM533/z3lrsBXYV5NHPgn/O7w4lfdkUXwHcC9nkyiUO2h4wKHgqiew Q3R4xb3JCxe3whWkUrY4GZTwUhOO77qi0xCwhkE= X-Google-Smtp-Source: ABdhPJzKnLzGq6sHRrNssYpt7odgWCVCMvvPta/G9lfrIc2jwiNf6k2x/K2tBI13P4PlaScvvFI8fkPk1MRByfJRaGw= X-Received: by 2002:a9d:6490:: with SMTP id g16mr14923290otl.184.1627986454960; Tue, 03 Aug 2021 03:27:34 -0700 (PDT) MIME-Version: 1.0 References: <20210802121215.703023-1-eizan@chromium.org> <20210802220943.v6.5.Iedb6b4f47788548b0cf7bfffae85cac917344c2f@changeid> In-Reply-To: <20210802220943.v6.5.Iedb6b4f47788548b0cf7bfffae85cac917344c2f@changeid> From: Enric Balletbo Serra Date: Tue, 3 Aug 2021 12:27:21 +0200 Message-ID: Subject: Re: [PATCH v6 5/9] mtk-mdp: make mdp driver to be loadable by platform_device_register*() To: Eizan Miyamoto Cc: linux-kernel , Chen-Yu Tsai , Houlong Wei , Yong Wu , Enric Balletbo i Serra , devicetree , Chun-Kuang Hu , Andrew-CT Chen , Matthias Brugger , Mauro Carvalho Chehab , Minghsiu Tsai , Linux ARM , Linux Media Mailing List , "moderated list:ARM/Mediatek SoC support" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210803_032736_104250_ACC35052 X-CRM114-Status: GOOD ( 50.10 ) 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 SGkgRWl6YW4sCgpUaGFuayB5b3UgZm9yIHlvdXIgcGF0Y2guCgpNaXNzYXRnZSBkZSBFaXphbiBN aXlhbW90byA8ZWl6YW5AY2hyb21pdW0ub3JnPiBkZWwgZGlhIGRsLiwgMiBk4oCZYWcuCjIwMjEg YSBsZXMgMTQ6MTM6Cj4KPiBSYXRoZXIgdGhhbiBoYW5naW5nIHRoZSBNRFAgbWFzdGVyIGNvbXBv bmVudCBkcml2ZXIgb2ZmIG9mIHRoZSByZG1hMAo+IGRldmljZSwgbWFrZSBpdCBwb3NzaWJsZSB0 b28gY3JlYXRlIGEgInZpcnR1YWwiIGRldmljZSBieSByZWdpc3RlcmluZwo+IGl0IHdpdGggcGxh dGZvcm1fZGV2aWNlX3JlZ2lzdGVyXyooKSB0byBiZSBwcm9iZWQgYnkgdGhlIG10a19tZHBfY29y ZQo+IGRyaXZlci4KPgo+IEJyb2FkbHksIHRocmVlIGludGVyZGVwZW5kZW50IHRoaW5ncyBhcmUg ZG9uZSBieSB0aGlzIGNoYW5nZToKPiAtIE1ha2UgaXQgaXMgcG9zc2libGUgdG8gc2VhcmNoIGZv ciBNRFAgZGV2aWNlcyBpbiB0aGUgZGV2aWNlIHRyZWUKPiAgIHRocm91Z2ggdGhlIGdyYW5kcGFy ZW50IGRldmljZSdzIG9mX25vZGUuCj4gLSB2NGwtcmVsYXRlZCBzZXR1cCBpcyBtb3ZlZCBpbnRv IGZyb20gdGhlIG10a19tZHBfY29yZSBkcml2ZXIgdG8gdGhlCj4gICBtdGtfbWRwX2NvbXAgZHJp dmVyLgo+IC0gUHJlc2VuY2Ugb2YgYSBtZWRpYXRlayx2cHUgcHJvcGVydHkgaW4gYW4gTURQIGNv bXBvbmVudCBkZXZpY2Ugbm9kZQo+ICAgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCBkZXZpY2Ug dG8gdXNlIHdoZW4gZGlzcGF0Y2hpbmcgRE1BIG9wcyBmcm9tCj4gICB0aGUgcmVsZXZhbnQgaW9j dGwsIGFuZCBhbHNvIGRvIFY0TDIgaW5pdGlhbGl6YXRpb24gaW4gdGhpcyBjYXNlLgo+Cj4gU2ln bmVkLW9mZi1ieTogRWl6YW4gTWl5YW1vdG8gPGVpemFuQGNocm9taXVtLm9yZz4KPiAtLS0KPgo+ IENoYW5nZXMgaW4gdjY6Cj4gLSBEb24ndCBwcm9wYWdhdGUgZXJyb3JzIGZyb20gY2xvY2tfb24v b2ZmIGFzIGFuIGFmdGVydGhvdWdodC4KPiAtIFNwbGl0IGFwYXJ0IG1vZGlmeWluZyBtZHAgZHJp dmVyIHRvIGJlIGxvYWRhYmxlIGZyb20gbW1zeXMgZnJvbQo+ICAgYWN0dWFsbHkgbG9hZGluZyBp dCBmcm9tIG1tc3lzIGludG8gdHdvIGNoYW5ncyB0byBtYWtlIHJldmlldyBlYXNpZXIuCj4gLSBV cGRhdGUgZGV2aWNldHJlZSBiaW5kaW5ncyB0byByZWZsZWN0IG5vIGxvbmdlciBuZWVkaW5nIHRo ZQo+ICAgbWVkaWF0ZWssdnB1IHByb3BlcnR5IGluIHRoZSBtZHBfcmRtYTAgZGV2aWNlIG5vZGUu Cj4gLSBTb21lIHN0eWxpc3RpYyBjbGVhbnVwcy4KPgo+IENoYW5nZXMgaW4gdjU6Cj4gLSByZWJh c2UgYW5kIHRlc3Qgb24gNS4xMy1uZXh0IEAgZTJmNzRiMTNkYmU2Cj4KPiBDaGFuZ2VzIGluIHY0 Ogo+IC0gcmViYXNlIGFuZCB0ZXN0IG9uIDUuMTMKPiAtIGRvbid0IGRlcGVuZCBvbiBodHRwczov L3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QvbGludXgtbWVkaWF0ZWsvbGlzdC8/c2VyaWVz PTQ2NDg3Mwo+Cj4gQ2hhbmdlcyBpbiB2MzoKPiAtIGdldCBtZHAgbWFzdGVyIGZyb20gYWxpYXNl cyBpbnN0ZWFkIG9mIHN0cmNtcCBhZ2FpbnN0IG9mX25vZGUtPm5hbWUKPgo+IENoYW5nZXMgaW4g djI6Cj4gLSByZWJhc2VkIG9udG8gTGludXggNS4xMgo+IC0gMTAwIGNoYXIgbGluZSBsZW5ndGgg YWxsb3dhbmNlIHdhcyB1dGlsaXplZCBpbiBhIGZldyBwbGFjZXMKPiAtIFJlbW92YWwgb2YgYSBy ZWR1bmRhbnQgZGV2X2VycigpIHByaW50IGF0IHRoZSBlbmQgb2YKPiAgIG10a19tZHBfY29tcF9p bml0KCkKPiAtIEluc3RlYWQgb2YgcHJpbnRpbmcgZXJyb3JzIGFuZCBpZ25vcmluZyB0aGVtLCBJ J3ZlIGFkZGVkIGEgcGF0Y2ggdG8KPiAgIGNvcnJlY3RseSBwcm9wYWdhdGUgdGhlbS4KPiAtIFVz ZSBvZiBDIHN0eWxlIGNvbW1lbnRzLgo+IC0gVGhyZWUgYWRkaXRpb25hbCBwYXRjaGVzIHdlcmUg YWRkZWQgdG8gZWxpbWluYXRlIGRlcGVuZGVuY3kgb24gdGhlCj4gICBtZWRpYXRlayx2cHUgcHJv cGVydHkgaW5zaWRlIHRoZSBtZHBfcmRtYTAgZGV2aWNlIG5vZGUuCj4KPiAgZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9tdGstbWRwL210a19tZHBfY29tcC5jIHwgNTEgKysrKysrKysrKy0tLS0tCj4g IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYyB8IDYyICsrKysr Ky0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwL210a19tZHBf Y29yZS5oIHwgIDIgKwo+ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAvbXRrX21kcF9t Mm0uYyAgfCAgNCArLQo+ICA0IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDU5IGRl bGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1k cC9tdGtfbWRwX2NvbXAuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRw X2NvbXAuYwo+IGluZGV4IDdiNmM4YTNmMzQ1NS4uODVlZjI3NDg0MWEzIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvbXAuYwo+ICsrKyBiL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvbXAuYwo+IEBAIC0xNTUsOCAr MTU1LDQ1IEBAIHN0YXRpYyBpbnQgbXRrX21kcF9jb21wX2JpbmQoc3RydWN0IGRldmljZSAqZGV2 LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhCj4gIHsKPiAgICAgICAgIHN0cnVjdCBt dGtfbWRwX2NvbXAgKmNvbXAgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiAgICAgICAgIHN0cnVj dCBtdGtfbWRwX2RldiAqbWRwID0gZGF0YTsKPiArICAgICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAq dnB1X25vZGU7Cj4KPiAgICAgICAgIG10a19tZHBfcmVnaXN0ZXJfY29tcG9uZW50KG1kcCwgY29t cCk7Cj4gKwo+ICsgICAgICAgLyoKPiArICAgICAgICAqIElmIHRoaXMgY29tcG9uZW50IGhhcyBh ICJtZWRpYXRlay12cHUiIHByb3BlcnR5LCBpdCBpcyByZXNwb25zaWJsZSBmb3IKPiArICAgICAg ICAqIG5vdGlmeWluZyB0aGUgbWRwIG1hc3RlciBkcml2ZXIgYWJvdXQgaXQgc28gaXQgY2FuIGJl IGZ1cnRoZXIgaW5pdGlhbGl6ZWQKPiArICAgICAgICAqIGxhdGVyLgo+ICsgICAgICAgICovCj4g KyAgICAgICB2cHVfbm9kZSA9IG9mX3BhcnNlX3BoYW5kbGUoZGV2LT5vZl9ub2RlLCAibWVkaWF0 ZWssdnB1IiwgMCk7Cj4gKyAgICAgICBpZiAodnB1X25vZGUpIHsKPiArICAgICAgICAgICAgICAg aW50IHJldDsKPiArCj4gKyAgICAgICAgICAgICAgIG1kcC0+dnB1X2RldiA9IG9mX2ZpbmRfZGV2 aWNlX2J5X25vZGUodnB1X25vZGUpOwo+ICsgICAgICAgICAgICAgICBpZiAoV0FSTl9PTighbWRw LT52cHVfZGV2KSkgewoKVGhpcyBsb29rcyBhIGJpdCBleGNlc3NpdmUgSU1PLCBidXQgb24gdGhl IG90aGVyIGhhbmQgbG9va3MgbGlrZSB0aGlzCmlzIGEgdHJhbnNpdGlvbmFsIHBhdGNoIGFzIGFs bCB0aGlzIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBzb21lIHJld29yawpvbiB0aGUgbGF0ZXN0IHBh dGNoLgoKPiArICAgICAgICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgInZwdSBwZGV2IGZh aWxlZFxuIik7CgpZb3UgYWxyZWFkeSBkaWQgYSBXQVJOX09OLCB0aGlzIHByaW50IGlzIG5vdCBu ZWVkZWQuIEJ1dCBhZ2FpbiwgYWxsCnRoaXMgc2VlbXMgdG8gYmUgdHJhbnNpdGlvbmFsIGFuZCBp cyByZW1vdmVkIGxhdGVyLiBTbyBpdCBkb2Vzbid0CnJlYWxseSBib3RoZXJzIG1lCgpSZXZpZXdl ZC1ieTogRW5yaWMgQmFsbGV0Ym8gaSBTZXJyYSA8ZW5yaWMuYmFsbGV0Ym9AY29sbGFib3JhLmNv bT4KCgo+ICsgICAgICAgICAgICAgICAgICAgICAgIG9mX25vZGVfcHV0KHZwdV9ub2RlKTsKPiAr ICAgICAgICAgICAgICAgfQo+ICsKPiArICAgICAgICAgICAgICAgcmV0ID0gdjRsMl9kZXZpY2Vf cmVnaXN0ZXIoZGV2LCAmbWRwLT52NGwyX2Rldik7Cj4gKyAgICAgICAgICAgICAgIGlmIChyZXQp IHsKPiArICAgICAgICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZhaWxlZCB0byByZWdp c3RlciB2NGwyIGRldmljZVxuIik7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7Cj4gKyAgICAgICAgICAgICAgIH0KPiArCj4gKyAgICAgICAgICAgICAgIHJldCA9IHZi Ml9kbWFfY29udGlnX3NldF9tYXhfc2VnX3NpemUoZGV2LCBETUFfQklUX01BU0soMzIpKTsKPiAr ICAgICAgICAgICAgICAgaWYgKHJldCkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGRldl9l cnIoZGV2LCAiRmFpbGVkIHRvIHNldCB2YjIgZG1hIG1hZyBzZWcgc2l6ZVxuIik7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gKyAgICAgICAgICAgICAgIH0KPiAr Cj4gKyAgICAgICAgICAgICAgIC8qCj4gKyAgICAgICAgICAgICAgICAqIHByZXNlbmNlIG9mIHRo ZSAibWVkaWF0ZWssdnB1IiBwcm9wZXJ0eSBpbiBhIGRldmljZSBub2RlCj4gKyAgICAgICAgICAg ICAgICAqIGluZGljYXRlcyB0aGF0IGl0IGlzIHRoZSBwcmltYXJ5IE1EUCByZG1hIGRldmljZSBh bmQgTURQIERNQQo+ICsgICAgICAgICAgICAgICAgKiBvcHMgc2hvdWxkIGJlIGhhbmRsZWQgYnkg aXRzIERNQSBjYWxsYmFja3MuCj4gKyAgICAgICAgICAgICAgICAqLwo+ICsgICAgICAgICAgICAg ICBtZHAtPnJkbWFfZGV2ID0gZGV2Owo+ICsgICAgICAgfQo+ICsKPiAgICAgICAgIHBtX3J1bnRp bWVfZW5hYmxlKGRldik7Cj4KPiAgICAgICAgIHJldHVybiAwOwo+IEBAIC0yMzcsMjMgKzI3NCw5 IEBAIGludCBtdGtfbWRwX2NvbXBfaW5pdChzdHJ1Y3QgbXRrX21kcF9jb21wICpjb21wLCBzdHJ1 Y3QgZGV2aWNlICpkZXYpCj4gIHN0YXRpYyBpbnQgbXRrX21kcF9jb21wX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIHsKPiAgICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldiA9 ICZwZGV2LT5kZXY7Cj4gLSAgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKnZwdV9ub2RlOwo+ICAg ICAgICAgaW50IHN0YXR1czsKPiAgICAgICAgIHN0cnVjdCBtdGtfbWRwX2NvbXAgKmNvbXA7Cj4K PiAtICAgICAgIHZwdV9ub2RlID0gb2ZfcGFyc2VfcGhhbmRsZShkZXYtPm9mX25vZGUsICJtZWRp YXRlayx2cHUiLCAwKTsKPiAtICAgICAgIGlmICh2cHVfbm9kZSkgewo+IC0gICAgICAgICAgICAg ICBvZl9ub2RlX3B1dCh2cHVfbm9kZSk7Cj4gLSAgICAgICAgICAgICAgIC8qCj4gLSAgICAgICAg ICAgICAgICAqIFRoZSBkZXZpY2UgdHJlZSBub2RlIHdpdGggYSBtZWRpYXRlayx2cHUgcHJvcGVy dHkgaXMgZGVlbWVkCj4gLSAgICAgICAgICAgICAgICAqIHRoZSBNRFAgIm1hc3RlciIgZGV2aWNl LCB3ZSBkb24ndCB3YW50IHRvIGFkZCBhIGNvbXBvbmVudAo+IC0gICAgICAgICAgICAgICAgKiBm b3IgaXQgaW4gdGhpcyBmdW5jdGlvbiBiZWNhdXNlIHRoZSBpbml0aWFsaXphdGlvbiBmb3IgdGhl Cj4gLSAgICAgICAgICAgICAgICAqIG1hc3RlciBpcyBkb25lIGVsc2V3aGVyZS4KPiAtICAgICAg ICAgICAgICAgICovCj4gLSAgICAgICAgICAgICAgIGRldl9pbmZvKGRldiwgInZwdSBub2RlIGZv dW5kLCBub3QgcHJvYmluZ1xuIik7Cj4gLSAgICAgICAgICAgICAgIHJldHVybiAtRU5PREVWOwo+ IC0gICAgICAgfQo+IC0KPiAgICAgICAgIGNvbXAgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2Yo KmNvbXApLCBHRlBfS0VSTkVMKTsKPiAgICAgICAgIGlmICghY29tcCkKPiAgICAgICAgICAgICAg ICAgcmV0dXJuIC1FTk9NRU07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v bXRrLW1kcC9tdGtfbWRwX2NvcmUuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9t dGtfbWRwX2NvcmUuYwo+IGluZGV4IGE3MmE5YmE0MWVhNi4uNTBlYWZjYzk5OTNkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYwo+ICsr KyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYwo+IEBAIC0x NTksNiArMTU5LDE3IEBAIHN0YXRpYyBpbnQgbXRrX21kcF9tYXN0ZXJfYmluZChzdHJ1Y3QgZGV2 aWNlICpkZXYpCj4gICAgICAgICAgICAgICAgIGdvdG8gZXJyX2NvbXBvbmVudF9iaW5kX2FsbDsK PiAgICAgICAgIH0KPgo+ICsgICAgICAgaWYgKG1kcC0+dnB1X2Rldikgewo+ICsgICAgICAgICAg ICAgICBpbnQgcmV0ID0gdnB1X3dkdF9yZWdfaGFuZGxlcihtZHAtPnZwdV9kZXYsIG10a19tZHBf cmVzZXRfaGFuZGxlciwgbWRwLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFZQVV9SU1RfTURQKTsKPiArICAgICAgICAgICAgICAgaWYgKHJldCkgewo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHJlc2V0 IGhhbmRsZXJcbiIpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyX3dkdF9yZWc7 Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAg IGRldl9lcnIoZGV2LCAibm8gdnB1X2RldiBmb3VuZFxuIik7Cj4gKyAgICAgICB9Cj4gKwo+ICAg ICAgICAgc3RhdHVzID0gbXRrX21kcF9yZWdpc3Rlcl9tMm1fZGV2aWNlKG1kcCk7Cj4gICAgICAg ICBpZiAoc3RhdHVzKSB7Cj4gICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVkIHRv IHJlZ2lzdGVyIG0ybSBkZXZpY2U6ICVkXG4iLCBzdGF0dXMpOwo+IEBAIC0xNzAsNiArMTgxLDgg QEAgc3RhdGljIGludCBtdGtfbWRwX21hc3Rlcl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiAg ICAgICAgIHJldHVybiAwOwo+Cj4gIGVycl9tdGtfbWRwX3JlZ2lzdGVyX20ybV9kZXZpY2U6Cj4g Kwo+ICtlcnJfd2R0X3JlZzoKPiAgICAgICAgIGNvbXBvbmVudF91bmJpbmRfYWxsKGRldiwgbWRw KTsKPgo+ICBlcnJfY29tcG9uZW50X2JpbmRfYWxsOgo+IEBAIC0yMjgsOCArMjQxLDEzIEBAIHN0 YXRpYyBpbnQgbXRrX21kcF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAg ICAgICAgICAgICAgICBvZl9ub2RlX3B1dChub2RlKTsKPiAgICAgICAgICAgICAgICAgcGFyZW50 ID0gZGV2LT5vZl9ub2RlOwo+ICAgICAgICAgICAgICAgICBkZXZfd2FybihkZXYsICJkZXZpY2Ug dHJlZSBpcyBvdXQgb2YgZGF0ZVxuIik7Cj4gLSAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgfSBl bHNlIGlmIChkZXYtPm9mX25vZGUpIHsKPiAgICAgICAgICAgICAgICAgcGFyZW50ID0gZGV2LT5v Zl9ub2RlLT5wYXJlbnQ7Cj4gKyAgICAgICB9IGVsc2UgaWYgKGRldi0+cGFyZW50KSB7Cj4gKyAg ICAgICAgICAgICAgIC8qIG1heWJlIHdlIHdlcmUgY3JlYXRlZCBmcm9tIGEgY2FsbCB0byBwbGF0 Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfZGF0YSgpICovCj4gKyAgICAgICAgICAgICAgIHBhcmVudCA9 IGRldi0+cGFyZW50LT5wYXJlbnQtPm9mX25vZGU7Cj4gKyAgICAgICB9IGVsc2Ugewo+ICsgICAg ICAgICAgICAgICByZXR1cm4gLUVOT0RFVjsKPiAgICAgICAgIH0KPgo+ICAgICAgICAgLyogSXRl cmF0ZSBvdmVyIHNpYmxpbmcgTURQIGZ1bmN0aW9uIGJsb2NrcyAqLwo+IEBAIC0yNjIsMTYgKzI4 MCw2IEBAIHN0YXRpYyBpbnQgbXRrX21kcF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICB9Cj4KPiAtICAgICAgIC8qCj4gLSAg ICAgICAgKiBDcmVhdGUgYSBjb21wb25lbnQgZm9yIG15c2VsZiBzbyB0aGF0IGNsb2NrcyBjYW4g YmUgdG9nZ2xlZCBpbgo+IC0gICAgICAgICogY2xvY2tfb24oKS4KPiAtICAgICAgICAqLwo+IC0g ICAgICAgcmV0ID0gbXRrX21kcF9jb21wX2luaXQoJm1kcC0+Y29tcF9zZWxmLCBkZXYpOwo+IC0g ICAgICAgaWYgKHJldCkgewo+IC0gICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZhaWxlZCB0 byBpbml0aWFsaXplIGNvbXBvbmVudFxuIik7Cj4gLSAgICAgICAgICAgICAgIGdvdG8gZXJyX2Nv bXA7Cj4gLSAgICAgICB9Cj4gLQo+ICAgICAgICAgbWRwLT5qb2Jfd3EgPSBjcmVhdGVfc2luZ2xl dGhyZWFkX3dvcmtxdWV1ZShNVEtfTURQX01PRFVMRV9OQU1FKTsKPiAgICAgICAgIGlmICghbWRw LT5qb2Jfd3EpIHsKPiAgICAgICAgICAgICAgICAgZGV2X2VycigmcGRldi0+ZGV2LCAidW5hYmxl IHRvIGFsbG9jIGpvYiB3b3JrcXVldWVcbiIpOwo+IEBAIC0yODcsMjkgKzI5NSw4IEBAIHN0YXRp YyBpbnQgbXRrX21kcF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAgICAg ICAgfQo+ICAgICAgICAgSU5JVF9XT1JLKCZtZHAtPndkdF93b3JrLCBtdGtfbWRwX3dkdF93b3Jr ZXIpOwo+Cj4gLSAgICAgICByZXQgPSB2NGwyX2RldmljZV9yZWdpc3RlcihkZXYsICZtZHAtPnY0 bDJfZGV2KTsKPiAtICAgICAgIGlmIChyZXQpIHsKPiAtICAgICAgICAgICAgICAgZGV2X2Vycigm cGRldi0+ZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHY0bDIgZGV2aWNlXG4iKTsKPiAtICAgICAg ICAgICAgICAgcmV0ID0gLUVJTlZBTDsKPiAtICAgICAgICAgICAgICAgZ290byBlcnJfZGV2X3Jl Z2lzdGVyOwo+IC0gICAgICAgfQo+IC0KPiAtICAgICAgIG1kcC0+dnB1X2RldiA9IHZwdV9nZXRf cGxhdF9kZXZpY2UocGRldik7Cj4gLSAgICAgICByZXQgPSB2cHVfd2R0X3JlZ19oYW5kbGVyKG1k cC0+dnB1X2RldiwgbXRrX21kcF9yZXNldF9oYW5kbGVyLCBtZHAsCj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFZQVV9SU1RfTURQKTsKPiAtICAgICAgIGlmIChyZXQpIHsKPiAt ICAgICAgICAgICAgICAgZGV2X2VycigmcGRldi0+ZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHJl c2V0IGhhbmRsZXJcbiIpOwo+IC0gICAgICAgICAgICAgICBnb3RvIGVycl93ZHRfcmVnOwo+IC0g ICAgICAgfQo+IC0KPiAgICAgICAgIHBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIG1kcCk7Cj4K PiAtICAgICAgIHJldCA9IHZiMl9kbWFfY29udGlnX3NldF9tYXhfc2VnX3NpemUoJnBkZXYtPmRl diwgRE1BX0JJVF9NQVNLKDMyKSk7Cj4gLSAgICAgICBpZiAocmV0KSB7Cj4gLSAgICAgICAgICAg ICAgIGRldl9lcnIoJnBkZXYtPmRldiwgIkZhaWxlZCB0byBzZXQgdmIyIGRtYSBtYWcgc2VnIHNp emVcbiIpOwo+IC0gICAgICAgICAgICAgICBnb3RvIGVycl9zZXRfbWF4X3NlZ19zaXplOwo+IC0g ICAgICAgfQo+IC0KPiAgICAgICAgIHJldCA9IGNvbXBvbmVudF9tYXN0ZXJfYWRkX3dpdGhfbWF0 Y2goZGV2LCAmbXRrX21kcF9jb21fb3BzLCBtYXRjaCk7Cj4gICAgICAgICBpZiAocmV0KSB7Cj4g ICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiQ29tcG9uZW50IG1hc3RlciBhZGQgZmFpbGVk XG4iKTsKPiBAQCAtMzIxLDIyICszMDgsMTIgQEAgc3RhdGljIGludCBtdGtfbWRwX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gICAgICAgICByZXR1cm4gMDsKPgo+ICBlcnJf Y29tcG9uZW50X21hc3Rlcl9hZGQ6Cj4gLSAgICAgICB2YjJfZG1hX2NvbnRpZ19jbGVhcl9tYXhf c2VnX3NpemUoJnBkZXYtPmRldik7Cj4gLQo+IC1lcnJfc2V0X21heF9zZWdfc2l6ZToKPiAtCj4g LWVycl93ZHRfcmVnOgo+IC0gICAgICAgdjRsMl9kZXZpY2VfdW5yZWdpc3RlcigmbWRwLT52NGwy X2Rldik7Cj4gLQo+IC1lcnJfZGV2X3JlZ2lzdGVyOgo+ICAgICAgICAgZGVzdHJveV93b3JrcXVl dWUobWRwLT53ZHRfd3EpOwo+Cj4gIGVycl9hbGxvY193ZHRfd3E6Cj4gICAgICAgICBkZXN0cm95 X3dvcmtxdWV1ZShtZHAtPmpvYl93cSk7Cj4KPiAgZXJyX2FsbG9jX2pvYl93cToKPiAtCj4gLWVy cl9jb21wOgo+ICAgICAgICAgZGV2X2RiZyhkZXYsICJlcnIgJWRcbiIsIHJldCk7Cj4gICAgICAg ICByZXR1cm4gcmV0Owo+ICB9Cj4gQEAgLTQwNCw3ICszODEsNiBAQCBzdGF0aWMgc3RydWN0IHBs YXRmb3JtX2RyaXZlciBtdGtfbWRwX2RyaXZlciA9IHsKPiAgICAgICAgIC5kcml2ZXIgPSB7Cj4g ICAgICAgICAgICAgICAgIC5uYW1lICAgPSBNVEtfTURQX01PRFVMRV9OQU1FLAo+ICAgICAgICAg ICAgICAgICAucG0gICAgID0gJm10a19tZHBfcG1fb3BzLAo+IC0gICAgICAgICAgICAgICAub2Zf bWF0Y2hfdGFibGUgPSBtdGtfbWRwX29mX2lkcywKPiAgICAgICAgIH0KPiAgfTsKPgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAvbXRrX21kcF9jb3JlLmggYi9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAvbXRrX21kcF9jb3JlLmgKPiBpbmRleCA4YTUy NTM5YjE1ZDQuLjlmY2Q4YjhlN2MyNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL210ay1tZHAvbXRrX21kcF9jb3JlLmgKPiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L210ay1tZHAvbXRrX21kcF9jb3JlLmgKPiBAQCAtMTMzLDYgKzEzMyw3IEBAIHN0cnVjdCBtdGtf bWRwX3ZhcmlhbnQgewo+ICAgKiBzdHJ1Y3QgbXRrX21kcF9kZXYgLSBhYnN0cmFjdGlvbiBmb3Ig aW1hZ2UgcHJvY2Vzc29yIGVudGl0eQo+ICAgKiBAbG9jazogICAgICB0aGUgbXV0ZXggcHJvdGVj dGluZyB0aGlzIGRhdGEgc3RydWN0dXJlCj4gICAqIEB2cHVsb2NrOiAgIHRoZSBtdXRleCBwcm90 ZWN0aW5nIHRoZSBjb21tdW5pY2F0aW9uIHdpdGggVlBVCj4gKyAqIEByZG1hX2RldjogIGRldmlj ZSBwb2ludGVyIHRvIHJkbWEgZGV2aWNlIGZvciBNRFAKPiAgICogQHBkZXY6ICAgICAgcG9pbnRl ciB0byB0aGUgaW1hZ2UgcHJvY2Vzc29yIHBsYXRmb3JtIGRldmljZQo+ICAgKiBAdmFyaWFudDog ICB0aGUgSVAgdmFyaWFudCBpbmZvcm1hdGlvbgo+ICAgKiBAaWQ6ICAgICAgICAgICAgICAgIGlt YWdlIHByb2Nlc3NvciBkZXZpY2UgaW5kZXggKDAuLk1US19NRFBfTUFYX0RFVlMpCj4gQEAgLTE1 MSw2ICsxNTIsNyBAQCBzdHJ1Y3QgbXRrX21kcF92YXJpYW50IHsKPiAgc3RydWN0IG10a19tZHBf ZGV2IHsKPiAgICAgICAgIHN0cnVjdCBtdXRleCAgICAgICAgICAgICAgICAgICAgbG9jazsKPiAg ICAgICAgIHN0cnVjdCBtdXRleCAgICAgICAgICAgICAgICAgICAgdnB1bG9jazsKPiArICAgICAg IHN0cnVjdCBkZXZpY2UgICAgICAgICAgICAgICAgICAgKnJkbWFfZGV2Owo+ICAgICAgICAgc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAgICAgICAgICAqcGRldjsKPiAgICAgICAgIHN0cnVjdCBtdGtf bWRwX3ZhcmlhbnQgICAgICAgICAgKnZhcmlhbnQ7Cj4gICAgICAgICB1MTYgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlkOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L210ay1tZHAvbXRrX21kcF9tMm0uYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9t dGtfbWRwX20ybS5jCj4gaW5kZXggZjE0Nzc5ZTc1OTZlLi45ODM0ZDNiYmU4NTEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwL210a19tZHBfbTJtLmMKPiArKysg Yi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1tZHAvbXRrX21kcF9tMm0uYwo+IEBAIC05Mjks NyArOTI5LDcgQEAgc3RhdGljIGludCBtdGtfbWRwX20ybV9xdWV1ZV9pbml0KHZvaWQgKnByaXYs IHN0cnVjdCB2YjJfcXVldWUgKnNyY192cSwKPiAgICAgICAgIHNyY192cS0+bWVtX29wcyA9ICZ2 YjJfZG1hX2NvbnRpZ19tZW1vcHM7Cj4gICAgICAgICBzcmNfdnEtPmJ1Zl9zdHJ1Y3Rfc2l6ZSA9 IHNpemVvZihzdHJ1Y3QgdjRsMl9tMm1fYnVmZmVyKTsKPiAgICAgICAgIHNyY192cS0+dGltZXN0 YW1wX2ZsYWdzID0gVjRMMl9CVUZfRkxBR19USU1FU1RBTVBfQ09QWTsKPiAtICAgICAgIHNyY192 cS0+ZGV2ID0gJmN0eC0+bWRwX2Rldi0+cGRldi0+ZGV2Owo+ICsgICAgICAgc3JjX3ZxLT5kZXYg PSBjdHgtPm1kcF9kZXYtPnJkbWFfZGV2Owo+ICAgICAgICAgc3JjX3ZxLT5sb2NrID0gJmN0eC0+ bWRwX2Rldi0+bG9jazsKPgo+ICAgICAgICAgcmV0ID0gdmIyX3F1ZXVlX2luaXQoc3JjX3ZxKTsK PiBAQCAtOTQ0LDcgKzk0NCw3IEBAIHN0YXRpYyBpbnQgbXRrX21kcF9tMm1fcXVldWVfaW5pdCh2 b2lkICpwcml2LCBzdHJ1Y3QgdmIyX3F1ZXVlICpzcmNfdnEsCj4gICAgICAgICBkc3RfdnEtPm1l bV9vcHMgPSAmdmIyX2RtYV9jb250aWdfbWVtb3BzOwo+ICAgICAgICAgZHN0X3ZxLT5idWZfc3Ry dWN0X3NpemUgPSBzaXplb2Yoc3RydWN0IHY0bDJfbTJtX2J1ZmZlcik7Cj4gICAgICAgICBkc3Rf dnEtPnRpbWVzdGFtcF9mbGFncyA9IFY0TDJfQlVGX0ZMQUdfVElNRVNUQU1QX0NPUFk7Cj4gLSAg ICAgICBkc3RfdnEtPmRldiA9ICZjdHgtPm1kcF9kZXYtPnBkZXYtPmRldjsKPiArICAgICAgIGRz dF92cS0+ZGV2ID0gY3R4LT5tZHBfZGV2LT5yZG1hX2RldjsKPiAgICAgICAgIGRzdF92cS0+bG9j ayA9ICZjdHgtPm1kcF9kZXYtPmxvY2s7Cj4KPiAgICAgICAgIHJldHVybiB2YjJfcXVldWVfaW5p dChkc3RfdnEpOwo+IC0tCj4gMi4zMi4wLjU1NC5nZTFiMzI3MDZkOC1nb29nCj4KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK