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 0E2EDC433E0 for ; Thu, 4 Mar 2021 09:02:07 +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 67B7864F18 for ; Thu, 4 Mar 2021 09:02:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 67B7864F18 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=IVKHJueeTxXjEEdal9xVGHtmZsHxfa+NXd9ndMEfj0M=; b=IFprm9IXt46u9V+PnLzUBeKdB G1w6KdTtCnCBrW+/aZ3xQKC0DeQBm+WhTgr34cNEL/ygrDTYXgZXTvP9TePLUFGgwrwgNtjWbAnej 9E66EviPLBp+KWjKQjITRTtfSsGBKRrAEanx+eJPJ/t5AOP1tEMXESgYBNfRWvYR67rXGPUzIK/Th dhn6RdZH+Fkdmo9La6vwLMX56VSD1XNLWkYx5Exq3Br4lRAZabE6wMsYwXIXwagFQfpUcST8Hnyy1 d2XrdSSufGK9ijQyesjsPhQ2RfNgiCX/jB6U1q7TivzRFTiZxLjiSL5LY0oGmlksPuCie3v0VO2Qj R2qCSYlew==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHjph-008Cb2-BW; Thu, 04 Mar 2021 08:59:45 +0000 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHjnM-008C2t-Ok for linux-arm-kernel@lists.infradead.org; Thu, 04 Mar 2021 08:57:24 +0000 Received: by mail-wm1-x32a.google.com with SMTP id u125so8803069wmg.4 for ; Thu, 04 Mar 2021 00:57:20 -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=5qPTqChdNYlIXH1TIk3VyGdj0LIorAkNeqGlg0otyZU=; b=h4XnW2At8Sg+DGpKJc0slfpWaNVAL1GnalF0iuk+3EoIunJsXcrgiNIFxo8UK3JMue KB0Szwjn9mK2Iwz9hdhVSUZKtc+VcwPMQXKkZVYktOpQIgaaDElxuvg6O/gv8J0uqbMR 3vl0ib/Sh+QpiRc0VBj4qFq0aQjJTsoUuYHH7stNapwRHH1cKyQU5qChq8iXKDXor9xu gB+qMUfYq/uI2imp6eI8R0OcCnifsz6rNZmwl+ZETUlbK10JHAAfV9B1BzkbkI3pEJP1 SM84aZgHcyaZu8syPeJOM27UvXoiFyMMkRROtVcGQ9H3b7GeEAMsIrLpyc4hF5WhbVX8 cdgQ== 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=5qPTqChdNYlIXH1TIk3VyGdj0LIorAkNeqGlg0otyZU=; b=ezibeyXaa/wpPhDdhCUR9NJxTtwyFl/lWqIIsUlvD5MzAzmNH0FBHQ2oMgQ0fua4Jk EpQvTXpIpDS5O0F+G7dXCRODoQ6+MI31oTTtOCvDx3Rg1uDtn5I1tqRkO4zvfEUNr6XJ 2hNQgEvjqQKc9p9Go0Vc31PGTrOHb2PzHfp9sUMOZ0aj3bMBUedGy6e0Qg27xpK3TO8p +9TWxw5CQ/R9scJXuFHruTtQbtV43/k/vPtU7Bln3BvZUEivEl2VQ9HRmtTzbk3576Sm AWcD3U5QMW15cJ6TGQyVu45jG6UVNGtAjl/lWHiuG5gbEgVxYqp5MBWR0Jh+4sqhW2PH FjKA== X-Gm-Message-State: AOAM530p4EOo+FlZyjiUhAYqtUqIfLYVGPk5y5mKIMqpjdGNWiPKS31g uxywheafEt4+/sAtcVDZhlQ= X-Google-Smtp-Source: ABdhPJwK4oWlVQYIcJ1sEB8qjIngf8JAvyWV5/SQ37R4BlPXGIWQOEmgLWQOMx1q28Wqx25CoaOGZQ== X-Received: by 2002:a05:600c:21ca:: with SMTP id x10mr2862363wmj.48.1614848240406; Thu, 04 Mar 2021 00:57:20 -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.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Mar 2021 00:57:20 -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 07/15] pinctrl: add a pincontrol driver for BCM6358 Date: Thu, 4 Mar 2021 09:57:02 +0100 Message-Id: <20210304085710.7128-8-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 QWRkIGEgcGluY290cm9sIGRyaXZlciBmb3IgQkNNNjM1OC4gQkNNNjM1OCBhbGxvdyBvdmVybGF5 aW5nIGRpZmZlcmVudApmdW5jdGlvbnMgb250byB0aGUgR1BJTyBwaW5zLiBJdCBkb2VzIG5vdCBz dXBwb3J0IGNvbmZpZ3VyaW5nIGluZGl2aWR1YWwKcGlucyBidXQgb25seSB3aG9sZSBncm91cHMu IFRoZXNlIGdyb3VwcyBtYXkgb3ZlcmxhcCwgYW5kIHN0aWxsIHJlcXVpcmUKdGhlIGRpcmVjdGlv bnMgdG8gYmUgc2V0IGNvcnJlY3RseSBpbiB0aGUgR1BJTyByZWdpc3Rlci4gSW4gYWRkaXRpb24g dGhlCmZ1bmN0aW9ucyByZWdpc3RlciBjb250cm9scyBvdGhlciwgbm90IGRpcmVjdGx5IG11eCBy ZWxhdGVkIGZ1bmN0aW9ucy4KClNpZ25lZC1vZmYtYnk6IMOBbHZhcm8gRmVybsOhbmRleiBSb2ph cyA8bm9sdGFyaUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEpvbmFzIEdvcnNraSA8am9uYXMu Z29yc2tpQGdtYWlsLmNvbT4KLS0tCiB2NDogbm8gY2hhbmdlcwogdjM6IHVzZSBuZXcgc2hhcmVk IGNvZGUKIHYyOiBzd2l0Y2ggdG8gR1BJT19SRUdNQVAKCiBkcml2ZXJzL3BpbmN0cmwvYmNtL0tj b25maWcgICAgICAgICAgIHwgICA4ICsKIGRyaXZlcnMvcGluY3RybC9iY20vTWFrZWZpbGUgICAg ICAgICAgfCAgIDEgKwogZHJpdmVycy9waW5jdHJsL2JjbS9waW5jdHJsLWJjbTYzNTguYyB8IDM2 OSArKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAzNzggaW5zZXJ0 aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcGluY3RybC9iY20vcGluY3RybC1i Y202MzU4LmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcgYi9kcml2 ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcKaW5kZXggZDM1ZTVkM2ZlMjZmLi5jZWQ3Y2M2YWI0NGYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGluY3RybC9iY20vS2NvbmZpZworKysgYi9kcml2ZXJzL3Bp bmN0cmwvYmNtL0tjb25maWcKQEAgLTQ0LDYgKzQ0LDE0IEBAIGNvbmZpZyBQSU5DVFJMX0JDTTYz MjgKIAloZWxwCiAJICAgU2F5IFkgaGVyZSB0byBlbmFibGUgdGhlIEJyb2FkY29tIEJDTTYzMjgg R1BJTyBkcml2ZXIuCiAKK2NvbmZpZyBQSU5DVFJMX0JDTTYzNTgKKwlib29sICJCcm9hZGNvbSBC Q002MzU4IEdQSU8gZHJpdmVyIgorCWRlcGVuZHMgb24gKEJNSVBTX0dFTkVSSUMgfHwgQ09NUElM RV9URVNUKQorCXNlbGVjdCBQSU5DVFJMX0JDTTYzWFgKKwlkZWZhdWx0IEJNSVBTX0dFTkVSSUMK KwloZWxwCisJICAgU2F5IFkgaGVyZSB0byBlbmFibGUgdGhlIEJyb2FkY29tIEJDTTYzNTggR1BJ TyBkcml2ZXIuCisKIGNvbmZpZyBQSU5DVFJMX0lQUk9DX0dQSU8KIAlib29sICJCcm9hZGNvbSBp UHJvYyBHUElPICh3aXRoIFBJTkNPTkYpIGRyaXZlciIKIAlkZXBlbmRzIG9uIE9GX0dQSU8gJiYg KEFSQ0hfQkNNX0lQUk9DIHx8IENPTVBJTEVfVEVTVCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGlu Y3RybC9iY20vTWFrZWZpbGUgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL01ha2VmaWxlCmluZGV4IDU3 ZTU0MzRhNmRiNi4uYzNmNWI3YjJmMmYwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BpbmN0cmwvYmNt L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGluY3RybC9iY20vTWFrZWZpbGUKQEAgLTUsNiArNSw3 IEBAIG9iai0kKENPTkZJR19QSU5DVFJMX0JDTTI4MVhYKQkJKz0gcGluY3RybC1iY20yODF4eC5v CiBvYmotJChDT05GSUdfUElOQ1RSTF9CQ00yODM1KQkJKz0gcGluY3RybC1iY20yODM1Lm8KIG9i ai0kKENPTkZJR19QSU5DVFJMX0JDTTYzWFgpCQkrPSBwaW5jdHJsLWJjbTYzeHgubwogb2JqLSQo Q09ORklHX1BJTkNUUkxfQkNNNjMyOCkJCSs9IHBpbmN0cmwtYmNtNjMyOC5vCitvYmotJChDT05G SUdfUElOQ1RSTF9CQ002MzU4KQkJKz0gcGluY3RybC1iY202MzU4Lm8KIG9iai0kKENPTkZJR19Q SU5DVFJMX0lQUk9DX0dQSU8pCSs9IHBpbmN0cmwtaXByb2MtZ3Bpby5vCiBvYmotJChDT05GSUdf UElOQ1RSTF9DWUdOVVNfTVVYKQkrPSBwaW5jdHJsLWN5Z251cy1tdXgubwogb2JqLSQoQ09ORklH X1BJTkNUUkxfTlMpCQkrPSBwaW5jdHJsLW5zLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGluY3Ry bC9iY20vcGluY3RybC1iY202MzU4LmMgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL3BpbmN0cmwtYmNt NjM1OC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTE0ODdhN2My ZTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9waW5jdHJsL2JjbS9waW5jdHJsLWJjbTYz NTguYwpAQCAtMCwwICsxLDM2OSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjArCisvKgorICogRHJpdmVyIGZvciBCQ002MzU4IEdQSU8gdW5pdCAocGluY3RybCArIEdQSU8p CisgKgorICogQ29weXJpZ2h0IChDKSAyMDIxIMOBbHZhcm8gRmVybsOhbmRleiBSb2phcyA8bm9s dGFyaUBnbWFpbC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSm9uYXMgR29yc2tpIDxqb25h cy5nb3Jza2lAZ21haWwuY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9iaXRzLmg+CisjaW5j bHVkZSA8bGludXgvZ3Bpby9kcml2ZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNp bmNsdWRlIDxsaW51eC9vZi5oPgorI2luY2x1ZGUgPGxpbnV4L3BpbmN0cmwvcGlubXV4Lmg+Cisj aW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcmVnbWFw Lmg+CisKKyNpbmNsdWRlICIuLi9waW5jdHJsLXV0aWxzLmgiCisKKyNpbmNsdWRlICJwaW5jdHJs LWJjbTYzeHguaCIKKworI2RlZmluZSBCQ002MzU4X05VTV9HUElPUwkJNDAKKworI2RlZmluZSBC Q002MzU4X01PREVfUkVHCQkweDE4CisjZGVmaW5lICBCQ002MzU4X01PREVfTVVYX05PTkUJCTAK KyNkZWZpbmUgIEJDTTYzNThfTU9ERV9NVVhfRUJJX0NTCUJJVCg1KQorI2RlZmluZSAgQkNNNjM1 OF9NT0RFX01VWF9VQVJUMQkJQklUKDYpCisjZGVmaW5lICBCQ002MzU4X01PREVfTVVYX1NQSV9D UwlCSVQoNykKKyNkZWZpbmUgIEJDTTYzNThfTU9ERV9NVVhfQVNZTkNfTU9ERU0JQklUKDgpCisj ZGVmaW5lICBCQ002MzU4X01PREVfTVVYX0xFR0FDWV9MRUQJQklUKDkpCisjZGVmaW5lICBCQ002 MzU4X01PREVfTVVYX1NFUklBTF9MRUQJQklUKDEwKQorI2RlZmluZSAgQkNNNjM1OF9NT0RFX01V WF9MRUQJCUJJVCgxMSkKKyNkZWZpbmUgIEJDTTYzNThfTU9ERV9NVVhfVVRPUElBCUJJVCgxMikK KyNkZWZpbmUgIEJDTTYzNThfTU9ERV9NVVhfQ0xLUlNUCUJJVCgxMykKKyNkZWZpbmUgIEJDTTYz NThfTU9ERV9NVVhfUFdNX1NZTl9DTEsJQklUKDE0KQorI2RlZmluZSAgQkNNNjM1OF9NT0RFX01V WF9TWVNfSVJRCUJJVCgxNSkKKworc3RydWN0IGJjbTYzNThfcGluZ3JvdXAgeworCWNvbnN0IGNo YXIgKm5hbWU7CisJY29uc3QgdW5zaWduZWQgKiBjb25zdCBwaW5zOworCWNvbnN0IHVuc2lnbmVk IG51bV9waW5zOworCisJY29uc3QgdWludDE2X3QgbW9kZV92YWw7CisKKwkvKiBub24tR1BJTyBm dW5jdGlvbiBtdXhlcyByZXF1aXJlIHRoZSBncGlvIGRpcmVjdGlvbiB0byBiZSBzZXQgKi8KKwlj b25zdCB1aW50MTZfdCBkaXJlY3Rpb247Cit9OworCitzdHJ1Y3QgYmNtNjM1OF9mdW5jdGlvbiB7 CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICogY29uc3QgKmdyb3VwczsKKwljb25z dCB1bnNpZ25lZCBudW1fZ3JvdXBzOworfTsKKworc3RydWN0IGJjbTYzNThfcHJpdiB7CisJc3Ry dWN0IHJlZ21hcF9maWVsZCAqb3ZlcmxheXM7Cit9OworCisjZGVmaW5lIEJDTTYzNThfR1BJT19Q SU4oYSwgYiwgYml0MSwgYml0MiwgYml0MykJCVwKKwl7CQkJCQkJCVwKKwkJLm51bWJlciA9IGEs CQkJCQlcCisJCS5uYW1lID0gYiwJCQkJCVwKKwkJLmRydl9kYXRhID0gKHZvaWQgKikoQkNNNjM1 OF9NT0RFX01VWF8jI2JpdDEgfAlcCisJCQkJICAgICBCQ002MzU4X01PREVfTVVYXyMjYml0MiB8 CVwKKwkJCQkgICAgIEJDTTYzNThfTU9ERV9NVVhfIyNiaXQzKSwJXAorCX0KKworc3RhdGljIGNv bnN0IHN0cnVjdCBwaW5jdHJsX3Bpbl9kZXNjIGJjbTYzNThfcGluc1tdID0geworCUJDTTYzNThf R1BJT19QSU4oMCwgImdwaW8wIiwgTEVELCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElO KDEsICJncGlvMSIsIExFRCwgTk9ORSwgTk9ORSksCisJQkNNNjM1OF9HUElPX1BJTigyLCAiZ3Bp bzIiLCBMRUQsIE5PTkUsIE5PTkUpLAorCUJDTTYzNThfR1BJT19QSU4oMywgImdwaW8zIiwgTEVE LCBOT05FLCBOT05FKSwKKwlQSU5DVFJMX1BJTig0LCAiZ3BpbzQiKSwKKwlCQ002MzU4X0dQSU9f UElOKDUsICJncGlvNSIsIFNZU19JUlEsIE5PTkUsIE5PTkUpLAorCUJDTTYzNThfR1BJT19QSU4o NiwgImdwaW82IiwgU0VSSUFMX0xFRCwgTk9ORSwgTk9ORSksCisJQkNNNjM1OF9HUElPX1BJTig3 LCAiZ3BpbzciLCBTRVJJQUxfTEVELCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDgs ICJncGlvOCIsIFBXTV9TWU5fQ0xLLCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDks ICJncGlvMDkiLCBMRUdBQ1lfTEVELCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDEw LCAiZ3BpbzEwIiwgTEVHQUNZX0xFRCwgTk9ORSwgTk9ORSksCisJQkNNNjM1OF9HUElPX1BJTigx MSwgImdwaW8xMSIsIExFR0FDWV9MRUQsIE5PTkUsIE5PTkUpLAorCUJDTTYzNThfR1BJT19QSU4o MTIsICJncGlvMTIiLCBMRUdBQ1lfTEVELCBBU1lOQ19NT0RFTSwgVVRPUElBKSwKKwlCQ002MzU4 X0dQSU9fUElOKDEzLCAiZ3BpbzEzIiwgTEVHQUNZX0xFRCwgQVNZTkNfTU9ERU0sIFVUT1BJQSks CisJQkNNNjM1OF9HUElPX1BJTigxNCwgImdwaW8xNCIsIExFR0FDWV9MRUQsIEFTWU5DX01PREVN LCBVVE9QSUEpLAorCUJDTTYzNThfR1BJT19QSU4oMTUsICJncGlvMTUiLCBMRUdBQ1lfTEVELCBB U1lOQ19NT0RFTSwgVVRPUElBKSwKKwlQSU5DVFJMX1BJTigxNiwgImdwaW8xNiIpLAorCVBJTkNU UkxfUElOKDE3LCAiZ3BpbzE3IiksCisJUElOQ1RSTF9QSU4oMTgsICJncGlvMTgiKSwKKwlQSU5D VFJMX1BJTigxOSwgImdwaW8xOSIpLAorCVBJTkNUUkxfUElOKDIwLCAiZ3BpbzIwIiksCisJUElO Q1RSTF9QSU4oMjEsICJncGlvMjEiKSwKKwlCQ002MzU4X0dQSU9fUElOKDIyLCAiZ3BpbzIyIiwg VVRPUElBLCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDIzLCAiZ3BpbzIzIiwgVVRP UElBLCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDI0LCAiZ3BpbzI0IiwgVVRPUElB LCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDI1LCAiZ3BpbzI1IiwgVVRPUElBLCBO T05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDI2LCAiZ3BpbzI2IiwgVVRPUElBLCBOT05F LCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDI3LCAiZ3BpbzI3IiwgVVRPUElBLCBOT05FLCBO T05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDI4LCAiZ3BpbzI4IiwgVVRPUElBLCBVQVJUMSwgTk9O RSksCisJQkNNNjM1OF9HUElPX1BJTigyOSwgImdwaW8yOSIsIFVUT1BJQSwgVUFSVDEsIE5PTkUp LAorCUJDTTYzNThfR1BJT19QSU4oMzAsICJncGlvMzAiLCBVVE9QSUEsIFVBUlQxLCBFQklfQ1Mp LAorCUJDTTYzNThfR1BJT19QSU4oMzEsICJncGlvMzEiLCBVVE9QSUEsIFVBUlQxLCBFQklfQ1Mp LAorCUJDTTYzNThfR1BJT19QSU4oMzIsICJncGlvMzIiLCBTUElfQ1MsIE5PTkUsIE5PTkUpLAor CUJDTTYzNThfR1BJT19QSU4oMzMsICJncGlvMzMiLCBTUElfQ1MsIE5PTkUsIE5PTkUpLAorCVBJ TkNUUkxfUElOKDM0LCAiZ3BpbzM0IiksCisJUElOQ1RSTF9QSU4oMzUsICJncGlvMzUiKSwKKwlQ SU5DVFJMX1BJTigzNiwgImdwaW8zNiIpLAorCVBJTkNUUkxfUElOKDM3LCAiZ3BpbzM3IiksCisJ UElOQ1RSTF9QSU4oMzgsICJncGlvMzgiKSwKKwlQSU5DVFJMX1BJTigzOSwgImdwaW8zOSIpLAor fTsKKworc3RhdGljIHVuc2lnbmVkIGViaV9jc19ncnBfcGluc1tdID0geyAzMCwgMzEgfTsKKwor c3RhdGljIHVuc2lnbmVkIHVhcnQxX2dycF9waW5zW10gPSB7IDI4LCAyOSwgMzAsIDMxIH07CisK K3N0YXRpYyB1bnNpZ25lZCBzcGlfY3NfZ3JwX3BpbnNbXSA9IHsgMzIsIDMzIH07CisKK3N0YXRp YyB1bnNpZ25lZCBhc3luY19tb2RlbV9ncnBfcGluc1tdID0geyAxMiwgMTMsIDE0LCAxNSB9Owor CitzdGF0aWMgdW5zaWduZWQgc2VyaWFsX2xlZF9ncnBfcGluc1tdID0geyA2LCA3IH07CisKK3N0 YXRpYyB1bnNpZ25lZCBsZWdhY3lfbGVkX2dycF9waW5zW10gPSB7IDksIDEwLCAxMSwgMTIsIDEz LCAxNCwgMTUgfTsKKworc3RhdGljIHVuc2lnbmVkIGxlZF9ncnBfcGluc1tdID0geyAwLCAxLCAy LCAzIH07CisKK3N0YXRpYyB1bnNpZ25lZCB1dG9waWFfZ3JwX3BpbnNbXSA9IHsKKwkxMiwgMTMs IDE0LCAxNSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsCit9OworCitz dGF0aWMgdW5zaWduZWQgcHdtX3N5bl9jbGtfZ3JwX3BpbnNbXSA9IHsgOCB9OworCitzdGF0aWMg dW5zaWduZWQgc3lzX2lycV9ncnBfcGluc1tdID0geyA1IH07CisKKyNkZWZpbmUgQkNNNjM1OF9H UElPX01VWF9HUk9VUChuLCBiaXQsIGRpcikJCQlcCisJewkJCQkJCQlcCisJCS5uYW1lID0gI24s CQkJCQlcCisJCS5waW5zID0gbiMjX3BpbnMsCQkJCVwKKwkJLm51bV9waW5zID0gQVJSQVlfU0la RShuIyNfcGlucyksCQlcCisJCS5tb2RlX3ZhbCA9IEJDTTYzNThfTU9ERV9NVVhfIyNiaXQsCQlc CisJCS5kaXJlY3Rpb24gPSBkaXIsCQkJCVwKKwl9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmNt NjM1OF9waW5ncm91cCBiY202MzU4X2dyb3Vwc1tdID0geworCUJDTTYzNThfR1BJT19NVVhfR1JP VVAoZWJpX2NzX2dycCwgRUJJX0NTLCAweDMpLAorCUJDTTYzNThfR1BJT19NVVhfR1JPVVAodWFy dDFfZ3JwLCBVQVJUMSwgMHgyKSwKKwlCQ002MzU4X0dQSU9fTVVYX0dST1VQKHNwaV9jc19ncnAs IFNQSV9DUywgMHg2KSwKKwlCQ002MzU4X0dQSU9fTVVYX0dST1VQKGFzeW5jX21vZGVtX2dycCwg QVNZTkNfTU9ERU0sIDB4NiksCisJQkNNNjM1OF9HUElPX01VWF9HUk9VUChsZWdhY3lfbGVkX2dy cCwgTEVHQUNZX0xFRCwgMHg3ZiksCisJQkNNNjM1OF9HUElPX01VWF9HUk9VUChzZXJpYWxfbGVk X2dycCwgU0VSSUFMX0xFRCwgMHgzKSwKKwlCQ002MzU4X0dQSU9fTVVYX0dST1VQKGxlZF9ncnAs IExFRCwgMHhmKSwKKwlCQ002MzU4X0dQSU9fTVVYX0dST1VQKHV0b3BpYV9ncnAsIFVUT1BJQSwg MHgwMDBmKSwKKwlCQ002MzU4X0dQSU9fTVVYX0dST1VQKHB3bV9zeW5fY2xrX2dycCwgUFdNX1NZ Tl9DTEssIDB4MSksCisJQkNNNjM1OF9HUElPX01VWF9HUk9VUChzeXNfaXJxX2dycCwgU1lTX0lS USwgMHgxKSwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZWJpX2NzX2dyb3Vwc1td ID0geworCSJlYmlfY3NfZ3JwIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB1YXJ0 MV9ncm91cHNbXSA9IHsKKwkidWFydDFfZ3JwIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCBzcGlfY3NfMl8zX2dyb3Vwc1tdID0geworCSJzcGlfY3NfMl8zX2dycCIKK307CisKK3N0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXN5bmNfbW9kZW1fZ3JvdXBzW10gPSB7CisJImFzeW5j X21vZGVtX2dycCIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbGVnYWN5X2xlZF9n cm91cHNbXSA9IHsKKwkibGVnYWN5X2xlZF9ncnAiLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBzZXJpYWxfbGVkX2dyb3Vwc1tdID0geworCSJzZXJpYWxfbGVkX2dycCIsCit9Owor CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGxlZF9ncm91cHNbXSA9IHsKKwkibGVkX2dycCIs Cit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNsa3JzdF9ncm91cHNbXSA9IHsKKwki Y2xrcnN0X2dycCIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHB3bV9zeW5fY2xr X2dyb3Vwc1tdID0geworCSJwd21fc3luX2Nsa19ncnAiLAorfTsKKworc3RhdGljIGNvbnN0IGNo YXIgKiBjb25zdCBzeXNfaXJxX2dyb3Vwc1tdID0geworCSJzeXNfaXJxX2dycCIsCit9OworCisj ZGVmaW5lIEJDTTYzNThfRlVOKG4pCQkJCQlcCisJewkJCQkJCVwKKwkJLm5hbWUgPSAjbiwJCQkJ XAorCQkuZ3JvdXBzID0gbiMjX2dyb3VwcywJCQlcCisJCS5udW1fZ3JvdXBzID0gQVJSQVlfU0la RShuIyNfZ3JvdXBzKSwJXAorCX0KKworc3RhdGljIGNvbnN0IHN0cnVjdCBiY202MzU4X2Z1bmN0 aW9uIGJjbTYzNThfZnVuY3NbXSA9IHsKKwlCQ002MzU4X0ZVTihlYmlfY3MpLAorCUJDTTYzNThf RlVOKHVhcnQxKSwKKwlCQ002MzU4X0ZVTihzcGlfY3NfMl8zKSwKKwlCQ002MzU4X0ZVTihhc3lu Y19tb2RlbSksCisJQkNNNjM1OF9GVU4obGVnYWN5X2xlZCksCisJQkNNNjM1OF9GVU4oc2VyaWFs X2xlZCksCisJQkNNNjM1OF9GVU4obGVkKSwKKwlCQ002MzU4X0ZVTihjbGtyc3QpLAorCUJDTTYz NThfRlVOKHB3bV9zeW5fY2xrKSwKKwlCQ002MzU4X0ZVTihzeXNfaXJxKSwKK307CisKK3N0YXRp YyBpbnQgYmNtNjM1OF9waW5jdHJsX2dldF9ncm91cF9jb3VudChzdHJ1Y3QgcGluY3RybF9kZXYg KnBjdGxkZXYpCit7CisJcmV0dXJuIEFSUkFZX1NJWkUoYmNtNjM1OF9ncm91cHMpOworfQorCitz dGF0aWMgY29uc3QgY2hhciAqYmNtNjM1OF9waW5jdHJsX2dldF9ncm91cF9uYW1lKHN0cnVjdCBw aW5jdHJsX2RldiAqcGN0bGRldiwKKwkJCQkJCSAgdW5zaWduZWQgZ3JvdXApCit7CisJcmV0dXJu IGJjbTYzNThfZ3JvdXBzW2dyb3VwXS5uYW1lOworfQorCitzdGF0aWMgaW50IGJjbTYzNThfcGlu Y3RybF9nZXRfZ3JvdXBfcGlucyhzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsCisJCQkJCSAg dW5zaWduZWQgZ3JvdXAsIGNvbnN0IHVuc2lnbmVkICoqcGlucywKKwkJCQkJICB1bnNpZ25lZCAq bnVtX3BpbnMpCit7CisJKnBpbnMgPSBiY202MzU4X2dyb3Vwc1tncm91cF0ucGluczsKKwkqbnVt X3BpbnMgPSBiY202MzU4X2dyb3Vwc1tncm91cF0ubnVtX3BpbnM7CisKKwlyZXR1cm4gMDsKK30K Kworc3RhdGljIGludCBiY202MzU4X3BpbmN0cmxfZ2V0X2Z1bmNfY291bnQoc3RydWN0IHBpbmN0 cmxfZGV2ICpwY3RsZGV2KQoreworCXJldHVybiBBUlJBWV9TSVpFKGJjbTYzNThfZnVuY3MpOwor fQorCitzdGF0aWMgY29uc3QgY2hhciAqYmNtNjM1OF9waW5jdHJsX2dldF9mdW5jX25hbWUoc3Ry dWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2LAorCQkJCQkJIHVuc2lnbmVkIHNlbGVjdG9yKQorewor CXJldHVybiBiY202MzU4X2Z1bmNzW3NlbGVjdG9yXS5uYW1lOworfQorCitzdGF0aWMgaW50IGJj bTYzNThfcGluY3RybF9nZXRfZ3JvdXBzKHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldiwKKwkJ CQkgICAgICB1bnNpZ25lZCBzZWxlY3RvciwKKwkJCQkgICAgICBjb25zdCBjaGFyICogY29uc3Qg Kipncm91cHMsCisJCQkJICAgICAgdW5zaWduZWQgKiBjb25zdCBudW1fZ3JvdXBzKQoreworCSpn cm91cHMgPSBiY202MzU4X2Z1bmNzW3NlbGVjdG9yXS5ncm91cHM7CisJKm51bV9ncm91cHMgPSBi Y202MzU4X2Z1bmNzW3NlbGVjdG9yXS5udW1fZ3JvdXBzOworCisJcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyBpbnQgYmNtNjM1OF9waW5jdHJsX3NldF9tdXgoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3Rs ZGV2LAorCQkJCSAgIHVuc2lnbmVkIHNlbGVjdG9yLCB1bnNpZ25lZCBncm91cCkKK3sKKwlzdHJ1 Y3QgYmNtNjN4eF9waW5jdHJsICpwYyA9IHBpbmN0cmxfZGV2X2dldF9kcnZkYXRhKHBjdGxkZXYp OworCXN0cnVjdCBiY202MzU4X3ByaXYgKnByaXYgPSBwYy0+ZHJpdmVyX2RhdGE7CisJY29uc3Qg c3RydWN0IGJjbTYzNThfcGluZ3JvdXAgKnBnID0gJmJjbTYzNThfZ3JvdXBzW2dyb3VwXTsKKwl1 bnNpZ25lZCBpbnQgdmFsID0gcGctPm1vZGVfdmFsOworCXVuc2lnbmVkIGludCBtYXNrID0gdmFs OworCXVuc2lnbmVkIHBpbjsKKworCWZvciAocGluID0gMDsgcGluIDwgcGctPm51bV9waW5zOyBw aW4rKykKKwkJbWFzayB8PSAodW5zaWduZWQgbG9uZyliY202MzU4X3BpbnNbcGluXS5kcnZfZGF0 YTsKKworCXJlZ21hcF9maWVsZF91cGRhdGVfYml0cyhwcml2LT5vdmVybGF5cywgbWFzaywgdmFs KTsKKworCWZvciAocGluID0gMDsgcGluIDwgcGctPm51bV9waW5zOyBwaW4rKykgeworCQlzdHJ1 Y3QgcGluY3RybF9ncGlvX3JhbmdlICpyYW5nZTsKKwkJdW5zaWduZWQgaW50IGh3X2dwaW8gPSBi Y202MzU4X3BpbnNbcGluXS5udW1iZXI7CisKKwkJcmFuZ2UgPSBwaW5jdHJsX2ZpbmRfZ3Bpb19y YW5nZV9mcm9tX3BpbihwY3RsZGV2LCBod19ncGlvKTsKKwkJaWYgKHJhbmdlKSB7CisJCQlzdHJ1 Y3QgZ3Bpb19jaGlwICpnYyA9IHJhbmdlLT5nYzsKKworCQkJaWYgKHBnLT5kaXJlY3Rpb24gJiBC SVQocGluKSkKKwkJCQlnYy0+ZGlyZWN0aW9uX291dHB1dChnYywgaHdfZ3BpbywgMCk7CisJCQll bHNlCisJCQkJZ2MtPmRpcmVjdGlvbl9pbnB1dChnYywgaHdfZ3Bpbyk7CisJCX0KKwl9CisKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGludCBiY202MzU4X2dwaW9fcmVxdWVzdF9lbmFibGUoc3Ry dWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2LAorCQkJCSAgICAgICBzdHJ1Y3QgcGluY3RybF9ncGlv X3JhbmdlICpyYW5nZSwKKwkJCQkgICAgICAgdW5zaWduZWQgb2Zmc2V0KQoreworCXN0cnVjdCBi Y202M3h4X3BpbmN0cmwgKnBjID0gcGluY3RybF9kZXZfZ2V0X2RydmRhdGEocGN0bGRldik7CisJ c3RydWN0IGJjbTYzNThfcHJpdiAqcHJpdiA9IHBjLT5kcml2ZXJfZGF0YTsKKwl1bnNpZ25lZCBp bnQgbWFzazsKKworCW1hc2sgPSAodW5zaWduZWQgbG9uZykgYmNtNjM1OF9waW5zW29mZnNldF0u ZHJ2X2RhdGE7CisJaWYgKCFtYXNrKQorCQlyZXR1cm4gMDsKKworCS8qIGRpc2FibGUgYWxsIGZ1 bmN0aW9ucyB1c2luZyB0aGlzIHBpbiAqLworCXJldHVybiByZWdtYXBfZmllbGRfdXBkYXRlX2Jp dHMocHJpdi0+b3ZlcmxheXMsIG1hc2ssIDApOworfQorCitzdGF0aWMgc3RydWN0IHBpbmN0cmxf b3BzIGJjbTYzNThfcGN0bF9vcHMgPSB7CisJLmdldF9ncm91cHNfY291bnQgPSBiY202MzU4X3Bp bmN0cmxfZ2V0X2dyb3VwX2NvdW50LAorCS5nZXRfZ3JvdXBfbmFtZSA9IGJjbTYzNThfcGluY3Ry bF9nZXRfZ3JvdXBfbmFtZSwKKwkuZ2V0X2dyb3VwX3BpbnMgPSBiY202MzU4X3BpbmN0cmxfZ2V0 X2dyb3VwX3BpbnMsCisJLmR0X25vZGVfdG9fbWFwID0gcGluY29uZl9nZW5lcmljX2R0X25vZGVf dG9fbWFwX3BpbiwKKwkuZHRfZnJlZV9tYXAgPSBwaW5jdHJsX3V0aWxzX2ZyZWVfbWFwLAorfTsK Kworc3RhdGljIHN0cnVjdCBwaW5tdXhfb3BzIGJjbTYzNThfcG14X29wcyA9IHsKKwkuZ2V0X2Z1 bmN0aW9uc19jb3VudCA9IGJjbTYzNThfcGluY3RybF9nZXRfZnVuY19jb3VudCwKKwkuZ2V0X2Z1 bmN0aW9uX25hbWUgPSBiY202MzU4X3BpbmN0cmxfZ2V0X2Z1bmNfbmFtZSwKKwkuZ2V0X2Z1bmN0 aW9uX2dyb3VwcyA9IGJjbTYzNThfcGluY3RybF9nZXRfZ3JvdXBzLAorCS5zZXRfbXV4ID0gYmNt NjM1OF9waW5jdHJsX3NldF9tdXgsCisJLmdwaW9fcmVxdWVzdF9lbmFibGUgPSBiY202MzU4X2dw aW9fcmVxdWVzdF9lbmFibGUsCisJLnN0cmljdCA9IHRydWUsCit9OworCitzdGF0aWMgY29uc3Qg c3RydWN0IGJjbTYzeHhfcGluY3RybF9zb2MgYmNtNjM1OF9zb2MgPSB7CisJLm5ncGlvcyA9IEJD TTYzNThfTlVNX0dQSU9TLAorCS5ucGlucyA9IEFSUkFZX1NJWkUoYmNtNjM1OF9waW5zKSwKKwku cGN0bF9vcHMgPSAmYmNtNjM1OF9wY3RsX29wcywKKwkucGlucyA9IGJjbTYzNThfcGlucywKKwku cG14X29wcyA9ICZiY202MzU4X3BteF9vcHMsCit9OworCitzdGF0aWMgaW50IGJjbTYzNThfcGlu Y3RybF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCByZWdf ZmllbGQgb3ZlcmxheXMgPSBSRUdfRklFTEQoQkNNNjM1OF9NT0RFX1JFRywgMCwgMTUpOworCXN0 cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7CisJc3RydWN0IGJjbTYzeHhfcGluY3RybCAq cGM7CisJc3RydWN0IGJjbTYzNThfcHJpdiAqcHJpdjsKKwlpbnQgZXJyOworCisJcHJpdiA9IGRl dm1fa3phbGxvYyhkZXYsIHNpemVvZigqcHJpdiksIEdGUF9LRVJORUwpOworCWlmICghcHJpdikK KwkJcmV0dXJuIC1FTk9NRU07CisKKwllcnIgPSBiY202M3h4X3BpbmN0cmxfcHJvYmUocGRldiwg JmJjbTYzNThfc29jLCAodm9pZCAqKSBwcml2KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOwor CisJcGMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXByaXYtPm92ZXJsYXlzID0g ZGV2bV9yZWdtYXBfZmllbGRfYWxsb2MoZGV2LCBwYy0+cmVncywgb3ZlcmxheXMpOworCWlmIChJ U19FUlIocHJpdi0+b3ZlcmxheXMpKQorCQlyZXR1cm4gUFRSX0VSUihwcml2LT5vdmVybGF5cyk7 CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYmNt NjM1OF9waW5jdHJsX21hdGNoW10gPSB7CisJeyAuY29tcGF0aWJsZSA9ICJicmNtLGJjbTYzNTgt cGluY3RybCIsIH0sCisJeyB9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIg YmNtNjM1OF9waW5jdHJsX2RyaXZlciA9IHsKKwkucHJvYmUgPSBiY202MzU4X3BpbmN0cmxfcHJv YmUsCisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiYmNtNjM1OC1waW5jdHJsIiwKKwkJLm9mX21h dGNoX3RhYmxlID0gYmNtNjM1OF9waW5jdHJsX21hdGNoLAorCX0sCit9OworCitidWlsdGluX3Bs YXRmb3JtX2RyaXZlcihiY202MzU4X3BpbmN0cmxfZHJpdmVyKTsKLS0gCjIuMjAuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK