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=-13.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, USER_AGENT_GIT 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 3E4D3C433E0 for ; Thu, 4 Mar 2021 09:00:38 +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 4E23764E4A for ; Thu, 4 Mar 2021 09:00:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4E23764E4A 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:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=uzfqWYx7g5e7Trz5Y6FbVfTkwt/3ibddGhECm13mjMI=; b=lA4/x0vP5ox8ouUE3Ft+PcWlh /9/DqCzkwJg4P5qSTSFCamWRim1/ayPmOqHlmsJw5BTRxleOiPAd6KxJG2SlPrmrnvlrL997yAqqw /JqHdmXAiLSmpkpIDZ7Si7I77KzhS6E9I8bvszHVfQEscW5HiSTcZszj3t88koLpsCfWLPz3Ej7iW 0mzvKZogKQfnMml+8jPNjY5bmK9THqt3t8XKqkzjlcWsmVU43ZB7/dfWnU27UckbsNfNJZLdFhw0j gKkBKpprVQScAayDKgNRHwZyUnnZWe8UMGdm4QCPcsryBvb4A6LNC/nL8Em7YGinASYLIGMkXr+Fm UANDqy0pw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHjok-008CI2-H8; Thu, 04 Mar 2021 08:58:47 +0000 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHjnL-008C2V-7g for linux-arm-kernel@lists.infradead.org; Thu, 04 Mar 2021 08:57:22 +0000 Received: by mail-wm1-x336.google.com with SMTP id e23so7289554wmh.3 for ; Thu, 04 Mar 2021 00:57:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=5CS+//NyrDEdtw0MQM3hY+y9NyqAMY3Rl6t+p4gMMwc=; b=S9R/hTrQeJsIg5l9vkPnlpuNBJk0ULsbkU7fX6DZ/e9ZoYIvSqqddPnwBCxOJZHNLv Vh4XgTHnsTU7gcv821Y9gdHG5eFoybPRLsDmSHshPMFrf7ogLEwCRLH6GtAVGdNa7wRD KZhJHsFEzpIUZwNJkrfY2tjG/nI2JfXDQHBe9dmA9bQjZk0qjfwAAZwWhd19EThObUFt Q8O2o3+KJmhrBa9fXyMN6MDqlsqBcHJ46MUim54mLVS7zZH9seRwNTeVBUUbAh88VAOC qM9oXUk4zlI1/aHzrOdrbkrCmM6rTldvBIbTAv49Wc2SD9S9Xbk7v2iK7aHIGSgCJxqc Gw6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5CS+//NyrDEdtw0MQM3hY+y9NyqAMY3Rl6t+p4gMMwc=; b=e63RQXlbRHltPnK+mXAW3PRk2bFgJ81mC2Q8BwQDR4eqkGu/avfONTwQWsSOqoKnR6 qy0ums5LCkNjrdLpcRjnC4Se6eeUcxlThUhOinJwJG9+nCDsBnxD4DXt+dkgBv6ERIwz r18ELlwsDOtRu/nYYMmXjU+PBcI9oz1Ky4oQPg23Zh4B+B9RHcdnB4F8LnfSnxr4Co9E RKZMNHp9RFsndzCP3blkgSByCgEOzikQdD5xVVLzTl0KIZCHmzqr1/XWskileYpnNcR/ ccQfy9U1Z7jnNWIJdMRzPnxAX9fQAXCAbPkJ78Gbbzg3jkj+WntzeeMJKqe2a8LOg/8X Hgzg== X-Gm-Message-State: AOAM530UtzjJbsz8M9Wadu8ezCeGIdaKdEzDF2Ajec5A0i4i1on/MUqO mowJ+aIHmlBJJ/xN8TW9I1c= X-Google-Smtp-Source: ABdhPJzx3fBEm/IAIh5iQ+SatRFg2ToROjDYyyPhPLChVZtrmd0XGj+aNfIIS3DjR4ZgiU8chmz9nQ== X-Received: by 2002:a05:600c:2282:: with SMTP id 2mr2814705wmf.93.1614848238740; Thu, 04 Mar 2021 00:57:18 -0800 (PST) Received: from skynet.lan (170.red-88-1-105.dynamicip.rima-tde.net. [88.1.105.170]) by smtp.gmail.com with ESMTPSA id q15sm2828976wrx.56.2021.03.04.00.57.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Mar 2021 00:57:18 -0800 (PST) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: Linus Walleij , Rob Herring , Michael Walle , Bartosz Golaszewski , Florian Fainelli , bcm-kernel-feedback-list@broadcom.com, =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= , Jonas Gorski , Necip Fazil Yildiran , Andy Shevchenko , linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 05/15] pinctrl: add a pincontrol driver for BCM6328 Date: Thu, 4 Mar 2021 09:57:00 +0100 Message-Id: <20210304085710.7128-6-noltari@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210304085710.7128-1-noltari@gmail.com> References: <20210304085710.7128-1-noltari@gmail.com> MIME-Version: 1.0 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 QWRkIGEgcGluY29udHJvbCBkcml2ZXIgZm9yIEJDTTYzMjguIEJDTTYyOCBzdXBwb3J0cyBtdXhp bmcgMzIgcGlucyBhcwpHUElPcywgYXMgTEVEcyBmb3IgdGhlIGludGVncmF0ZWQgTEVEIGNvbnRy b2xsZXIsIG9yIHZhcmlvdXMgb3RoZXIKZnVuY3Rpb25zLiBJdHMgcGluY29udHJvbCBtdXggcmVn aXN0ZXJzIGFsc28gY29udHJvbCBvdGhlciBhc3BlY3RzLCBsaWtlCnN3aXRjaGluZyB0aGUgc2Vj b25kIFVTQiBwb3J0IGJldHdlZW4gaG9zdCBhbmQgZGV2aWNlIG1vZGUuCgpTaWduZWQtb2ZmLWJ5 OiDDgWx2YXJvIEZlcm7DoW5kZXogUm9qYXMgPG5vbHRhcmlAZ21haWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBKb25hcyBHb3Jza2kgPGpvbmFzLmdvcnNraUBnbWFpbC5jb20+Ci0tLQogdjQ6IG5vIGNo YW5nZXMKIHYzOiB1c2UgbmV3IHNoYXJlZCBjb2RlCiB2Mjogc3dpdGNoIHRvIEdQSU9fUkVHTUFQ CgogZHJpdmVycy9waW5jdHJsL2JjbS9LY29uZmlnICAgICAgICAgICB8ICAgOCArCiBkcml2ZXJz L3BpbmN0cmwvYmNtL01ha2VmaWxlICAgICAgICAgIHwgICAxICsKIGRyaXZlcnMvcGluY3RybC9i Y20vcGluY3RybC1iY202MzI4LmMgfCA0MDMgKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMg ZmlsZXMgY2hhbmdlZCwgNDEyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL3BpbmN0cmwvYmNtL3BpbmN0cmwtYmNtNjMyOC5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9w aW5jdHJsL2JjbS9LY29uZmlnIGIvZHJpdmVycy9waW5jdHJsL2JjbS9LY29uZmlnCmluZGV4IDg4 MmYxOWJkYzI0My4uZDM1ZTVkM2ZlMjZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BpbmN0cmwvYmNt L0tjb25maWcKKysrIGIvZHJpdmVycy9waW5jdHJsL2JjbS9LY29uZmlnCkBAIC0zNiw2ICszNiwx NCBAQCBjb25maWcgUElOQ1RSTF9CQ002M1hYCiAJc2VsZWN0IFBJTkNPTkYKIAlzZWxlY3QgUElO TVVYCiAKK2NvbmZpZyBQSU5DVFJMX0JDTTYzMjgKKwlib29sICJCcm9hZGNvbSBCQ002MzI4IEdQ SU8gZHJpdmVyIgorCWRlcGVuZHMgb24gKEJNSVBTX0dFTkVSSUMgfHwgQ09NUElMRV9URVNUKQor CXNlbGVjdCBQSU5DVFJMX0JDTTYzWFgKKwlkZWZhdWx0IEJNSVBTX0dFTkVSSUMKKwloZWxwCisJ ICAgU2F5IFkgaGVyZSB0byBlbmFibGUgdGhlIEJyb2FkY29tIEJDTTYzMjggR1BJTyBkcml2ZXIu CisKIGNvbmZpZyBQSU5DVFJMX0lQUk9DX0dQSU8KIAlib29sICJCcm9hZGNvbSBpUHJvYyBHUElP ICh3aXRoIFBJTkNPTkYpIGRyaXZlciIKIAlkZXBlbmRzIG9uIE9GX0dQSU8gJiYgKEFSQ0hfQkNN X0lQUk9DIHx8IENPTVBJTEVfVEVTVCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGluY3RybC9iY20v TWFrZWZpbGUgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL01ha2VmaWxlCmluZGV4IDBlM2NmOWIxNWM2 NS4uNTdlNTQzNGE2ZGI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BpbmN0cmwvYmNtL01ha2VmaWxl CisrKyBiL2RyaXZlcnMvcGluY3RybC9iY20vTWFrZWZpbGUKQEAgLTQsNiArNCw3IEBACiBvYmot JChDT05GSUdfUElOQ1RSTF9CQ00yODFYWCkJCSs9IHBpbmN0cmwtYmNtMjgxeHgubwogb2JqLSQo Q09ORklHX1BJTkNUUkxfQkNNMjgzNSkJCSs9IHBpbmN0cmwtYmNtMjgzNS5vCiBvYmotJChDT05G SUdfUElOQ1RSTF9CQ002M1hYKQkJKz0gcGluY3RybC1iY202M3h4Lm8KK29iai0kKENPTkZJR19Q SU5DVFJMX0JDTTYzMjgpCQkrPSBwaW5jdHJsLWJjbTYzMjgubwogb2JqLSQoQ09ORklHX1BJTkNU UkxfSVBST0NfR1BJTykJKz0gcGluY3RybC1pcHJvYy1ncGlvLm8KIG9iai0kKENPTkZJR19QSU5D VFJMX0NZR05VU19NVVgpCSs9IHBpbmN0cmwtY3lnbnVzLW11eC5vCiBvYmotJChDT05GSUdfUElO Q1RSTF9OUykJCSs9IHBpbmN0cmwtbnMubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9waW5jdHJsL2Jj bS9waW5jdHJsLWJjbTYzMjguYyBiL2RyaXZlcnMvcGluY3RybC9iY20vcGluY3RybC1iY202MzI4 LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iOTEyMzg3ODUyOTAK LS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL3BpbmN0cmwtYmNtNjMyOC5j CkBAIC0wLDAgKzEsNDAzIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsK Ky8qCisgKiBEcml2ZXIgZm9yIEJDTTYzMjggR1BJTyB1bml0IChwaW5jdHJsICsgR1BJTykKKyAq CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgw4FsdmFybyBGZXJuw6FuZGV6IFJvamFzIDxub2x0YXJp QGdtYWlsLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBKb25hcyBHb3Jza2kgPGpvbmFzLmdv cnNraUBnbWFpbC5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2JpdHMuaD4KKyNpbmNsdWRl IDxsaW51eC9ncGlvL2RyaXZlci5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1 ZGUgPGxpbnV4L29mLmg+CisjaW5jbHVkZSA8bGludXgvcGluY3RybC9waW5tdXguaD4KKyNpbmNs dWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4K KworI2luY2x1ZGUgIi4uL3BpbmN0cmwtdXRpbHMuaCIKKworI2luY2x1ZGUgInBpbmN0cmwtYmNt NjN4eC5oIgorCisjZGVmaW5lIEJDTTYzMjhfTlVNX0dQSU9TCTMyCisKKyNkZWZpbmUgQkNNNjMy OF9NT0RFX1JFRwkweDE4CisjZGVmaW5lIEJDTTYzMjhfTVVYX0hJX1JFRwkweDFjCisjZGVmaW5l IEJDTTYzMjhfTVVYX0xPX1JFRwkweDIwCisjZGVmaW5lIEJDTTYzMjhfTVVYX09USEVSX1JFRwkw eDI0CisKK3N0cnVjdCBiY202MzI4X3Bpbmdyb3VwIHsKKwljb25zdCBjaGFyICpuYW1lOworCWNv bnN0IHVuc2lnbmVkICogY29uc3QgcGluczsKKwljb25zdCB1bnNpZ25lZCBudW1fcGluczsKK307 CisKK3N0cnVjdCBiY202MzI4X2Z1bmN0aW9uIHsKKwljb25zdCBjaGFyICpuYW1lOworCWNvbnN0 IGNoYXIgKiBjb25zdCAqZ3JvdXBzOworCWNvbnN0IHVuc2lnbmVkIG51bV9ncm91cHM7CisKKwl1 bnNpZ25lZCBtb2RlX3ZhbDoxOworCXVuc2lnbmVkIG11eF92YWw6MjsKK307CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcGluY3RybF9waW5fZGVzYyBiY202MzI4X3BpbnNbXSA9IHsKKwlQSU5DVFJM X1BJTigwLCAiZ3BpbzAiKSwKKwlQSU5DVFJMX1BJTigxLCAiZ3BpbzEiKSwKKwlQSU5DVFJMX1BJ TigyLCAiZ3BpbzIiKSwKKwlQSU5DVFJMX1BJTigzLCAiZ3BpbzMiKSwKKwlQSU5DVFJMX1BJTig0 LCAiZ3BpbzQiKSwKKwlQSU5DVFJMX1BJTig1LCAiZ3BpbzUiKSwKKwlQSU5DVFJMX1BJTig2LCAi Z3BpbzYiKSwKKwlQSU5DVFJMX1BJTig3LCAiZ3BpbzciKSwKKwlQSU5DVFJMX1BJTig4LCAiZ3Bp bzgiKSwKKwlQSU5DVFJMX1BJTig5LCAiZ3BpbzkiKSwKKwlQSU5DVFJMX1BJTigxMCwgImdwaW8x MCIpLAorCVBJTkNUUkxfUElOKDExLCAiZ3BpbzExIiksCisJUElOQ1RSTF9QSU4oMTIsICJncGlv MTIiKSwKKwlQSU5DVFJMX1BJTigxMywgImdwaW8xMyIpLAorCVBJTkNUUkxfUElOKDE0LCAiZ3Bp bzE0IiksCisJUElOQ1RSTF9QSU4oMTUsICJncGlvMTUiKSwKKwlQSU5DVFJMX1BJTigxNiwgImdw aW8xNiIpLAorCVBJTkNUUkxfUElOKDE3LCAiZ3BpbzE3IiksCisJUElOQ1RSTF9QSU4oMTgsICJn cGlvMTgiKSwKKwlQSU5DVFJMX1BJTigxOSwgImdwaW8xOSIpLAorCVBJTkNUUkxfUElOKDIwLCAi Z3BpbzIwIiksCisJUElOQ1RSTF9QSU4oMjEsICJncGlvMjEiKSwKKwlQSU5DVFJMX1BJTigyMiwg ImdwaW8yMiIpLAorCVBJTkNUUkxfUElOKDIzLCAiZ3BpbzIzIiksCisJUElOQ1RSTF9QSU4oMjQs ICJncGlvMjQiKSwKKwlQSU5DVFJMX1BJTigyNSwgImdwaW8yNSIpLAorCVBJTkNUUkxfUElOKDI2 LCAiZ3BpbzI2IiksCisJUElOQ1RSTF9QSU4oMjcsICJncGlvMjciKSwKKwlQSU5DVFJMX1BJTigy OCwgImdwaW8yOCIpLAorCVBJTkNUUkxfUElOKDI5LCAiZ3BpbzI5IiksCisJUElOQ1RSTF9QSU4o MzAsICJncGlvMzAiKSwKKwlQSU5DVFJMX1BJTigzMSwgImdwaW8zMSIpLAorCisJLyoKKwkgKiBO byBpZGVhIHdoZXJlIHRoZXkgcmVhbGx5IGFyZTsgc28gbGV0J3MgcHV0IHRoZW0gYWNjb3JkaW5n CisJICogdG8gdGhlaXIgbXV4IG9mZnNldHMuCisJICovCisJUElOQ1RSTF9QSU4oMzYsICJoc3Nw aV9jczEiKSwKKwlQSU5DVFJMX1BJTigzOCwgInVzYl9wMiIpLAorfTsKKworc3RhdGljIHVuc2ln bmVkIGdwaW8wX3BpbnNbXSA9IHsgMCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8xX3BpbnNbXSA9 IHsgMSB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yX3BpbnNbXSA9IHsgMiB9Oworc3RhdGljIHVu c2lnbmVkIGdwaW8zX3BpbnNbXSA9IHsgMyB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW80X3BpbnNb XSA9IHsgNCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW81X3BpbnNbXSA9IHsgNSB9Oworc3RhdGlj IHVuc2lnbmVkIGdwaW82X3BpbnNbXSA9IHsgNiB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW83X3Bp bnNbXSA9IHsgNyB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW84X3BpbnNbXSA9IHsgOCB9Oworc3Rh dGljIHVuc2lnbmVkIGdwaW85X3BpbnNbXSA9IHsgOSB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8x MF9waW5zW10gPSB7IDEwIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzExX3BpbnNbXSA9IHsgMTEg fTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMTJfcGluc1tdID0geyAxMiB9Oworc3RhdGljIHVuc2ln bmVkIGdwaW8xM19waW5zW10gPSB7IDEzIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzE0X3BpbnNb XSA9IHsgMTQgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMTVfcGluc1tdID0geyAxNSB9Oworc3Rh dGljIHVuc2lnbmVkIGdwaW8xNl9waW5zW10gPSB7IDE2IH07CitzdGF0aWMgdW5zaWduZWQgZ3Bp bzE3X3BpbnNbXSA9IHsgMTcgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMThfcGluc1tdID0geyAx OCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8xOV9waW5zW10gPSB7IDE5IH07CitzdGF0aWMgdW5z aWduZWQgZ3BpbzIwX3BpbnNbXSA9IHsgMjAgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMjFfcGlu c1tdID0geyAyMSB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yMl9waW5zW10gPSB7IDIyIH07Citz dGF0aWMgdW5zaWduZWQgZ3BpbzIzX3BpbnNbXSA9IHsgMjMgfTsKK3N0YXRpYyB1bnNpZ25lZCBn cGlvMjRfcGluc1tdID0geyAyNCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yNV9waW5zW10gPSB7 IDI1IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzI2X3BpbnNbXSA9IHsgMjYgfTsKK3N0YXRpYyB1 bnNpZ25lZCBncGlvMjdfcGluc1tdID0geyAyNyB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yOF9w aW5zW10gPSB7IDI4IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzI5X3BpbnNbXSA9IHsgMjkgfTsK K3N0YXRpYyB1bnNpZ25lZCBncGlvMzBfcGluc1tdID0geyAzMCB9Oworc3RhdGljIHVuc2lnbmVk IGdwaW8zMV9waW5zW10gPSB7IDMxIH07CisKK3N0YXRpYyB1bnNpZ25lZCBoc3NwaV9jczFfcGlu c1tdID0geyAzNiB9Oworc3RhdGljIHVuc2lnbmVkIHVzYl9wb3J0MV9waW5zW10gPSB7IDM4IH07 CisKKyNkZWZpbmUgQkNNNjMyOF9HUk9VUChuKQkJCQkJXAorCXsJCQkJCQkJXAorCQkubmFtZSA9 ICNuLAkJCQkJXAorCQkucGlucyA9IG4jI19waW5zLAkJCQlcCisJCS5udW1fcGlucyA9IEFSUkFZ X1NJWkUobiMjX3BpbnMpLAkJXAorCX0KKworc3RhdGljIHN0cnVjdCBiY202MzI4X3Bpbmdyb3Vw IGJjbTYzMjhfZ3JvdXBzW10gPSB7CisJQkNNNjMyOF9HUk9VUChncGlvMCksCisJQkNNNjMyOF9H Uk9VUChncGlvMSksCisJQkNNNjMyOF9HUk9VUChncGlvMiksCisJQkNNNjMyOF9HUk9VUChncGlv MyksCisJQkNNNjMyOF9HUk9VUChncGlvNCksCisJQkNNNjMyOF9HUk9VUChncGlvNSksCisJQkNN NjMyOF9HUk9VUChncGlvNiksCisJQkNNNjMyOF9HUk9VUChncGlvNyksCisJQkNNNjMyOF9HUk9V UChncGlvOCksCisJQkNNNjMyOF9HUk9VUChncGlvOSksCisJQkNNNjMyOF9HUk9VUChncGlvMTAp LAorCUJDTTYzMjhfR1JPVVAoZ3BpbzExKSwKKwlCQ002MzI4X0dST1VQKGdwaW8xMiksCisJQkNN NjMyOF9HUk9VUChncGlvMTMpLAorCUJDTTYzMjhfR1JPVVAoZ3BpbzE0KSwKKwlCQ002MzI4X0dS T1VQKGdwaW8xNSksCisJQkNNNjMyOF9HUk9VUChncGlvMTYpLAorCUJDTTYzMjhfR1JPVVAoZ3Bp bzE3KSwKKwlCQ002MzI4X0dST1VQKGdwaW8xOCksCisJQkNNNjMyOF9HUk9VUChncGlvMTkpLAor CUJDTTYzMjhfR1JPVVAoZ3BpbzIwKSwKKwlCQ002MzI4X0dST1VQKGdwaW8yMSksCisJQkNNNjMy OF9HUk9VUChncGlvMjIpLAorCUJDTTYzMjhfR1JPVVAoZ3BpbzIzKSwKKwlCQ002MzI4X0dST1VQ KGdwaW8yNCksCisJQkNNNjMyOF9HUk9VUChncGlvMjUpLAorCUJDTTYzMjhfR1JPVVAoZ3BpbzI2 KSwKKwlCQ002MzI4X0dST1VQKGdwaW8yNyksCisJQkNNNjMyOF9HUk9VUChncGlvMjgpLAorCUJD TTYzMjhfR1JPVVAoZ3BpbzI5KSwKKwlCQ002MzI4X0dST1VQKGdwaW8zMCksCisJQkNNNjMyOF9H Uk9VUChncGlvMzEpLAorCisJQkNNNjMyOF9HUk9VUChoc3NwaV9jczEpLAorCUJDTTYzMjhfR1JP VVAodXNiX3BvcnQxKSwKK307CisKKy8qIEdQSU9fTU9ERSAqLworc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBsZWRfZ3JvdXBzW10gPSB7CisJImdwaW8wIiwKKwkiZ3BpbzEiLAorCSJncGlvMiIs CisJImdwaW8zIiwKKwkiZ3BpbzQiLAorCSJncGlvNSIsCisJImdwaW82IiwKKwkiZ3BpbzciLAor CSJncGlvOCIsCisJImdwaW85IiwKKwkiZ3BpbzEwIiwKKwkiZ3BpbzExIiwKKwkiZ3BpbzEyIiwK KwkiZ3BpbzEzIiwKKwkiZ3BpbzE0IiwKKwkiZ3BpbzE1IiwKKwkiZ3BpbzE2IiwKKwkiZ3BpbzE3 IiwKKwkiZ3BpbzE4IiwKKwkiZ3BpbzE5IiwKKwkiZ3BpbzIwIiwKKwkiZ3BpbzIxIiwKKwkiZ3Bp bzIyIiwKKwkiZ3BpbzIzIiwKK307CisKKy8qIFBJTk1VWF9TRUwgKi8KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3Qgc2VyaWFsX2xlZF9kYXRhX2dyb3Vwc1tdID0geworCSJncGlvNiIsCit9Owor CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNlcmlhbF9sZWRfY2xrX2dyb3Vwc1tdID0gewor CSJncGlvNyIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGluZXRfYWN0X2xlZF9n cm91cHNbXSA9IHsKKwkiZ3BpbzExIiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg cGNpZV9jbGtyZXFfZ3JvdXBzW10gPSB7CisJImdwaW8xNiIsCit9OworCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IGVwaHkwX2FjdF9sZWRfZ3JvdXBzW10gPSB7CisJImdwaW8yNSIsCit9Owor CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGVwaHkxX2FjdF9sZWRfZ3JvdXBzW10gPSB7CisJ ImdwaW8yNiIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGVwaHkyX2FjdF9sZWRf Z3JvdXBzW10gPSB7CisJImdwaW8yNyIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IGVwaHkzX2FjdF9sZWRfZ3JvdXBzW10gPSB7CisJImdwaW8yOCIsCit9OworCitzdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGhzc3BpX2NzMV9ncm91cHNbXSA9IHsKKwkiaHNzcGlfY3MxIgorfTsK Kworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB1c2JfaG9zdF9wb3J0X2dyb3Vwc1tdID0gewor CSJ1c2JfcG9ydDEiLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB1c2JfZGV2aWNl X3BvcnRfZ3JvdXBzW10gPSB7CisJInVzYl9wb3J0MSIsCit9OworCisjZGVmaW5lIEJDTTYzMjhf TU9ERV9GVU4obikJCQkJXAorCXsJCQkJCQlcCisJCS5uYW1lID0gI24sCQkJCVwKKwkJLmdyb3Vw cyA9IG4jI19ncm91cHMsCQkJXAorCQkubnVtX2dyb3VwcyA9IEFSUkFZX1NJWkUobiMjX2dyb3Vw cyksCVwKKwkJLm1vZGVfdmFsID0gMSwJCQkJXAorCX0KKworI2RlZmluZSBCQ002MzI4X01VWF9G VU4obiwgbXV4KQkJCQlcCisJewkJCQkJCVwKKwkJLm5hbWUgPSAjbiwJCQkJXAorCQkuZ3JvdXBz ID0gbiMjX2dyb3VwcywJCQlcCisJCS5udW1fZ3JvdXBzID0gQVJSQVlfU0laRShuIyNfZ3JvdXBz KSwJXAorCQkubXV4X3ZhbCA9IG11eCwJCQkJXAorCX0KKworc3RhdGljIGNvbnN0IHN0cnVjdCBi Y202MzI4X2Z1bmN0aW9uIGJjbTYzMjhfZnVuY3NbXSA9IHsKKwlCQ002MzI4X01PREVfRlVOKGxl ZCksCisJQkNNNjMyOF9NVVhfRlVOKHNlcmlhbF9sZWRfZGF0YSwgMiksCisJQkNNNjMyOF9NVVhf RlVOKHNlcmlhbF9sZWRfY2xrLCAyKSwKKwlCQ002MzI4X01VWF9GVU4oaW5ldF9hY3RfbGVkLCAx KSwKKwlCQ002MzI4X01VWF9GVU4ocGNpZV9jbGtyZXEsIDIpLAorCUJDTTYzMjhfTVVYX0ZVTihl cGh5MF9hY3RfbGVkLCAxKSwKKwlCQ002MzI4X01VWF9GVU4oZXBoeTFfYWN0X2xlZCwgMSksCisJ QkNNNjMyOF9NVVhfRlVOKGVwaHkyX2FjdF9sZWQsIDEpLAorCUJDTTYzMjhfTVVYX0ZVTihlcGh5 M19hY3RfbGVkLCAxKSwKKwlCQ002MzI4X01VWF9GVU4oaHNzcGlfY3MxLCAyKSwKKwlCQ002MzI4 X01VWF9GVU4odXNiX2hvc3RfcG9ydCwgMSksCisJQkNNNjMyOF9NVVhfRlVOKHVzYl9kZXZpY2Vf cG9ydCwgMiksCit9OworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBiY202MzI4X211eF9v ZmYodW5zaWduZWQgaW50IHBpbikKK3sKKwlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IGJjbTYz MjhfbXV4W10gPSB7CisJCUJDTTYzMjhfTVVYX0xPX1JFRywKKwkJQkNNNjMyOF9NVVhfSElfUkVH LAorCQlCQ002MzI4X01VWF9PVEhFUl9SRUcKKwl9OworCisJcmV0dXJuIGJjbTYzMjhfbXV4W3Bp biAvIDE2XTsKK30KKworc3RhdGljIGludCBiY202MzI4X3BpbmN0cmxfZ2V0X2dyb3VwX2NvdW50 KHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldikKK3sKKwlyZXR1cm4gQVJSQVlfU0laRShiY202 MzI4X2dyb3Vwcyk7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpiY202MzI4X3BpbmN0cmxfZ2V0 X2dyb3VwX25hbWUoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2LAorCQkJCQkJICB1bnNpZ25l ZCBncm91cCkKK3sKKwlyZXR1cm4gYmNtNjMyOF9ncm91cHNbZ3JvdXBdLm5hbWU7Cit9CisKK3N0 YXRpYyBpbnQgYmNtNjMyOF9waW5jdHJsX2dldF9ncm91cF9waW5zKHN0cnVjdCBwaW5jdHJsX2Rl diAqcGN0bGRldiwKKwkJCQkJICB1bnNpZ25lZCBncm91cCwgY29uc3QgdW5zaWduZWQgKipwaW5z LAorCQkJCQkgIHVuc2lnbmVkICpudW1fcGlucykKK3sKKwkqcGlucyA9IGJjbTYzMjhfZ3JvdXBz W2dyb3VwXS5waW5zOworCSpudW1fcGlucyA9IGJjbTYzMjhfZ3JvdXBzW2dyb3VwXS5udW1fcGlu czsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJjbTYzMjhfcGluY3RybF9nZXRfZnVu Y19jb3VudChzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYpCit7CisJcmV0dXJuIEFSUkFZX1NJ WkUoYmNtNjMyOF9mdW5jcyk7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpiY202MzI4X3BpbmN0 cmxfZ2V0X2Z1bmNfbmFtZShzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsCisJCQkJCQkgdW5z aWduZWQgc2VsZWN0b3IpCit7CisJcmV0dXJuIGJjbTYzMjhfZnVuY3Nbc2VsZWN0b3JdLm5hbWU7 Cit9CisKK3N0YXRpYyBpbnQgYmNtNjMyOF9waW5jdHJsX2dldF9ncm91cHMoc3RydWN0IHBpbmN0 cmxfZGV2ICpwY3RsZGV2LAorCQkJCSAgICAgIHVuc2lnbmVkIHNlbGVjdG9yLAorCQkJCSAgICAg IGNvbnN0IGNoYXIgKiBjb25zdCAqKmdyb3VwcywKKwkJCQkgICAgICB1bnNpZ25lZCAqIGNvbnN0 IG51bV9ncm91cHMpCit7CisJKmdyb3VwcyA9IGJjbTYzMjhfZnVuY3Nbc2VsZWN0b3JdLmdyb3Vw czsKKwkqbnVtX2dyb3VwcyA9IGJjbTYzMjhfZnVuY3Nbc2VsZWN0b3JdLm51bV9ncm91cHM7CisK KwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYmNtNjMyOF9ybXdfbXV4KHN0cnVjdCBiY202 M3h4X3BpbmN0cmwgKnBjLCB1bnNpZ25lZCBwaW4sCisJCQkgICAgdW5zaWduZWQgaW50IG1vZGUs IHVuc2lnbmVkIGludCBtdXgpCit7CisJaWYgKHBpbiA8IEJDTTYzMjhfTlVNX0dQSU9TKQorCQly ZWdtYXBfdXBkYXRlX2JpdHMocGMtPnJlZ3MsIEJDTTYzMjhfTU9ERV9SRUcsIEJJVChwaW4pLAor CQkJCSAgIG1vZGUgPyBCSVQocGluKSA6IDApOworCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHBjLT5y ZWdzLCBiY202MzI4X211eF9vZmYocGluKSwKKwkJCSAgIDNVTCA8PCAoKHBpbiAlIDE2KSAqIDIp LAorCQkJICAgbXV4IDw8ICgocGluICUgMTYpICogMikpOworfQorCitzdGF0aWMgaW50IGJjbTYz MjhfcGluY3RybF9zZXRfbXV4KHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldiwKKwkJCQkgICB1 bnNpZ25lZCBzZWxlY3RvciwgdW5zaWduZWQgZ3JvdXApCit7CisJc3RydWN0IGJjbTYzeHhfcGlu Y3RybCAqcGMgPSBwaW5jdHJsX2Rldl9nZXRfZHJ2ZGF0YShwY3RsZGV2KTsKKwljb25zdCBzdHJ1 Y3QgYmNtNjMyOF9waW5ncm91cCAqcGcgPSAmYmNtNjMyOF9ncm91cHNbZ3JvdXBdOworCWNvbnN0 IHN0cnVjdCBiY202MzI4X2Z1bmN0aW9uICpmID0gJmJjbTYzMjhfZnVuY3Nbc2VsZWN0b3JdOwor CisJYmNtNjMyOF9ybXdfbXV4KHBjLCBwZy0+cGluc1swXSwgZi0+bW9kZV92YWwsIGYtPm11eF92 YWwpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYmNtNjMyOF9ncGlvX3JlcXVlc3Rf ZW5hYmxlKHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldiwKKwkJCQkgICAgICAgc3RydWN0IHBp bmN0cmxfZ3Bpb19yYW5nZSAqcmFuZ2UsCisJCQkJICAgICAgIHVuc2lnbmVkIG9mZnNldCkKK3sK KwlzdHJ1Y3QgYmNtNjN4eF9waW5jdHJsICpwYyA9IHBpbmN0cmxfZGV2X2dldF9kcnZkYXRhKHBj dGxkZXYpOworCisJLyogZGlzYWJsZSBhbGwgZnVuY3Rpb25zIHVzaW5nIHRoaXMgcGluICovCisJ YmNtNjMyOF9ybXdfbXV4KHBjLCBvZmZzZXQsIDAsIDApOworCisJcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyBzdHJ1Y3QgcGluY3RybF9vcHMgYmNtNjMyOF9wY3RsX29wcyA9IHsKKwkuZHRfZnJlZV9t YXAgPSBwaW5jdHJsX3V0aWxzX2ZyZWVfbWFwLAorCS5kdF9ub2RlX3RvX21hcCA9IHBpbmNvbmZf Z2VuZXJpY19kdF9ub2RlX3RvX21hcF9waW4sCisJLmdldF9ncm91cF9uYW1lID0gYmNtNjMyOF9w aW5jdHJsX2dldF9ncm91cF9uYW1lLAorCS5nZXRfZ3JvdXBfcGlucyA9IGJjbTYzMjhfcGluY3Ry bF9nZXRfZ3JvdXBfcGlucywKKwkuZ2V0X2dyb3Vwc19jb3VudCA9IGJjbTYzMjhfcGluY3RybF9n ZXRfZ3JvdXBfY291bnQsCit9OworCitzdGF0aWMgc3RydWN0IHBpbm11eF9vcHMgYmNtNjMyOF9w bXhfb3BzID0geworCS5nZXRfZnVuY3Rpb25fZ3JvdXBzID0gYmNtNjMyOF9waW5jdHJsX2dldF9n cm91cHMsCisJLmdldF9mdW5jdGlvbl9uYW1lID0gYmNtNjMyOF9waW5jdHJsX2dldF9mdW5jX25h bWUsCisJLmdldF9mdW5jdGlvbnNfY291bnQgPSBiY202MzI4X3BpbmN0cmxfZ2V0X2Z1bmNfY291 bnQsCisJLmdwaW9fcmVxdWVzdF9lbmFibGUgPSBiY202MzI4X2dwaW9fcmVxdWVzdF9lbmFibGUs CisJLnNldF9tdXggPSBiY202MzI4X3BpbmN0cmxfc2V0X211eCwKKwkuc3RyaWN0ID0gdHJ1ZSwK K307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmNtNjN4eF9waW5jdHJsX3NvYyBiY202MzI4X3Nv YyA9IHsKKwkubmdwaW9zID0gQkNNNjMyOF9OVU1fR1BJT1MsCisJLm5waW5zID0gQVJSQVlfU0la RShiY202MzI4X3BpbnMpLAorCS5wY3RsX29wcyA9ICZiY202MzI4X3BjdGxfb3BzLAorCS5waW5z ID0gYmNtNjMyOF9waW5zLAorCS5wbXhfb3BzID0gJmJjbTYzMjhfcG14X29wcywKK307CisKK3N0 YXRpYyBpbnQgYmNtNjMyOF9waW5jdHJsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCit7CisJcmV0dXJuIGJjbTYzeHhfcGluY3RybF9wcm9iZShwZGV2LCAmYmNtNjMyOF9zb2Ms IE5VTEwpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBiY202MzI4X3Bp bmN0cmxfbWF0Y2hbXSA9IHsKKwl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtNjMyOC1waW5jdHJs IiwgfSwKKwl7IH0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBiY202MzI4 X3BpbmN0cmxfZHJpdmVyID0geworCS5wcm9iZSA9IGJjbTYzMjhfcGluY3RybF9wcm9iZSwKKwku ZHJpdmVyID0geworCQkubmFtZSA9ICJiY202MzI4LXBpbmN0cmwiLAorCQkub2ZfbWF0Y2hfdGFi bGUgPSBiY202MzI4X3BpbmN0cmxfbWF0Y2gsCisJfSwKK307CisKK2J1aWx0aW5fcGxhdGZvcm1f ZHJpdmVyKGJjbTYzMjhfcGluY3RybF9kcml2ZXIpOwotLSAKMi4yMC4xCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=