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.8 required=3.0 tests=BAYES_00,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,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 60A33C433ED for ; Tue, 6 Apr 2021 12:13:48 +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 94E31613C4 for ; Tue, 6 Apr 2021 12:13:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 94E31613C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmx.net 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:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=DM86fiu5ZEgui/rjnIhTHv8XLCZEKLqQQGcwZmeOoQs=; b=bqTJ+w+O3niINmD8pKfc/zM7M luIjypzCSBmM/6qFm8oyvzxMnBlF19GirFHV3NmntGS2vKvbX9GU/dRAXHhJdweN/OVcDjBfVZFMi tAKyMXeSXJq0qp2W80vVYYie3jA4wON6wXOss8TRxEQCeYdqcNyNjeTASAMNadeuvqEEglgH1YaAI zd/Ni8JpWb4FLGBF/lceuySX9gFZ8aemAIHeouP/c/dsVcaaHqz+C1pTTD5COluzmX1UGDI///PN1 qiUFPotPTJutGngIYCXxdv0hyzN36eO8n8f37r/vhU2oQiOABKgkXgp1Dna8Cp1jmsIdqdLMmGcUm 1R76iFPyA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lTkY7-002WEg-Ao; Tue, 06 Apr 2021 12:11:15 +0000 Received: from mout.gmx.net ([212.227.17.22]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lTkXv-002WAt-N5 for linux-arm-kernel@lists.infradead.org; Tue, 06 Apr 2021 12:11:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1617711051; bh=FYOblBUbHRlSqo0KG/HksG7r9RNT7O0AdZ2/oD/Ognw=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=RaH/JCpVSXdwQjn+FNBZ/SQLlrLqpd+q3r505SnLpijrBPCWzMGARAvLue/FEcWm/ 83VA1gUHuDSE6bkFhOQtI7WXhk2NvRmBi1scQnx4Fj94alk4+W+nDe41M/PTOYOORn nNq7UK0Ew8wDzcdWtDmUSKYjtr55Mz2IJQIczVOQ= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from longitude ([37.201.215.134]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MRTRN-1lFfVW1NnZ-00NPRq; Tue, 06 Apr 2021 14:10:51 +0200 From: =?UTF-8?q?Jonathan=20Neusch=C3=A4fer?= To: openbmc@lists.ozlabs.org Cc: Tomer Maimon , Joel Stanley , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Jonathan=20Neusch=C3=A4fer?= , Avi Fishman , Tali Perry , Patrick Venture , Nancy Yuen , Benjamin Fair , Russell King , Thomas Gleixner , Marc Zyngier Subject: [PATCH v2 06/10] irqchip: Add driver for WPCM450 interrupt controller Date: Tue, 6 Apr 2021 14:09:17 +0200 Message-Id: <20210406120921.2484986-7-j.neuschaefer@gmx.net> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210406120921.2484986-1-j.neuschaefer@gmx.net> References: <20210406120921.2484986-1-j.neuschaefer@gmx.net> MIME-Version: 1.0 X-Provags-ID: V03:K1:hefIZlOtQ+LbUsf9BJMTwfPpAhYwakBaowyBoCpHN/A5qME7nVV rDAsFv0ZibsTdppttyGMkqh81M7g6z9CtYIgiOpTxybu7hPI8crW3LRsZMmA571f8l+IxKw vRWo/zEhH0YknrATgoKP6qA5kBVDSBegfDwrOnpaqZLujH5Jt1Llu7BcFmGpthLUrwjFB16 xKbDnu8zAvDaUV0orGhiQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:zwygWbOrTOo=:HtR7OlXL/+jYezqulrWYYL ThpapzqeSaNDM3oVxkecDOeWVEkqorKyAU9ye5hXg5pSA3j9kmIlfGwpynZWklNKua8HObrjl NvXH6K3EEzIZZStnS3anOUnZv85jH8RyU4P/9ztaBcRooUr8XXjm39JBQtHwk5y6MiCga6ToA YqSumWPu2VO1L4odTw+V4qoGx9npaQ9BjLap0DleWKV5o3Si0L9ykflZbCEfxOxkbAoZpOYlz s4SXUjRzowamINhZAqPqkYz0OTw7wqydiSIapkTaTMGCXo5RwvS45sY05bV9FRu5mXGTzeuql aYEdT6g86mH3f2hUHSfdvnWik7dN8g88p595O8945v8DBS7X7mXJA3B3YpzNK5Mi2FtHguxgl V4pz9+TDaxHO0JY/I1OkMA18MEyamVN7CwEqVSc2Zrm34rres19qLHd2V2PQx32bI4qQAElO6 osibLYsj3JUtEgDIwvMeqYaIJtCkkyTLeUGHc3smpj1kFnP3CvystnhAvfxXgo8IeB0RJb756 tmkoCwS6mCsfDsGkKuqdIki7sI2ZvvWkJdlFycUOg0a3x4qPrAx7H8pQWLUlqUVmz7WJz7J2x 9U6EgGHGfbRGChSIXlC+k/hgC9elVaFxvglxt6rRMmLWCdxiZB+gc08c424vcxvKmQoCiEvb6 O18IU44HxoJvzE2c9vqxixqQVD270d0llT2nVC6sttYEWSnRCuunYHpz3jMASi5f1Go6vBeFk FnLinZrL3+lAZxfAmeqTuZcRKDlxaOr7CNIOVfOMXEqlgVjZxeYyeK7s0E3g/BIGNCLFfIowO 9BYD8Z/GP02BL5iEgbWzQEvHxJVfgHaWIBOCqIKijKbR0qfoAKbMadlXhVMJrTBiOYaIjY0K7 EAZC2DEw+NWpaF7IruG5UtrcWY9wss/DDXQjtXdSmx5ZMPuYqaWVfI2G3NtxltfixTyF746NV Ywqr/TYgQ+mpKAx4M43yDfY5blbObRrG6Sj6/VtYUmXXtdy2Ne6tySPU2j54Idd035TCnlsab VJ4HkulU4ZETqTh1NQhE1OYJUpkUAwyRFGerJNqSZVCDCtvF+qMC43JsuznqbqH68cxK9B4nC FY693+70sX1H0icDyCRtRm2Ecdc5g5YPW9vzfE5oqYdaVeNqXVV/39T30/y665K3IY5GO1/Jw Pnkb3jGAmhFjn9B9BbPdtRBwDH1NTcuFtg6Sf4uUEWjR0AIQfFrmvdj4FY3n8Gx0j+kJ0lFk8 lk1IAzuPtP441C8CG X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210406_131103_970954_62E1DAFD X-CRM114-Status: GOOD ( 26.53 ) 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 VGhlIFdQQ000NTAgQUlDICgiQWR2YW5jZWQgSW50ZXJydXB0IENvbnRyb2xsZXIiKSBpcyB0aGUg aW50ZXJydXB0CmNvbnRyb2xsZXIgZm91bmQgaW4gdGhlIE51dm90b24gV1BDTTQ1MCBTb0MgYW5k IG90aGVyIFdpbmJvbmQvTnV2b3RvbgpTb0NzLgoKVGhlIGxpc3Qgb2YgcmVnaXN0ZXJzIGlmIGJh c2VkIG9uIHRoZSBBTUkgdmVuZG9yIGtlcm5lbCBhbmQgdGhlCk51dm90b24gVzkwTjc0NSBkYXRh c2hlZXQuCgpBbHRob3VnaCB0aGUgaGFyZHdhcmUgc3VwcG9ydHMgb3RoZXIgaW50ZXJydXB0IG1v ZGVzLCB0aGUgZHJpdmVyIG9ubHkKc3VwcG9ydHMgaGlnaC1sZXZlbCBpbnRlcnJ1cHRzIGF0IHRo ZSBtb21lbnQsIGJlY2F1c2Ugb3RoZXIgbW9kZXMgY291bGQKbm90IGJlIHRlc3RlZCBzbyBmYXIu CgpTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBOZXVzY2jDpGZlciA8ai5uZXVzY2hhZWZlckBnbXgu bmV0PgotLS0KCnYyOgotIFJlbmFtZSBJUlFTIG1hY3JvIHRvIEFJQ19OVU1fSVJRUwotIEZpeCBJ UlEgcmFuZ2UgY2hlY2sKLSBVc2UgbGludXgvcHJpbnRrLmggaGVhZGVyIGluc3RlYWQgb2YgbGlu dXgvY29uc29sZS5oCi0gQWRkIEFJQ19TQ1JfUFJJT1JJVFlfTUFTSyBjb25zdGFudAotIEFkZCBt aXNzaW5nIHJlZ2lzdGVyIGRlc2NyaXB0aW9ucwotIFJlbW92ZSBzdXBlcmZsdW91cyBwcmludGsg YWJvdXQgSVJRIGZsb3cgdHlwZSBtaXNtYXRjaAotIFVzZSBCSVQoKSBtYWNybwotIFJlbmFtZSBf YWNrIGZ1bmN0aW9uIHRvIF9lb2kgZm9yIGFjY3VyYWN5LCBhbmQgdXNlIGhhbmRsZV9mYXN0ZW9p X2lycQotLS0KIGFyY2gvYXJtL21hY2gtbnBjbS9LY29uZmlnICAgICAgICB8ICAgMSArCiBkcml2 ZXJzL2lycWNoaXAvS2NvbmZpZyAgICAgICAgICAgfCAgIDYgKysKIGRyaXZlcnMvaXJxY2hpcC9N YWtlZmlsZSAgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2lycWNoaXAvaXJxLXdwY200NTAtYWlj LmMgfCAxNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQs IDE2OSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9pcnFjaGlwL2ly cS13cGNtNDUwLWFpYy5jCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1ucGNtL0tjb25maWcg Yi9hcmNoL2FybS9tYWNoLW5wY20vS2NvbmZpZwppbmRleCA2NThjOGVmYjRjYTE0Li5hNzFjZjFk MTg5YWU1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW5wY20vS2NvbmZpZworKysgYi9hcmNo L2FybS9tYWNoLW5wY20vS2NvbmZpZwpAQCAtMTAsNiArMTAsNyBAQCBjb25maWcgQVJDSF9XUENN NDUwCiAJYm9vbCAiU3VwcG9ydCBmb3IgV1BDTTQ1MCBCTUMgKEhlcm1vbikiCiAJZGVwZW5kcyBv biBBUkNIX01VTFRJX1Y1CiAJc2VsZWN0IENQVV9BUk05MjZUCisJc2VsZWN0IFdQQ000NTBfQUlD CiAJc2VsZWN0IE5QQ003WFhfVElNRVIKIAloZWxwCiAJICBHZW5lcmFsIHN1cHBvcnQgZm9yIFdQ Q000NTAgQk1DIChIZXJtb24pLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pcnFjaGlwL0tjb25maWcg Yi9kcml2ZXJzL2lycWNoaXAvS2NvbmZpZwppbmRleCBlNzRmYTIwNjI0MGExLi5iYWY0ZWZlYzMx YzY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lycWNoaXAvS2NvbmZpZworKysgYi9kcml2ZXJzL2ly cWNoaXAvS2NvbmZpZwpAQCAtNTg2LDQgKzU4NiwxMCBAQCBjb25maWcgTVNUX0lSUQogCWhlbHAK IAkgIFN1cHBvcnQgTVN0YXIgSW50ZXJydXB0IENvbnRyb2xsZXIuCgorY29uZmlnIFdQQ000NTBf QUlDCisJYm9vbCAiTnV2b3RvbiBXUENNNDUwIEFkdmFuY2VkIEludGVycnVwdCBDb250cm9sbGVy IgorCWRlcGVuZHMgb24gQVJDSF9XUENNNDUwIHx8IENPTVBJTEVfVEVTVAorCWhlbHAKKwkgIFN1 cHBvcnQgZm9yIHRoZSBpbnRlcnJ1cHQgY29udHJvbGxlciBpbiB0aGUgTnV2b3RvbiBXUENNNDUw IEJNQyBTb0MuCisKIGVuZG1lbnUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXJxY2hpcC9NYWtlZmls ZSBiL2RyaXZlcnMvaXJxY2hpcC9NYWtlZmlsZQppbmRleCBjNTliOTVhMDUzMmM5Li5iZWY1Nzkz N2U3Mjk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lycWNoaXAvTWFrZWZpbGUKKysrIGIvZHJpdmVy cy9pcnFjaGlwL01ha2VmaWxlCkBAIC0xMTMsMyArMTEzLDQgQEAgb2JqLSQoQ09ORklHX0xPT05H U09OX1BDSF9NU0kpCQkrPSBpcnEtbG9vbmdzb24tcGNoLW1zaS5vCiBvYmotJChDT05GSUdfTVNU X0lSUSkJCQkrPSBpcnEtbXN0LWludGMubwogb2JqLSQoQ09ORklHX1NMMjhDUExEX0lOVEMpCQkr PSBpcnEtc2wyOGNwbGQubwogb2JqLSQoQ09ORklHX01BQ0hfUkVBTFRFS19SVEwpCQkrPSBpcnEt cmVhbHRlay1ydGwubworb2JqLSQoQ09ORklHX1dQQ000NTBfQUlDKQkJKz0gaXJxLXdwY200NTAt YWljLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXJxY2hpcC9pcnEtd3BjbTQ1MC1haWMuYyBiL2Ry aXZlcnMvaXJxY2hpcC9pcnEtd3BjbTQ1MC1haWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwLi5mM2FjMzkyZDViYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVy cy9pcnFjaGlwL2lycS13cGNtNDUwLWFpYy5jCkBAIC0wLDAgKzEsMTYxIEBACisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBDb3B5cmlnaHQgMjAyMSBKb25hdGhh biBOZXVzY2jDpGZlcgorCisjaW5jbHVkZSA8bGludXgvaXJxY2hpcC5oPgorI2luY2x1ZGUgPGxp bnV4L29mX2FkZHJlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4KKyNpbmNsdWRlIDxs aW51eC9wcmludGsuaD4KKworI2luY2x1ZGUgPGFzbS9leGNlcHRpb24uaD4KKworI2RlZmluZSBB SUNfU0NSKHgpCSgoeCkqNCkJLyogU291cmNlIGNvbnRyb2wgcmVnaXN0ZXJzICovCisjZGVmaW5l IEFJQ19HRU4JCTB4ODQJLyogSW50ZXJydXB0IGdyb3VwIGVuYWJsZSBjb250cm9sIHJlZ2lzdGVy ICovCisjZGVmaW5lIEFJQ19HUlNSCTB4ODgJLyogSW50ZXJydXB0IGdyb3VwIHJhdyBzdGF0dXMg cmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlDX0lSU1IJMHgxMDAJLyogSW50ZXJydXB0IHJhdyBzdGF0 dXMgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlDX0lBU1IJMHgxMDQJLyogSW50ZXJydXB0IGFjdGl2 ZSBzdGF0dXMgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlDX0lTUgkJMHgxMDgJLyogSW50ZXJydXB0 IHN0YXR1cyByZWdpc3RlciAqLworI2RlZmluZSBBSUNfSVBFUgkweDEwYwkvKiBJbnRlcnJ1cHQg cHJpb3JpdHkgZW5jb2RpbmcgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlDX0lTTlIJMHgxMTAJLyog SW50ZXJydXB0IHNvdXJjZSBudW1iZXIgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlDX0lNUgkJMHgx MTQJLyogSW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlDX09JU1IJMHgxMTgJ LyogT3V0cHV0IGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlDX01FQ1IJ MHgxMjAJLyogTWFzayBlbmFibGUgY29tbWFuZCByZWdpc3RlciAqLworI2RlZmluZSBBSUNfTURD UgkweDEyNAkvKiBNYXNrIGRpc2FibGUgY29tbWFuZCByZWdpc3RlciAqLworI2RlZmluZSBBSUNf U1NDUgkweDEyOAkvKiBTb3VyY2Ugc2V0IGNvbW1hbmQgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgQUlD X1NDQ1IJMHgxMmMJLyogU291cmNlIGNsZWFyIGNvbW1hbmQgcmVnaXN0ZXIgKi8KKyNkZWZpbmUg QUlDX0VPU0NSCTB4MTMwCS8qIEVuZCBvZiBzZXJ2aWNlIGNvbW1hbmQgcmVnaXN0ZXIgKi8KKwor I2RlZmluZSBBSUNfU0NSX1NSQ1RZUEVfTE9XX0xFVkVMCSgwIDw8IDYpCisjZGVmaW5lIEFJQ19T Q1JfU1JDVFlQRV9ISUdIX0xFVkVMCSgxIDw8IDYpCisjZGVmaW5lIEFJQ19TQ1JfU1JDVFlQRV9O RUdfRURHRQkoMiA8PCA2KQorI2RlZmluZSBBSUNfU0NSX1NSQ1RZUEVfUE9TX0VER0UJKDMgPDwg NikKKyNkZWZpbmUgQUlDX1NDUl9QUklPUklUWSh4KQkJKHgpCisjZGVmaW5lIEFJQ19TQ1JfUFJJ T1JJVFlfTUFTSwkJMHg3CisKKyNkZWZpbmUgQUlDX05VTV9JUlFTCQkzMgorCitzdHJ1Y3Qgd3Bj bTQ1MF9haWMgeworCXZvaWQgX19pb21lbSAqcmVnczsKKwlzdHJ1Y3QgaXJxX2RvbWFpbiAqZG9t YWluOworfTsKKworc3RhdGljIHN0cnVjdCB3cGNtNDUwX2FpYyAqYWljOworCitzdGF0aWMgdm9p ZCB3cGNtNDUwX2FpY19pbml0X2h3KHZvaWQpCit7CisJaW50IGk7CisKKwkvKiBEaXNhYmxlICht YXNrKSBhbGwgaW50ZXJydXB0cyAqLworCXdyaXRlbCgweGZmZmZmZmZmLCBhaWMtPnJlZ3MgKyBB SUNfTURDUik7CisKKwkvKgorCSAqIE1ha2Ugc3VyZSB0aGUgaW50ZXJydXB0IGNvbnRyb2xsZXIg aXMgcmVhZHkgdG8gc2VydmUgbmV3IGludGVycnVwdHMuCisJICogUmVhZGluZyBmcm9tIElQRVIg aW5kaWNhdGVzIHRoYXQgdGhlIG5JUlEgc2lnbmFsIG1heSBiZSBkZWFzc2VydGVkLAorCSAqIGFu ZCB3cml0aW5nIHRvIEVPU0NSIGluZGljYXRlcyB0aGF0IGludGVycnVwdCBoYW5kbGluZyBoYXMg ZmluaXNoZWQuCisJICovCisJcmVhZGwoYWljLT5yZWdzICsgQUlDX0lQRVIpOworCXdyaXRlbCgw LCBhaWMtPnJlZ3MgKyBBSUNfRU9TQ1IpOworCisJLyogSW5pdGlhbGl6ZSB0cmlnZ2VyIG1vZGUg YW5kIHByaW9yaXR5IG9mIGVhY2ggaW50ZXJydXB0IHNvdXJjZSAqLworCWZvciAoaSA9IDA7IGkg PCBBSUNfTlVNX0lSUVM7IGkrKykKKwkJd3JpdGVsKEFJQ19TQ1JfU1JDVFlQRV9ISUdIX0xFVkVM IHwgQUlDX1NDUl9QUklPUklUWSg3KSwKKwkJICAgICAgIGFpYy0+cmVncyArIEFJQ19TQ1IoaSkp OworfQorCitzdGF0aWMgdm9pZCBfX2V4Y2VwdGlvbl9pcnFfZW50cnkgd3BjbTQ1MF9haWNfaGFu ZGxlX2lycShzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlpbnQgaHdpcnE7CisKKwkvKiBEZXRl cm1pbmUgdGhlIGludGVycnVwdCBzb3VyY2UgKi8KKwkvKiBSZWFkIElQRVIgdG8gc2lnbmFsIHRo YXQgbklSUSBjYW4gYmUgZGUtYXNzZXJ0ZWQgKi8KKwlod2lycSA9IHJlYWRsKGFpYy0+cmVncyAr IEFJQ19JUEVSKSAvIDQ7CisKKwloYW5kbGVfZG9tYWluX2lycShhaWMtPmRvbWFpbiwgaHdpcnEs IHJlZ3MpOworfQorCitzdGF0aWMgdm9pZCB3cGNtNDUwX2FpY19lb2koc3RydWN0IGlycV9kYXRh ICpkKQoreworCS8qIFNpZ25hbCBlbmQtb2Ytc2VydmljZSAqLworCXdyaXRlbCgwLCBhaWMtPnJl Z3MgKyBBSUNfRU9TQ1IpOworfQorCitzdGF0aWMgdm9pZCB3cGNtNDUwX2FpY19tYXNrKHN0cnVj dCBpcnFfZGF0YSAqZCkKK3sKKwl1bnNpZ25lZCBpbnQgbWFzayA9IEJJVChkLT5od2lycSk7CisK KwkvKiBEaXNhYmxlIChtYXNrKSB0aGUgaW50ZXJydXB0ICovCisJd3JpdGVsKG1hc2ssIGFpYy0+ cmVncyArIEFJQ19NRENSKTsKK30KKworc3RhdGljIHZvaWQgd3BjbTQ1MF9haWNfdW5tYXNrKHN0 cnVjdCBpcnFfZGF0YSAqZCkKK3sKKwl1bnNpZ25lZCBpbnQgbWFzayA9IEJJVChkLT5od2lycSk7 CisKKwkvKiBFbmFibGUgKHVubWFzaykgdGhlIGludGVycnVwdCAqLworCXdyaXRlbChtYXNrLCBh aWMtPnJlZ3MgKyBBSUNfTUVDUik7Cit9CisKK3N0YXRpYyBpbnQgd3BjbTQ1MF9haWNfc2V0X3R5 cGUoc3RydWN0IGlycV9kYXRhICpkLCB1bnNpZ25lZCBpbnQgZmxvd190eXBlKQoreworCS8qCisJ ICogVGhlIGhhcmR3YXJlIHN1cHBvcnRzIGhpZ2gvbG93IGxldmVsLCBhcyB3ZWxsIGFzIHJpc2lu Zy9mYWxsaW5nIGVkZ2UKKwkgKiBtb2RlcywgYW5kIHRoZSBEVCBiaW5kaW5nIGFjY29tbW9kYXRl cyBmb3IgdGhhdCwgYnV0IGFzIGxvbmcgYXMKKwkgKiBvdGhlciBtb2RlcyB0aGFuIGhpZ2ggbGV2 ZWwgbW9kZSBhcmUgbm90IHVzZWQgYW5kIGNhbid0IGJlIHRlc3RlZCwKKwkgKiB0aGV5IGFyZSBy ZWplY3RlZCBpbiB0aGlzIGRyaXZlci4KKwkgKi8KKwlpZiAoKGZsb3dfdHlwZSAmIElSUV9UWVBF X1NFTlNFX01BU0spICE9IElSUV9UWVBFX0xFVkVMX0hJR0gpCisJCXJldHVybiAtRUlOVkFMOwor CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgd3BjbTQ1MF9haWNfY2hp cCA9IHsKKwkubmFtZSA9ICJ3cGNtNDUwLWFpYyIsCisJLmlycV9lb2kgPSB3cGNtNDUwX2FpY19l b2ksCisJLmlycV9tYXNrID0gd3BjbTQ1MF9haWNfbWFzaywKKwkuaXJxX3VubWFzayA9IHdwY200 NTBfYWljX3VubWFzaywKKwkuaXJxX3NldF90eXBlID0gd3BjbTQ1MF9haWNfc2V0X3R5cGUsCit9 OworCitzdGF0aWMgaW50IHdwY200NTBfYWljX21hcChzdHJ1Y3QgaXJxX2RvbWFpbiAqZCwgdW5z aWduZWQgaW50IGlycSwgaXJxX2h3X251bWJlcl90IGh3aXJxKQoreworCWlmIChod2lycSA+PSBB SUNfTlVNX0lSUVMpCisJCXJldHVybiAtRVBFUk07CisKKwlpcnFfc2V0X2NoaXBfYW5kX2hhbmRs ZXIoaXJxLCAmd3BjbTQ1MF9haWNfY2hpcCwgaGFuZGxlX2Zhc3Rlb2lfaXJxKTsKKwlpcnFfc2V0 X2NoaXBfZGF0YShpcnEsIGFpYyk7CisJaXJxX3NldF9wcm9iZShpcnEpOworCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaXJxX2RvbWFpbl9vcHMgd3BjbTQ1MF9haWNfb3Bz ID0geworCS5tYXAgPSB3cGNtNDUwX2FpY19tYXAsCisJLnhsYXRlID0gaXJxX2RvbWFpbl94bGF0 ZV90d29jZWxsLAorfTsKKworc3RhdGljIGludCBfX2luaXQgd3BjbTQ1MF9haWNfb2ZfaW5pdChz dHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUsCisJCQkJICAgICAgc3RydWN0IGRldmljZV9ub2RlICpw YXJlbnQpCit7CisJaWYgKHBhcmVudCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhaWMgPSBremFs bG9jKHNpemVvZigqYWljKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhaWMpCisJCXJldHVybiAtRU5P TUVNOworCisJYWljLT5yZWdzID0gb2ZfaW9tYXAobm9kZSwgMCk7CisJaWYgKCFhaWMtPnJlZ3Mp IHsKKwkJcHJfZXJyKCJGYWlsZWQgdG8gbWFwIFdQQ000NTAgQUlDIHJlZ2lzdGVyc1xuIik7CisJ CXJldHVybiAtRU5PTUVNOworCX0KKworCXdwY200NTBfYWljX2luaXRfaHcoKTsKKworCXNldF9o YW5kbGVfaXJxKHdwY200NTBfYWljX2hhbmRsZV9pcnEpOworCisJYWljLT5kb21haW4gPSBpcnFf ZG9tYWluX2FkZF9saW5lYXIobm9kZSwgQUlDX05VTV9JUlFTLCAmd3BjbTQ1MF9haWNfb3BzLCBh aWMpOworCisJcmV0dXJuIDA7Cit9CisKK0lSUUNISVBfREVDTEFSRSh3cGNtNDUwX2FpYywgIm51 dm90b24sd3BjbTQ1MC1haWMiLCB3cGNtNDUwX2FpY19vZl9pbml0KTsKLS0KMi4zMC4yCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=