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 C61B5C433E0 for ; Wed, 3 Mar 2021 15:32:41 +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 9CF7164EC3 for ; Wed, 3 Mar 2021 15:32:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9CF7164EC3 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=2znO5oc7Wn4I1rS1cbJrHEHmMBbEiv7Ps4R0z7RehtY=; b=hvnNvfBptJyzCmt8IUwSv435o 1QQ+WKh4cXuSqJyTeEvvu9SqYA+dV6A7y30q+kv6PAvsL377U75iOn2wvIUeA17MfJ/5TSuZ8Z9JA 1R+9rRlTDl1GB6Qv7YLb71pz80q+KY56HCi6l5hlNvu2niZLDeVh3d3rcq9cmNPsa+orMfSZGTdYO HDrrVIKMIfPgKKuUUu3/mtpSAZzs5gVezGPxdvlSGdnFSLPD2xdABz+N6elJ0CLi8ERrVSSAtWiYB 5a69UorB673wJvNlNW+mn5R9zxWtQR3zojmFH0rb2i5V4SEkwrHw9HO1qzYTaqmhY7ML/yTblNRwm 5P67KtiDA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHTSR-005OOK-QP; Wed, 03 Mar 2021 15:30:40 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHSST-0057or-Um for linux-arm-kernel@desiato.infradead.org; Wed, 03 Mar 2021 14:26:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:To:From:Sender: Reply-To:Cc:Content-ID:Content-Description; bh=2z7p4WUuFvjCiX5xFDl7RB6vWXzfnZhozSoJbBl6LqY=; b=FdRj/X36zOH/PXPJTkIZTFAlNw DwWjQjuS0zXT5sqai/vPG6tfw4F6fkJHSMPh5w0vI+nrDd+pxHG7gyah4WKZoBVuqoHHg8y18dCqV c7Wi3wBGXsPSKl98zRB3Ae1taS+U+mLyV9g2WqTFCU5nM0rP2o2SSMqgcAQkP+5ueNRuoD6BCdVD6 AXwQnrhdtQXYMTbX0PazAZUNTnJ60ctquFV36C0LMOgLUk1MW3ptvlTdyaQ09P56mOqbvm7zrtvDd ye4E+PjNNPnowTEBKE9DqRjuCWSo+Kb4asgeWvT1tJLW7xB2gZ8khKWBpvioWQj8xSrYsoe7HYtSX WGnB5vNw==; Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHSQI-002vxd-Ao for linux-arm-kernel@lists.infradead.org; Wed, 03 Mar 2021 14:24:26 +0000 Received: by mail-wr1-x42e.google.com with SMTP id u14so23894220wri.3 for ; Wed, 03 Mar 2021 06:24:16 -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=2z7p4WUuFvjCiX5xFDl7RB6vWXzfnZhozSoJbBl6LqY=; b=O0CzqfWbWhCP3lCCWAMLjsT+fvBpvcsiCyC+j9qk/5xtp5LU0htDseAe4/USAa068P /ih2Ux+N5QCJ2sgIIJ7nfY3Ggz8Igd5MBzRny2p0L4D/kKS+T8xiwXcqGrN+aSwDY5lz B3rFWwgaki6sM1v9+FnqlX3HvRaca0WVA3OQJPXHRQChgAxpx/cIPBevOse3FD74W6DF 6D8wPxDenZ1tmKsZ+YS8LBa9MIKxwvu9Ny9hRL7CkfWFUoqBv9luKDt29HsMKemTObFk jBFZvO1rfMUf9tOhI/Z7nxkr3weMZHNpBACwXhVLiOctoPizKNrsnVKOKY+DZGXkC5gt QXzg== 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=2z7p4WUuFvjCiX5xFDl7RB6vWXzfnZhozSoJbBl6LqY=; b=laYCoE9s+pfz6RZ+OPuryMQ+hKhNVnmvfefYZS46sVNE0OL0HCpPRcUELZltRENOW5 3aStHFlAzFpYfm/Sxg5/rI5/UFz38M5A4+SuAIkNGevezelxh4SsmIfVXhzSPn23kFBZ 1VTed3hJtGSlLWEY2BhOIXajsbEyADuFTwN7mVfz1pGU/MSgXfiqg3TsU2MNbKQeNxnB cZSaJFqo8kHKoXetiVpPuowybYdqAVrjtkCXEWk3dQyxWFuCn9PqpsBkXkzWXpWZPe1Z 3m1Epq8Jyl4PtwP0b9ha3GJ2Je6iNqXfdNe07StA+MhGLC+gIgwq/YgbypwVqSKOEme2 OySQ== X-Gm-Message-State: AOAM531RHM5v080eKULUjt2X6DZlt7vx+Z89bb5IidgbTCdYwjqlqYVv phYrd9Iw02OEh+JIfnZyXrj3QeBJ6nOK2xkX X-Google-Smtp-Source: ABdhPJywNsVBe++9E/Acl2dSzEcYT72PY2UcqtFFP3CgXkHpWQmdnTv/ZoObAL+dj3D4ArayoxGtSA== X-Received: by 2002:a5d:534e:: with SMTP id t14mr27114997wrv.202.1614781395526; Wed, 03 Mar 2021 06:23:15 -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 b15sm7876219wmd.41.2021.03.03.06.23.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Mar 2021 06:23:15 -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, Jonas Gorski , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= , Necip Fazil Yildiran , linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 04/14] pinctrl: add a pincontrol driver for BCM6328 Date: Wed, 3 Mar 2021 15:23:00 +0100 Message-Id: <20210303142310.6371-5-noltari@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210303142310.6371-1-noltari@gmail.com> References: <20210303142310.6371-1-noltari@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210303_142426_512261_CCC9A501 X-CRM114-Status: GOOD ( 22.72 ) 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+Ci0tLQogdjM6IHVzZSBu ZXcgc2hhcmVkIGNvZGUKIHYyOiBzd2l0Y2ggdG8gR1BJT19SRUdNQVAKCiBkcml2ZXJzL3BpbmN0 cmwvYmNtL0tjb25maWcgICAgICAgICAgIHwgICA4ICsKIGRyaXZlcnMvcGluY3RybC9iY20vTWFr ZWZpbGUgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9waW5jdHJsL2JjbS9waW5jdHJsLWJjbTYz MjguYyB8IDQwMyArKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA0 MTIgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcGluY3RybC9iY20v cGluY3RybC1iY202MzI4LmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvYmNtL0tjb25m aWcgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcKaW5kZXggOWMyOWIyM2I4NGY0Li5hZThh ODc4MGQ0NTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGluY3RybC9iY20vS2NvbmZpZworKysgYi9k cml2ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcKQEAgLTM4LDYgKzM4LDE0IEBAIGNvbmZpZyBQSU5D VFJMX0JDTTYzWFgKIAlzZWxlY3QgUElOQ09ORgogCXNlbGVjdCBQSU5NVVgKIAorY29uZmlnIFBJ TkNUUkxfQkNNNjMyOAorCWJvb2wgIkJyb2FkY29tIEJDTTYzMjggR1BJTyBkcml2ZXIiCisJZGVw ZW5kcyBvbiAoQk1JUFNfR0VORVJJQyB8fCBDT01QSUxFX1RFU1QpCisJc2VsZWN0IFBJTkNUUkxf QkNNNjNYWAorCWRlZmF1bHQgQk1JUFNfR0VORVJJQworCWhlbHAKKwkgICBTYXkgWSBoZXJlIHRv IGVuYWJsZSB0aGUgQnJvYWRjb20gQkNNNjMyOCBHUElPIGRyaXZlci4KKwogY29uZmlnIFBJTkNU UkxfSVBST0NfR1BJTwogCWJvb2wgIkJyb2FkY29tIGlQcm9jIEdQSU8gKHdpdGggUElOQ09ORikg ZHJpdmVyIgogCWRlcGVuZHMgb24gT0ZfR1BJTyAmJiAoQVJDSF9CQ01fSVBST0MgfHwgQ09NUElM RV9URVNUKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9waW5jdHJsL2JjbS9NYWtlZmlsZSBiL2RyaXZl cnMvcGluY3RybC9iY20vTWFrZWZpbGUKaW5kZXggMGUzY2Y5YjE1YzY1Li41N2U1NDM0YTZkYjYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGluY3RybC9iY20vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9w aW5jdHJsL2JjbS9NYWtlZmlsZQpAQCAtNCw2ICs0LDcgQEAKIG9iai0kKENPTkZJR19QSU5DVFJM X0JDTTI4MVhYKQkJKz0gcGluY3RybC1iY20yODF4eC5vCiBvYmotJChDT05GSUdfUElOQ1RSTF9C Q00yODM1KQkJKz0gcGluY3RybC1iY20yODM1Lm8KIG9iai0kKENPTkZJR19QSU5DVFJMX0JDTTYz WFgpCQkrPSBwaW5jdHJsLWJjbTYzeHgubworb2JqLSQoQ09ORklHX1BJTkNUUkxfQkNNNjMyOCkJ CSs9IHBpbmN0cmwtYmNtNjMyOC5vCiBvYmotJChDT05GSUdfUElOQ1RSTF9JUFJPQ19HUElPKQkr PSBwaW5jdHJsLWlwcm9jLWdwaW8ubwogb2JqLSQoQ09ORklHX1BJTkNUUkxfQ1lHTlVTX01VWCkJ Kz0gcGluY3RybC1jeWdudXMtbXV4Lm8KIG9iai0kKENPTkZJR19QSU5DVFJMX05TKQkJKz0gcGlu Y3RybC1ucy5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvYmNtL3BpbmN0cmwtYmNtNjMy OC5jIGIvZHJpdmVycy9waW5jdHJsL2JjbS9waW5jdHJsLWJjbTYzMjguYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmI5MTIzODc4NTI5MAotLS0gL2Rldi9udWxsCisr KyBiL2RyaXZlcnMvcGluY3RybC9iY20vcGluY3RybC1iY202MzI4LmMKQEAgLTAsMCArMSw0MDMg QEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKworLyoKKyAqIERyaXZlciBm b3IgQkNNNjMyOCBHUElPIHVuaXQgKHBpbmN0cmwgKyBHUElPKQorICoKKyAqIENvcHlyaWdodCAo QykgMjAyMSDDgWx2YXJvIEZlcm7DoW5kZXogUm9qYXMgPG5vbHRhcmlAZ21haWwuY29tPgorICog Q29weXJpZ2h0IChDKSAyMDE2IEpvbmFzIEdvcnNraSA8am9uYXMuZ29yc2tpQGdtYWlsLmNvbT4K KyAqLworCisjaW5jbHVkZSA8bGludXgvYml0cy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8vZHJp dmVyLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvb2YuaD4K KyNpbmNsdWRlIDxsaW51eC9waW5jdHJsL3Bpbm11eC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRm b3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgorCisjaW5jbHVkZSAiLi4v cGluY3RybC11dGlscy5oIgorCisjaW5jbHVkZSAicGluY3RybC1iY202M3h4LmgiCisKKyNkZWZp bmUgQkNNNjMyOF9OVU1fR1BJT1MJMzIKKworI2RlZmluZSBCQ002MzI4X01PREVfUkVHCTB4MTgK KyNkZWZpbmUgQkNNNjMyOF9NVVhfSElfUkVHCTB4MWMKKyNkZWZpbmUgQkNNNjMyOF9NVVhfTE9f UkVHCTB4MjAKKyNkZWZpbmUgQkNNNjMyOF9NVVhfT1RIRVJfUkVHCTB4MjQKKworc3RydWN0IGJj bTYzMjhfcGluZ3JvdXAgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgdW5zaWduZWQgKiBj b25zdCBwaW5zOworCWNvbnN0IHVuc2lnbmVkIG51bV9waW5zOworfTsKKworc3RydWN0IGJjbTYz MjhfZnVuY3Rpb24geworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqIGNvbnN0ICpn cm91cHM7CisJY29uc3QgdW5zaWduZWQgbnVtX2dyb3VwczsKKworCXVuc2lnbmVkIG1vZGVfdmFs OjE7CisJdW5zaWduZWQgbXV4X3ZhbDoyOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBwaW5j dHJsX3Bpbl9kZXNjIGJjbTYzMjhfcGluc1tdID0geworCVBJTkNUUkxfUElOKDAsICJncGlvMCIp LAorCVBJTkNUUkxfUElOKDEsICJncGlvMSIpLAorCVBJTkNUUkxfUElOKDIsICJncGlvMiIpLAor CVBJTkNUUkxfUElOKDMsICJncGlvMyIpLAorCVBJTkNUUkxfUElOKDQsICJncGlvNCIpLAorCVBJ TkNUUkxfUElOKDUsICJncGlvNSIpLAorCVBJTkNUUkxfUElOKDYsICJncGlvNiIpLAorCVBJTkNU UkxfUElOKDcsICJncGlvNyIpLAorCVBJTkNUUkxfUElOKDgsICJncGlvOCIpLAorCVBJTkNUUkxf UElOKDksICJncGlvOSIpLAorCVBJTkNUUkxfUElOKDEwLCAiZ3BpbzEwIiksCisJUElOQ1RSTF9Q SU4oMTEsICJncGlvMTEiKSwKKwlQSU5DVFJMX1BJTigxMiwgImdwaW8xMiIpLAorCVBJTkNUUkxf UElOKDEzLCAiZ3BpbzEzIiksCisJUElOQ1RSTF9QSU4oMTQsICJncGlvMTQiKSwKKwlQSU5DVFJM X1BJTigxNSwgImdwaW8xNSIpLAorCVBJTkNUUkxfUElOKDE2LCAiZ3BpbzE2IiksCisJUElOQ1RS TF9QSU4oMTcsICJncGlvMTciKSwKKwlQSU5DVFJMX1BJTigxOCwgImdwaW8xOCIpLAorCVBJTkNU UkxfUElOKDE5LCAiZ3BpbzE5IiksCisJUElOQ1RSTF9QSU4oMjAsICJncGlvMjAiKSwKKwlQSU5D VFJMX1BJTigyMSwgImdwaW8yMSIpLAorCVBJTkNUUkxfUElOKDIyLCAiZ3BpbzIyIiksCisJUElO Q1RSTF9QSU4oMjMsICJncGlvMjMiKSwKKwlQSU5DVFJMX1BJTigyNCwgImdwaW8yNCIpLAorCVBJ TkNUUkxfUElOKDI1LCAiZ3BpbzI1IiksCisJUElOQ1RSTF9QSU4oMjYsICJncGlvMjYiKSwKKwlQ SU5DVFJMX1BJTigyNywgImdwaW8yNyIpLAorCVBJTkNUUkxfUElOKDI4LCAiZ3BpbzI4IiksCisJ UElOQ1RSTF9QSU4oMjksICJncGlvMjkiKSwKKwlQSU5DVFJMX1BJTigzMCwgImdwaW8zMCIpLAor CVBJTkNUUkxfUElOKDMxLCAiZ3BpbzMxIiksCisKKwkvKgorCSAqIE5vIGlkZWEgd2hlcmUgdGhl eSByZWFsbHkgYXJlOyBzbyBsZXQncyBwdXQgdGhlbSBhY2NvcmRpbmcKKwkgKiB0byB0aGVpciBt dXggb2Zmc2V0cy4KKwkgKi8KKwlQSU5DVFJMX1BJTigzNiwgImhzc3BpX2NzMSIpLAorCVBJTkNU UkxfUElOKDM4LCAidXNiX3AyIiksCit9OworCitzdGF0aWMgdW5zaWduZWQgZ3BpbzBfcGluc1td ID0geyAwIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzFfcGluc1tdID0geyAxIH07CitzdGF0aWMg dW5zaWduZWQgZ3BpbzJfcGluc1tdID0geyAyIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzNfcGlu c1tdID0geyAzIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzRfcGluc1tdID0geyA0IH07CitzdGF0 aWMgdW5zaWduZWQgZ3BpbzVfcGluc1tdID0geyA1IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzZf cGluc1tdID0geyA2IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzdfcGluc1tdID0geyA3IH07Citz dGF0aWMgdW5zaWduZWQgZ3BpbzhfcGluc1tdID0geyA4IH07CitzdGF0aWMgdW5zaWduZWQgZ3Bp bzlfcGluc1tdID0geyA5IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzEwX3BpbnNbXSA9IHsgMTAg fTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMTFfcGluc1tdID0geyAxMSB9Oworc3RhdGljIHVuc2ln bmVkIGdwaW8xMl9waW5zW10gPSB7IDEyIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzEzX3BpbnNb XSA9IHsgMTMgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMTRfcGluc1tdID0geyAxNCB9Oworc3Rh dGljIHVuc2lnbmVkIGdwaW8xNV9waW5zW10gPSB7IDE1IH07CitzdGF0aWMgdW5zaWduZWQgZ3Bp bzE2X3BpbnNbXSA9IHsgMTYgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMTdfcGluc1tdID0geyAx NyB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8xOF9waW5zW10gPSB7IDE4IH07CitzdGF0aWMgdW5z aWduZWQgZ3BpbzE5X3BpbnNbXSA9IHsgMTkgfTsKK3N0YXRpYyB1bnNpZ25lZCBncGlvMjBfcGlu c1tdID0geyAyMCB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yMV9waW5zW10gPSB7IDIxIH07Citz dGF0aWMgdW5zaWduZWQgZ3BpbzIyX3BpbnNbXSA9IHsgMjIgfTsKK3N0YXRpYyB1bnNpZ25lZCBn cGlvMjNfcGluc1tdID0geyAyMyB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yNF9waW5zW10gPSB7 IDI0IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzI1X3BpbnNbXSA9IHsgMjUgfTsKK3N0YXRpYyB1 bnNpZ25lZCBncGlvMjZfcGluc1tdID0geyAyNiB9Oworc3RhdGljIHVuc2lnbmVkIGdwaW8yN19w aW5zW10gPSB7IDI3IH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzI4X3BpbnNbXSA9IHsgMjggfTsK K3N0YXRpYyB1bnNpZ25lZCBncGlvMjlfcGluc1tdID0geyAyOSB9Oworc3RhdGljIHVuc2lnbmVk IGdwaW8zMF9waW5zW10gPSB7IDMwIH07CitzdGF0aWMgdW5zaWduZWQgZ3BpbzMxX3BpbnNbXSA9 IHsgMzEgfTsKKworc3RhdGljIHVuc2lnbmVkIGhzc3BpX2NzMV9waW5zW10gPSB7IDM2IH07Citz dGF0aWMgdW5zaWduZWQgdXNiX3BvcnQxX3BpbnNbXSA9IHsgMzggfTsKKworI2RlZmluZSBCQ002 MzI4X0dST1VQKG4pCQkJCQlcCisJewkJCQkJCQlcCisJCS5uYW1lID0gI24sCQkJCQlcCisJCS5w aW5zID0gbiMjX3BpbnMsCQkJCVwKKwkJLm51bV9waW5zID0gQVJSQVlfU0laRShuIyNfcGlucyks CQlcCisJfQorCitzdGF0aWMgc3RydWN0IGJjbTYzMjhfcGluZ3JvdXAgYmNtNjMyOF9ncm91cHNb XSA9IHsKKwlCQ002MzI4X0dST1VQKGdwaW8wKSwKKwlCQ002MzI4X0dST1VQKGdwaW8xKSwKKwlC Q002MzI4X0dST1VQKGdwaW8yKSwKKwlCQ002MzI4X0dST1VQKGdwaW8zKSwKKwlCQ002MzI4X0dS T1VQKGdwaW80KSwKKwlCQ002MzI4X0dST1VQKGdwaW81KSwKKwlCQ002MzI4X0dST1VQKGdwaW82 KSwKKwlCQ002MzI4X0dST1VQKGdwaW83KSwKKwlCQ002MzI4X0dST1VQKGdwaW84KSwKKwlCQ002 MzI4X0dST1VQKGdwaW85KSwKKwlCQ002MzI4X0dST1VQKGdwaW8xMCksCisJQkNNNjMyOF9HUk9V UChncGlvMTEpLAorCUJDTTYzMjhfR1JPVVAoZ3BpbzEyKSwKKwlCQ002MzI4X0dST1VQKGdwaW8x MyksCisJQkNNNjMyOF9HUk9VUChncGlvMTQpLAorCUJDTTYzMjhfR1JPVVAoZ3BpbzE1KSwKKwlC Q002MzI4X0dST1VQKGdwaW8xNiksCisJQkNNNjMyOF9HUk9VUChncGlvMTcpLAorCUJDTTYzMjhf R1JPVVAoZ3BpbzE4KSwKKwlCQ002MzI4X0dST1VQKGdwaW8xOSksCisJQkNNNjMyOF9HUk9VUChn cGlvMjApLAorCUJDTTYzMjhfR1JPVVAoZ3BpbzIxKSwKKwlCQ002MzI4X0dST1VQKGdwaW8yMiks CisJQkNNNjMyOF9HUk9VUChncGlvMjMpLAorCUJDTTYzMjhfR1JPVVAoZ3BpbzI0KSwKKwlCQ002 MzI4X0dST1VQKGdwaW8yNSksCisJQkNNNjMyOF9HUk9VUChncGlvMjYpLAorCUJDTTYzMjhfR1JP VVAoZ3BpbzI3KSwKKwlCQ002MzI4X0dST1VQKGdwaW8yOCksCisJQkNNNjMyOF9HUk9VUChncGlv MjkpLAorCUJDTTYzMjhfR1JPVVAoZ3BpbzMwKSwKKwlCQ002MzI4X0dST1VQKGdwaW8zMSksCisK KwlCQ002MzI4X0dST1VQKGhzc3BpX2NzMSksCisJQkNNNjMyOF9HUk9VUCh1c2JfcG9ydDEpLAor fTsKKworLyogR1BJT19NT0RFICovCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGxlZF9ncm91 cHNbXSA9IHsKKwkiZ3BpbzAiLAorCSJncGlvMSIsCisJImdwaW8yIiwKKwkiZ3BpbzMiLAorCSJn cGlvNCIsCisJImdwaW81IiwKKwkiZ3BpbzYiLAorCSJncGlvNyIsCisJImdwaW84IiwKKwkiZ3Bp bzkiLAorCSJncGlvMTAiLAorCSJncGlvMTEiLAorCSJncGlvMTIiLAorCSJncGlvMTMiLAorCSJn cGlvMTQiLAorCSJncGlvMTUiLAorCSJncGlvMTYiLAorCSJncGlvMTciLAorCSJncGlvMTgiLAor CSJncGlvMTkiLAorCSJncGlvMjAiLAorCSJncGlvMjEiLAorCSJncGlvMjIiLAorCSJncGlvMjMi LAorfTsKKworLyogUElOTVVYX1NFTCAqLworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzZXJp YWxfbGVkX2RhdGFfZ3JvdXBzW10gPSB7CisJImdwaW82IiwKK307CisKK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3Qgc2VyaWFsX2xlZF9jbGtfZ3JvdXBzW10gPSB7CisJImdwaW83IiwKK307CisK K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgaW5ldF9hY3RfbGVkX2dyb3Vwc1tdID0geworCSJn cGlvMTEiLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBwY2llX2Nsa3JlcV9ncm91 cHNbXSA9IHsKKwkiZ3BpbzE2IiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXBo eTBfYWN0X2xlZF9ncm91cHNbXSA9IHsKKwkiZ3BpbzI1IiwKK307CisKK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgZXBoeTFfYWN0X2xlZF9ncm91cHNbXSA9IHsKKwkiZ3BpbzI2IiwKK307CisK K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXBoeTJfYWN0X2xlZF9ncm91cHNbXSA9IHsKKwki Z3BpbzI3IiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXBoeTNfYWN0X2xlZF9n cm91cHNbXSA9IHsKKwkiZ3BpbzI4IiwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg aHNzcGlfY3MxX2dyb3Vwc1tdID0geworCSJoc3NwaV9jczEiCit9OworCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IHVzYl9ob3N0X3BvcnRfZ3JvdXBzW10gPSB7CisJInVzYl9wb3J0MSIsCit9 OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVzYl9kZXZpY2VfcG9ydF9ncm91cHNbXSA9 IHsKKwkidXNiX3BvcnQxIiwKK307CisKKyNkZWZpbmUgQkNNNjMyOF9NT0RFX0ZVTihuKQkJCQlc CisJewkJCQkJCVwKKwkJLm5hbWUgPSAjbiwJCQkJXAorCQkuZ3JvdXBzID0gbiMjX2dyb3VwcywJ CQlcCisJCS5udW1fZ3JvdXBzID0gQVJSQVlfU0laRShuIyNfZ3JvdXBzKSwJXAorCQkubW9kZV92 YWwgPSAxLAkJCQlcCisJfQorCisjZGVmaW5lIEJDTTYzMjhfTVVYX0ZVTihuLCBtdXgpCQkJCVwK Kwl7CQkJCQkJXAorCQkubmFtZSA9ICNuLAkJCQlcCisJCS5ncm91cHMgPSBuIyNfZ3JvdXBzLAkJ CVwKKwkJLm51bV9ncm91cHMgPSBBUlJBWV9TSVpFKG4jI19ncm91cHMpLAlcCisJCS5tdXhfdmFs ID0gbXV4LAkJCQlcCisJfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGJjbTYzMjhfZnVuY3Rpb24g YmNtNjMyOF9mdW5jc1tdID0geworCUJDTTYzMjhfTU9ERV9GVU4obGVkKSwKKwlCQ002MzI4X01V WF9GVU4oc2VyaWFsX2xlZF9kYXRhLCAyKSwKKwlCQ002MzI4X01VWF9GVU4oc2VyaWFsX2xlZF9j bGssIDIpLAorCUJDTTYzMjhfTVVYX0ZVTihpbmV0X2FjdF9sZWQsIDEpLAorCUJDTTYzMjhfTVVY X0ZVTihwY2llX2Nsa3JlcSwgMiksCisJQkNNNjMyOF9NVVhfRlVOKGVwaHkwX2FjdF9sZWQsIDEp LAorCUJDTTYzMjhfTVVYX0ZVTihlcGh5MV9hY3RfbGVkLCAxKSwKKwlCQ002MzI4X01VWF9GVU4o ZXBoeTJfYWN0X2xlZCwgMSksCisJQkNNNjMyOF9NVVhfRlVOKGVwaHkzX2FjdF9sZWQsIDEpLAor CUJDTTYzMjhfTVVYX0ZVTihoc3NwaV9jczEsIDIpLAorCUJDTTYzMjhfTVVYX0ZVTih1c2JfaG9z dF9wb3J0LCAxKSwKKwlCQ002MzI4X01VWF9GVU4odXNiX2RldmljZV9wb3J0LCAyKSwKK307CisK K3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGJjbTYzMjhfbXV4X29mZih1bnNpZ25lZCBpbnQg cGluKQoreworCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgYmNtNjMyOF9tdXhbXSA9IHsKKwkJ QkNNNjMyOF9NVVhfTE9fUkVHLAorCQlCQ002MzI4X01VWF9ISV9SRUcsCisJCUJDTTYzMjhfTVVY X09USEVSX1JFRworCX07CisKKwlyZXR1cm4gYmNtNjMyOF9tdXhbcGluIC8gMTZdOworfQorCitz dGF0aWMgaW50IGJjbTYzMjhfcGluY3RybF9nZXRfZ3JvdXBfY291bnQoc3RydWN0IHBpbmN0cmxf ZGV2ICpwY3RsZGV2KQoreworCXJldHVybiBBUlJBWV9TSVpFKGJjbTYzMjhfZ3JvdXBzKTsKK30K Kworc3RhdGljIGNvbnN0IGNoYXIgKmJjbTYzMjhfcGluY3RybF9nZXRfZ3JvdXBfbmFtZShzdHJ1 Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsCisJCQkJCQkgIHVuc2lnbmVkIGdyb3VwKQoreworCXJl dHVybiBiY202MzI4X2dyb3Vwc1tncm91cF0ubmFtZTsKK30KKworc3RhdGljIGludCBiY202MzI4 X3BpbmN0cmxfZ2V0X2dyb3VwX3BpbnMoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2LAorCQkJ CQkgIHVuc2lnbmVkIGdyb3VwLCBjb25zdCB1bnNpZ25lZCAqKnBpbnMsCisJCQkJCSAgdW5zaWdu ZWQgKm51bV9waW5zKQoreworCSpwaW5zID0gYmNtNjMyOF9ncm91cHNbZ3JvdXBdLnBpbnM7CisJ Km51bV9waW5zID0gYmNtNjMyOF9ncm91cHNbZ3JvdXBdLm51bV9waW5zOworCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyBpbnQgYmNtNjMyOF9waW5jdHJsX2dldF9mdW5jX2NvdW50KHN0cnVjdCBw aW5jdHJsX2RldiAqcGN0bGRldikKK3sKKwlyZXR1cm4gQVJSQVlfU0laRShiY202MzI4X2Z1bmNz KTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmJjbTYzMjhfcGluY3RybF9nZXRfZnVuY19uYW1l KHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldiwKKwkJCQkJCSB1bnNpZ25lZCBzZWxlY3RvcikK K3sKKwlyZXR1cm4gYmNtNjMyOF9mdW5jc1tzZWxlY3Rvcl0ubmFtZTsKK30KKworc3RhdGljIGlu dCBiY202MzI4X3BpbmN0cmxfZ2V0X2dyb3VwcyhzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYs CisJCQkJICAgICAgdW5zaWduZWQgc2VsZWN0b3IsCisJCQkJICAgICAgY29uc3QgY2hhciAqIGNv bnN0ICoqZ3JvdXBzLAorCQkJCSAgICAgIHVuc2lnbmVkICogY29uc3QgbnVtX2dyb3VwcykKK3sK KwkqZ3JvdXBzID0gYmNtNjMyOF9mdW5jc1tzZWxlY3Rvcl0uZ3JvdXBzOworCSpudW1fZ3JvdXBz ID0gYmNtNjMyOF9mdW5jc1tzZWxlY3Rvcl0ubnVtX2dyb3VwczsKKworCXJldHVybiAwOworfQor CitzdGF0aWMgdm9pZCBiY202MzI4X3Jtd19tdXgoc3RydWN0IGJjbTYzeHhfcGluY3RybCAqcGMs IHVuc2lnbmVkIHBpbiwKKwkJCSAgICB1bnNpZ25lZCBpbnQgbW9kZSwgdW5zaWduZWQgaW50IG11 eCkKK3sKKwlpZiAocGluIDwgQkNNNjMyOF9OVU1fR1BJT1MpCisJCXJlZ21hcF91cGRhdGVfYml0 cyhwYy0+cmVncywgQkNNNjMyOF9NT0RFX1JFRywgQklUKHBpbiksCisJCQkJICAgbW9kZSA/IEJJ VChwaW4pIDogMCk7CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMocGMtPnJlZ3MsIGJjbTYzMjhfbXV4 X29mZihwaW4pLAorCQkJICAgM1VMIDw8ICgocGluICUgMTYpICogMiksCisJCQkgICBtdXggPDwg KChwaW4gJSAxNikgKiAyKSk7Cit9CisKK3N0YXRpYyBpbnQgYmNtNjMyOF9waW5jdHJsX3NldF9t dXgoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2LAorCQkJCSAgIHVuc2lnbmVkIHNlbGVjdG9y LCB1bnNpZ25lZCBncm91cCkKK3sKKwlzdHJ1Y3QgYmNtNjN4eF9waW5jdHJsICpwYyA9IHBpbmN0 cmxfZGV2X2dldF9kcnZkYXRhKHBjdGxkZXYpOworCWNvbnN0IHN0cnVjdCBiY202MzI4X3Bpbmdy b3VwICpwZyA9ICZiY202MzI4X2dyb3Vwc1tncm91cF07CisJY29uc3Qgc3RydWN0IGJjbTYzMjhf ZnVuY3Rpb24gKmYgPSAmYmNtNjMyOF9mdW5jc1tzZWxlY3Rvcl07CisKKwliY202MzI4X3Jtd19t dXgocGMsIHBnLT5waW5zWzBdLCBmLT5tb2RlX3ZhbCwgZi0+bXV4X3ZhbCk7CisKKwlyZXR1cm4g MDsKK30KKworc3RhdGljIGludCBiY202MzI4X2dwaW9fcmVxdWVzdF9lbmFibGUoc3RydWN0IHBp bmN0cmxfZGV2ICpwY3RsZGV2LAorCQkJCSAgICAgICBzdHJ1Y3QgcGluY3RybF9ncGlvX3Jhbmdl ICpyYW5nZSwKKwkJCQkgICAgICAgdW5zaWduZWQgb2Zmc2V0KQoreworCXN0cnVjdCBiY202M3h4 X3BpbmN0cmwgKnBjID0gcGluY3RybF9kZXZfZ2V0X2RydmRhdGEocGN0bGRldik7CisKKwkvKiBk aXNhYmxlIGFsbCBmdW5jdGlvbnMgdXNpbmcgdGhpcyBwaW4gKi8KKwliY202MzI4X3Jtd19tdXgo cGMsIG9mZnNldCwgMCwgMCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwaW5j dHJsX29wcyBiY202MzI4X3BjdGxfb3BzID0geworCS5kdF9mcmVlX21hcCA9IHBpbmN0cmxfdXRp bHNfZnJlZV9tYXAsCisJLmR0X25vZGVfdG9fbWFwID0gcGluY29uZl9nZW5lcmljX2R0X25vZGVf dG9fbWFwX3BpbiwKKwkuZ2V0X2dyb3VwX25hbWUgPSBiY202MzI4X3BpbmN0cmxfZ2V0X2dyb3Vw X25hbWUsCisJLmdldF9ncm91cF9waW5zID0gYmNtNjMyOF9waW5jdHJsX2dldF9ncm91cF9waW5z LAorCS5nZXRfZ3JvdXBzX2NvdW50ID0gYmNtNjMyOF9waW5jdHJsX2dldF9ncm91cF9jb3VudCwK K307CisKK3N0YXRpYyBzdHJ1Y3QgcGlubXV4X29wcyBiY202MzI4X3BteF9vcHMgPSB7CisJLmdl dF9mdW5jdGlvbl9ncm91cHMgPSBiY202MzI4X3BpbmN0cmxfZ2V0X2dyb3VwcywKKwkuZ2V0X2Z1 bmN0aW9uX25hbWUgPSBiY202MzI4X3BpbmN0cmxfZ2V0X2Z1bmNfbmFtZSwKKwkuZ2V0X2Z1bmN0 aW9uc19jb3VudCA9IGJjbTYzMjhfcGluY3RybF9nZXRfZnVuY19jb3VudCwKKwkuZ3Bpb19yZXF1 ZXN0X2VuYWJsZSA9IGJjbTYzMjhfZ3Bpb19yZXF1ZXN0X2VuYWJsZSwKKwkuc2V0X211eCA9IGJj bTYzMjhfcGluY3RybF9zZXRfbXV4LAorCS5zdHJpY3QgPSB0cnVlLAorfTsKKworc3RhdGljIGNv bnN0IHN0cnVjdCBiY202M3h4X3BpbmN0cmxfc29jIGJjbTYzMjhfc29jID0geworCS5uZ3Bpb3Mg PSBCQ002MzI4X05VTV9HUElPUywKKwkubnBpbnMgPSBBUlJBWV9TSVpFKGJjbTYzMjhfcGlucyks CisJLnBjdGxfb3BzID0gJmJjbTYzMjhfcGN0bF9vcHMsCisJLnBpbnMgPSBiY202MzI4X3BpbnMs CisJLnBteF9vcHMgPSAmYmNtNjMyOF9wbXhfb3BzLAorfTsKKworc3RhdGljIGludCBiY202MzI4 X3BpbmN0cmxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4g YmNtNjN4eF9waW5jdHJsX3Byb2JlKHBkZXYsICZiY202MzI4X3NvYywgTlVMTCk7Cit9CisKK3N0 YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGJjbTYzMjhfcGluY3RybF9tYXRjaFtdID0g eworCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY202MzI4LXBpbmN0cmwiLCB9LAorCXsgfSwKK307 CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGJjbTYzMjhfcGluY3RybF9kcml2ZXIg PSB7CisJLnByb2JlID0gYmNtNjMyOF9waW5jdHJsX3Byb2JlLAorCS5kcml2ZXIgPSB7CisJCS5u YW1lID0gImJjbTYzMjgtcGluY3RybCIsCisJCS5vZl9tYXRjaF90YWJsZSA9IGJjbTYzMjhfcGlu Y3RybF9tYXRjaCwKKwl9LAorfTsKKworYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoYmNtNjMyOF9w aW5jdHJsX2RyaXZlcik7Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==