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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id EB543C54E4A for ; Thu, 29 Feb 2024 18:12:27 +0000 (UTC) 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:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Hm/ew89YyB3XUU3tgda3KCYFbnOHwf/FuPz/2GZQYfc=; b=SddUZdZVu9mS6l MHhx5yrq91JtEADcORzSHMd+pDDoAQAFAsVH33uKO7UymOkljUXyZO/jTmrI5fqnKWapoOtHi96T3 aDmr/b7PgG4+hDw0eYwr39zbkzwkj00NeNRXfkvS53KSSYI5KMnbp7ijQxbVgcjrryyddo6Zl+nVN gTAQVNtP6T0BJXg7xB1CENImpfEI0Ax7mNVfMUoGDrUTMXrrVI6Cm7TtbPJ1KPH3/op38H35/0nMi g0qqdthshTUhAHsKAYzlzEEEGJO8jqYn0sqTRhf4GPSH0CRZu96JrUYhSf5qdIyLm6ktnChCTNOd8 bk1W2h6++B0AhXwe6U+g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfktB-0000000Edje-1I3M; Thu, 29 Feb 2024 18:12:13 +0000 Received: from relay3-d.mail.gandi.net ([2001:4b98:dc4:8::223]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rfks0-0000000Ed9T-2uLC for linux-arm-kernel@lists.infradead.org; Thu, 29 Feb 2024 18:11:03 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 8F3E86000E; Thu, 29 Feb 2024 18:10:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1709230259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1pOta+V7OJL6x1zp8zUhluMUBMsgdMQFzswvhqezMeI=; b=BQi7DEohiIRt2iE8wcUxfo+gBE9Znfh9s32OYg0akkZBHPxnPe0bGtdiNwF48LDduKgNa+ DBfB9VvZ7i6KxLJxGxb+ExP64noB5O7StJ5tcVf7ndoZgXGE1bvCaC6qhLQe8e6fDXK0h4 uc1mAfdIQMQC3/MQqaz4gs3MlGyQDVJTPJ01yoVS/jZZOh+UHTeeo5h39ERnHwfIRU3iUe qXwFgox5PN72eTC1kKFbrL9U/wxQE6wHbLITI2eRPDjU+EjtdQtrvrUD8cnYy6jPk85cyL L9r4/nGxKnp/esSEeC9FDOmjRg11afegSG9+GehedP/wZ9oz0PNjRAtKC9O7GQ== From: =?utf-8?q?Th=C3=A9o_Lebrun?= Date: Thu, 29 Feb 2024 19:10:57 +0100 Subject: [PATCH v2 09/11] i2c: nomadik: support Mobileye EyeQ5 I2C controller MIME-Version: 1.0 Message-Id: <20240229-mbly-i2c-v2-9-b32ed18c098c@bootlin.com> References: <20240229-mbly-i2c-v2-0-b32ed18c098c@bootlin.com> In-Reply-To: <20240229-mbly-i2c-v2-0-b32ed18c098c@bootlin.com> To: Linus Walleij , Andi Shyti , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thomas Bogendoerfer Cc: linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, Gregory Clement , Vladimir Kondratiev , Thomas Petazzoni , Tawfik Bayouk , =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: b4 0.13.0 X-GND-Sasl: theo.lebrun@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240229_101101_264235_94F83E32 X-CRM114-Status: GOOD ( 22.30 ) 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 QWRkIGNvbXBhdGlibGUgZm9yIHRoZSBpbnRlZ3JhdGlvbiBvZiB0aGUgc2FtZSBEQjg1MDAgSVAg YmxvY2sgaW50byB0aGUKTW9iaWxleWUgRXllUTUgcGxhdGZvcm0uIFR3byBxdWlya3MgYXJlIHBy ZXNlbnQ6CgogLSBUaGUgbWVtb3J5IGJ1cyBvbmx5IHN1cHBvcnRzIDMyLWJpdCBhY2Nlc3Nlcy4g QXZvaWQgd3JpdGViKCkgYW5kCiAgIHJlYWRiKCkgYnkgaW50cm9kdWNpbmcgaGVscGVyIGZ1bmN0 aW9ucyB0aGF0IGZhbGxiYWNrIHRvIHdyaXRlbCgpCiAgIGFuZCByZWFkbCgpLgoKIC0gQSByZWdp c3RlciBtdXN0IGJlIGNvbmZpZ3VyZWQgZm9yIHRoZSBJMkMgc3BlZWQgbW9kZTsgaXQgaXMgbG9j YXRlZAogICBpbiBhIHNoYXJlZCByZWdpc3RlciByZWdpb24gY2FsbGVkIE9MQi4gV2UgYWNjZXNz IHRoYXQgbWVtb3J5IHJlZ2lvbgogICB1c2luZyBhIHN5c2NvbiAmIHJlZ21hcCB0aGF0IGdldHMg cGFzc2VkIGFzIGEgcGhhbmRsZSAobW9iaWxleWUsb2xiKS4KCiAgIEEgdHdvLWJpdCBlbnVtIHBl ciBjb250cm9sbGVyIGlzIHdyaXR0ZW4gaW50byB0aGUgcmVnaXN0ZXI7IHRoYXQKICAgcmVxdWly ZXMgdXMgdG8ga25vdyB0aGUgZ2xvYmFsIGluZGV4IG9mIHRoZSBJMkMgY29udHJvbGxlciAoY2Vs bCBhcmcKICAgdG8gdGhlIG1vYmlsZXllLG9sYiBwaGFuZGxlKS4KCldlIGFkZCAjaW5jbHVkZSA8 bGludXgvbWZkL3N5c2Nvbi5oPiBhbmQgPGxpbnV4L3JlZ21hcC5oPiBhbmQgc29ydApoZWFkZXJz LgoKU2lnbmVkLW9mZi1ieTogVGjDqW8gTGVicnVuIDx0aGVvLmxlYnJ1bkBib290bGluLmNvbT4K LS0tCiBkcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5vbWFkaWsuYyB8IDk1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4NCBpbnNlcnRpb25z KCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJj LW5vbWFkaWsuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbm9tYWRpay5jCmluZGV4IDJkMzI0 Nzk3OWU0NS4uZTlhNzczNzdhZGQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJj LW5vbWFkaWsuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW5vbWFkaWsuYwpAQCAtNiwy MiArNiwzMCBAQAogICogSTJDIG1hc3RlciBtb2RlIGNvbnRyb2xsZXIgZHJpdmVyLCB1c2VkIGlu IE5vbWFkaWsgODgxNQogICogYW5kIFV4NTAwIHBsYXRmb3Jtcy4KICAqCisgKiBUaGUgTW9iaWxl eWUgRXllUTUgcGxhdGZvcm0gaXMgYWxzbyBzdXBwb3J0ZWQ7IGl0IHVzZXMKKyAqIHRoZSBzYW1l IFV4NTAwL0RCODUwMCBJUCBibG9jayB3aXRoIHR3byBxdWlya3M6CisgKiAgLSBUaGUgbWVtb3J5 IGJ1cyBvbmx5IHN1cHBvcnRzIDMyLWJpdCBhY2Nlc3Nlcy4KKyAqICAtIEEgcmVnaXN0ZXIgbXVz dCBiZSBjb25maWd1cmVkIGZvciB0aGUgSTJDIHNwZWVkIG1vZGU7CisgKiAgICBpdCBpcyBsb2Nh dGVkIGluIGEgc2hhcmVkIHJlZ2lzdGVyIHJlZ2lvbiBjYWxsZWQgT0xCLgorICoKICAqIEF1dGhv cjogU3JpbmlkaGkgS2FzYWdhciA8c3JpbmlkaGkua2FzYWdhckBzdGVyaWNzc29uLmNvbT4KICAq IEF1dGhvcjogU2FjaGluIFZlcm1hIDxzYWNoaW4udmVybWFAc3QuY29tPgogICovCisjaW5jbHVk ZSA8bGludXgvYW1iYS9idXMuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRmaWVsZC5oPgorI2luY2x1 ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4 L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUu aD4KLSNpbmNsdWRlIDxsaW51eC9hbWJhL2J1cy5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4K ICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMuaD4KLSNp bmNsdWRlIDxsaW51eC9lcnIuaD4KLSNpbmNsdWRlIDxsaW51eC9jbGsuaD4KICNpbmNsdWRlIDxs aW51eC9pby5oPgotI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4KKyNpbmNsdWRlIDxsaW51 eC9tZmQvc3lzY29uLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGlu dXgvb2YuaD4KICNpbmNsdWRlIDxsaW51eC9waW5jdHJsL2NvbnN1bWVyLmg+CisjaW5jbHVkZSA8 bGludXgvcG1fcnVudGltZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgorI2luY2x1ZGUg PGxpbnV4L3NsYWIuaD4KIAogI2RlZmluZSBEUklWRVJfTkFNRSAibm1rLWkyYyIKIApAQCAtMTEw LDYgKzExOCwxMCBAQCBlbnVtIGkyY19mcmVxX21vZGUgewogCUkyQ19GUkVRX01PREVfRkFTVF9Q TFVTLAkvKiB1cCB0byAxIE1iL3MgKi8KIH07CiAKKy8qIE1vYmlsZXllIEV5ZVE1IG9mZnNldCBp bnRvIGEgc2hhcmVkIHJlZ2lzdGVyIHJlZ2lvbiAoY2FsbGVkIE9MQikgKi8KKyNkZWZpbmUgTk1L X0kyQ19FWUVRNV9PTEJfSU9DUjIJCQkweDBCOAorI2RlZmluZSBOTUtfSTJDX0VZRVE1X09MQl9J T0NSMl9TSElGVChpZCkJKDQgKyAyICogKGlkKSkKKwogLyoqCiAgKiBzdHJ1Y3QgaTJjX3ZlbmRv cl9kYXRhIC0gcGVyLXZlbmRvciB2YXJpYXRpb25zCiAgKiBAaGFzX210ZHdzOiB2YXJpYW50IGhh cyB0aGUgTVREV1MgYml0CkBAIC0xNjgsNiArMTgwLDcgQEAgc3RydWN0IGkyY19ubWtfY2xpZW50 IHsKICAqIEB4ZmVyX3dxOiB4ZmVyIGRvbmUgd2FpdCBxdWV1ZS4KICAqIEB4ZmVyX2RvbmU6IHhm ZXIgZG9uZSBib29sZWFuLgogICogQHJlc3VsdDogY29udHJvbGxlciBwcm9wb2dhdGVkIHJlc3Vs dC4KKyAqIEBoYXNfMzJiX2J1czogY29udHJvbGxlciBpcyBvbiBhIGJ1cyB0aGF0IG9ubHkgc3Vw cG9ydHMgMzItYml0IGFjY2Vzc2VzLgogICovCiBzdHJ1Y3Qgbm1rX2kyY19kZXYgewogCXN0cnVj dCBpMmNfdmVuZG9yX2RhdGEJCSp2ZW5kb3I7CkBAIC0xODYsNiArMTk5LDcgQEAgc3RydWN0IG5t a19pMmNfZGV2IHsKIAlzdHJ1Y3Qgd2FpdF9xdWV1ZV9oZWFkCQl4ZmVyX3dxOwogCWJvb2wJCQkJ eGZlcl9kb25lOwogCWludAkJCQlyZXN1bHQ7CisJYm9vbAkJCQloYXNfMzJiX2J1czsKIH07CiAK IC8qIGNvbnRyb2xsZXIncyBhYm9ydCBjYXVzZXMgKi8KQEAgLTIwOSw2ICsyMjMsMjQgQEAgc3Rh dGljIGlubGluZSB2b2lkIGkyY19jbHJfYml0KHZvaWQgX19pb21lbSAqcmVnLCB1MzIgbWFzaykK IAl3cml0ZWwocmVhZGwocmVnKSAmIH5tYXNrLCByZWcpOwogfQogCitzdGF0aWMgaW5saW5lIHU4 IG5ta19pMmNfcmVhZGIoY29uc3Qgc3RydWN0IG5ta19pMmNfZGV2ICpwcml2LAorCQkJICAgICAg IHVuc2lnbmVkIGxvbmcgcmVnKQoreworCWlmIChwcml2LT5oYXNfMzJiX2J1cykKKwkJcmV0dXJu IHJlYWRsKHByaXYtPnZpcnRiYXNlICsgcmVnKTsKKwllbHNlCisJCXJldHVybiByZWFkYihwcml2 LT52aXJ0YmFzZSArIHJlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBubWtfaTJjX3dyaXRl Yihjb25zdCBzdHJ1Y3Qgbm1rX2kyY19kZXYgKnByaXYsIHUzMiB2YWwsCisJCQkJdW5zaWduZWQg bG9uZyByZWcpCit7CisJaWYgKHByaXYtPmhhc18zMmJfYnVzKQorCQl3cml0ZWwodmFsLCBwcml2 LT52aXJ0YmFzZSArIHJlZyk7CisJZWxzZQorCQl3cml0ZWIodmFsLCBwcml2LT52aXJ0YmFzZSAr IHJlZyk7Cit9CisKIC8qKgogICogZmx1c2hfaTJjX2ZpZm8oKSAtIFRoaXMgZnVuY3Rpb24gZmx1 c2hlcyB0aGUgSTJDIEZJRk8KICAqIEBwcml2OiBwcml2YXRlIGRhdGEgb2YgSTJDIERyaXZlcgpA QCAtNTE0LDcgKzU0Niw3IEBAIHN0YXRpYyB2b2lkIGZpbGxfdHhfZmlmbyhzdHJ1Y3Qgbm1rX2ky Y19kZXYgKnByaXYsIGludCBub19ieXRlcykKIAkJCShwcml2LT5jbGkuY291bnQgIT0gMCk7CiAJ CQljb3VudC0tKSB7CiAJCS8qIHdyaXRlIHRvIHRoZSBUeCBGSUZPICovCi0JCXdyaXRlYigqcHJp di0+Y2xpLmJ1ZmZlciwgcHJpdi0+dmlydGJhc2UgKyBJMkNfVEZSKTsKKwkJbm1rX2kyY193cml0 ZWIocHJpdiwgKnByaXYtPmNsaS5idWZmZXIsIEkyQ19URlIpOwogCQlwcml2LT5jbGkuYnVmZmVy Kys7CiAJCXByaXYtPmNsaS5jb3VudC0tOwogCQlwcml2LT5jbGkueGZlcl9ieXRlcysrOwpAQCAt NzgzLDcgKzgxNSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpMmNfaXJxX2hhbmRsZXIoaW50IGly cSwgdm9pZCAqYXJnKQogCWNhc2UgSTJDX0lUX1JYRk5GOgogCQlmb3IgKGNvdW50ID0gcmZ0OyBj b3VudCA+IDA7IGNvdW50LS0pIHsKIAkJCS8qIFJlYWQgdGhlIFJ4IEZJRk8gKi8KLQkJCSpwcml2 LT5jbGkuYnVmZmVyID0gcmVhZGIocHJpdi0+dmlydGJhc2UgKyBJMkNfUkZSKTsKKwkJCSpwcml2 LT5jbGkuYnVmZmVyID0gbm1rX2kyY19yZWFkYihwcml2LCBJMkNfUkZSKTsKIAkJCXByaXYtPmNs aS5idWZmZXIrKzsKIAkJfQogCQlwcml2LT5jbGkuY291bnQgLT0gcmZ0OwpAQCAtNzkzLDcgKzgy NSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpMmNfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAq YXJnKQogCS8qIFJ4IEZJRk8gZnVsbCAqLwogCWNhc2UgSTJDX0lUX1JYRkY6CiAJCWZvciAoY291 bnQgPSBNQVhfSTJDX0ZJRk9fVEhSRVNIT0xEOyBjb3VudCA+IDA7IGNvdW50LS0pIHsKLQkJCSpw cml2LT5jbGkuYnVmZmVyID0gcmVhZGIocHJpdi0+dmlydGJhc2UgKyBJMkNfUkZSKTsKKwkJCSpw cml2LT5jbGkuYnVmZmVyID0gbm1rX2kyY19yZWFkYihwcml2LCBJMkNfUkZSKTsKIAkJCXByaXYt PmNsaS5idWZmZXIrKzsKIAkJfQogCQlwcml2LT5jbGkuY291bnQgLT0gTUFYX0kyQ19GSUZPX1RI UkVTSE9MRDsKQEAgLTgwOSw3ICs4NDEsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgaTJjX2lycV9o YW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKIAkJCQlpZiAocHJpdi0+Y2xpLmNvdW50ID09IDAp CiAJCQkJCWJyZWFrOwogCQkJCSpwcml2LT5jbGkuYnVmZmVyID0KLQkJCQkJcmVhZGIocHJpdi0+ dmlydGJhc2UgKyBJMkNfUkZSKTsKKwkJCQkJbm1rX2kyY19yZWFkYihwcml2LCBJMkNfUkZSKTsK IAkJCQlwcml2LT5jbGkuYnVmZmVyKys7CiAJCQkJcHJpdi0+Y2xpLmNvdW50LS07CiAJCQkJcHJp di0+Y2xpLnhmZXJfYnl0ZXMrKzsKQEAgLTk4NSw2ICsxMDE3LDM4IEBAIHN0YXRpYyB2b2lkIG5t a19pMmNfb2ZfcHJvYmUoc3RydWN0IGRldmljZV9ub2RlICpucCwKIAkJcHJpdi0+dGltZW91dF91 c2VjcyA9IDIwMCAqIFVTRUNfUEVSX01TRUM7CiB9CiAKK3N0YXRpYyBpbnQgbm1rX2kyY19leWVx NV9wcm9iZShzdHJ1Y3Qgbm1rX2kyY19kZXYgKnByaXYpCit7CisJc3RydWN0IGRldmljZSAqZGV2 ID0gJnByaXYtPmFkZXYtPmRldjsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gZGV2LT5vZl9u b2RlOworCXVuc2lnbmVkIGludCBzaGlmdCwgc3BlZWRfbW9kZTsKKwlzdHJ1Y3QgcmVnbWFwICpv bGI7CisJdW5zaWduZWQgaW50IGlkOworCisJcHJpdi0+aGFzXzMyYl9idXMgPSB0cnVlOworCisJ b2xiID0gc3lzY29uX3JlZ21hcF9sb29rdXBfYnlfcGhhbmRsZV9hcmdzKG5wLCAibW9iaWxleWUs b2xiIiwgMSwgJmlkKTsKKwlpZiAoSVNfRVJSX09SX05VTEwob2xiKSkgeworCQlpZiAoIW9sYikK KwkJCW9sYiA9IEVSUl9QVFIoLUVOT0VOVCk7CisJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwg UFRSX0VSUihvbGIpLAorCQkJCSAgICAgImZhaWxlZCBPTEIgbG9va3VwOiAlbHVcbiIsIFBUUl9F UlIob2xiKSk7CisJfQorCisJaWYgKHByaXYtPmNsa19mcmVxIDw9IDQwMDAwMCkKKwkJc3BlZWRf bW9kZSA9IDBiMDA7CisJZWxzZSBpZiAocHJpdi0+Y2xrX2ZyZXEgPD0gMTAwMDAwMCkKKwkJc3Bl ZWRfbW9kZSA9IDBiMDE7CisJZWxzZQorCQlzcGVlZF9tb2RlID0gMGIxMDsKKworCXNoaWZ0ID0g Tk1LX0kyQ19FWUVRNV9PTEJfSU9DUjJfU0hJRlQoaWQpOworCXJlZ21hcF91cGRhdGVfYml0cyhv bGIsIE5NS19JMkNfRVlFUTVfT0xCX0lPQ1IyLAorCQkJICAgMGIxMSA8PCBzaGlmdCwgc3BlZWRf bW9kZSA8PCBzaGlmdCk7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBubWtfaTJjX3By b2JlKHN0cnVjdCBhbWJhX2RldmljZSAqYWRldiwgY29uc3Qgc3RydWN0IGFtYmFfaWQgKmlkKQog ewogCWludCByZXQgPSAwOwpAQCAtMTAwMSw4ICsxMDY1LDE3IEBAIHN0YXRpYyBpbnQgbm1rX2ky Y19wcm9iZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmFkZXYsIGNvbnN0IHN0cnVjdCBhbWJhX2lkICpp ZCkKIAogCXByaXYtPnZlbmRvciA9IHZlbmRvcjsKIAlwcml2LT5hZGV2ID0gYWRldjsKKwlwcml2 LT5oYXNfMzJiX2J1cyA9IGZhbHNlOwogCW5ta19pMmNfb2ZfcHJvYmUobnAsIHByaXYpOwogCisJ aWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKG5wLCAibW9iaWxleWUsZXllcTUtaTJjIikpIHsK KwkJcmV0ID0gbm1rX2kyY19leWVxNV9wcm9iZShwcml2KTsKKwkJaWYgKHJldCkgeworCQkJZGV2 X2luZm8oZGV2LCAiJXM6ICVkOiAlZFxuIiwgX19mdW5jX18sIF9fTElORV9fLCByZXQpOworCQkJ cmV0dXJuIHJldDsKKwkJfQorCX0KKwogCWlmIChwcml2LT50ZnQgPiBtYXhfZmlmb190aHJlc2hv bGQpIHsKIAkJZGV2X3dhcm4oZGV2LCAicmVxdWVzdGVkIFRYIEZJRk8gdGhyZXNob2xkICV1LCBh ZGp1c3RlZCBkb3duIHRvICV1XG4iLAogCQkJIHByaXYtPnRmdCwgbWF4X2ZpZm9fdGhyZXNob2xk KTsKCi0tIAoyLjQ0LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1hcm0ta2VybmVsCg==