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 6CE00CC6B01 for ; Mon, 12 Oct 2026 19:52:33 +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: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=+Qjop8a6P6uprU2hyAYHXGTvZ8x+v2QpJO5YfwkKqBk=; b=mz0Wmc0WXpl4eZ E12Zueq7H1YKOKmLFuN0kvcO3bz8KL253y70O9Kh/0+BXoeI0rkGwdNGKCLnAsRiIXD+zR+EdhkER LeuSOwKDuxpe4zOCdkj0dXPPjfbArE3+YSTDjkyZQJx4IbgwzNTENpq9RPsju61pNgXev1JttcGkH 1qUjb4m7Dq1VSSlNSn97B8+g8+WMFUB/i2ZlGqfKUCeykrWmmXkLSXbpiNlfkpKkeEt7DT/FdJfph ogJiebD4iUQIK/glK+z/IDlqVWS1ghwaY/Bh4FQXk0vcbXGJ9kFkiiadNukUksD0b+eC8+601Djxm ABQd7DCzH+tO+jhvgO2A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xGM4W-0000000BQ3x-0VjL; Mon, 12 Oct 2026 19:52:32 +0000 Received: from linkmauve.fr ([82.65.109.163]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xGM4M-0000000BPzJ-3VP8; Mon, 12 Oct 2026 19:52:27 +0000 Received: by linkmauve.fr (Postfix, from userid 1000) id 2A17D71FB39F; Mon, 12 Oct 2026 21:52:16 +0200 (CEST) From: Link Mauve To: Srinivas Kandagatla Cc: Link Mauve , Sasha Finkelstein , Andy Shevchenko , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Sven Peter , Janne Grunau , Neal Gompa , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Vladimir Zapolskiy , =?UTF-8?q?Andr=C3=A9=20Draszik?= , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Kalyani Akula , Michal Simek , Miguel Ojeda , Boqun Feng , Gary Guo , =?UTF-8?q?Bj=C3=B6rn=20Roy=20Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich , Daniel Almeida , Tamir Duberstein , Alexandre Courbot , =?UTF-8?q?Onur=20=C3=96zkan?= , Johan Hovold , Ronald Claveau , Daniel Lezcano , linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org, asahi@lists.linux.dev, imx@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, rust-for-linux@vger.kernel.org Subject: [PATCH v7 3/3] nvmem: make all reg_write callbacks take const void * Date: Mon, 12 Oct 2026 21:52:10 +0200 Message-ID: <20261012195213.875403-4-linkmauve@linkmauve.fr> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261012195213.875403-1-linkmauve@linkmauve.fr> References: <20261012195213.875403-1-linkmauve@linkmauve.fr> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261012_125223_191558_3571461E X-CRM114-Status: GOOD ( 15.41 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org VGhlIHByZXZpb3VzIGNvbW1pdCBzd2l0Y2hlZCBmcm9tIGEgcG9pbnRlciB0byBtdXRhYmxlIGRh dGEgdG8gYSBwb2ludGVyCnRvIGltbXV0YWJsZSBkYXRhLCBzbyBsZXTigJlzIGZpeCBhbGwgdXNl cnMgb2YgdGhpcyBBUEkgaW4gdGhlIG52bWVtCnN1YnN5c3RlbS4KCk90aGVyIHN1YnN5c3RlbXMg d2lsbCBnbyB0aHJvdWdoIHRoZWlyIG93biB0cmVlIGF0IHRoZWlyIHJlc3BlY3RpdmUKcGFjZSwg YW5kIG9ubHkgd2hlbiB0aGUgbGFzdCByZWdfd3JpdGUgY2FsbGJhY2sgd2lsbCBiZSByZW1vdmVk IHdlIHdpbGwKcmVuYW1lIHJlZ193cml0ZV9jb25zdCBiYWNrIHRvIHJlZ193cml0ZS4KClNpZ25l ZC1vZmYtYnk6IExpbmsgTWF1dmUgPGxpbmttYXV2ZUBsaW5rbWF1dmUuZnI+ClJldmlld2VkLWJ5 OiBBbmR5IFNoZXZjaGVua28gPGFuZHJpeS5zaGV2Y2hlbmtvQGludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL252bWVtL2FwcGxlLXNwbWktbnZtZW0uYyAgICB8ICA0ICsrLS0KIGRyaXZlcnMvbnZtZW0v YXQyNC5jICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL252bWVtL2F0MjUuYyAg ICAgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvbnZtZW0vYmNtLW9jb3RwLmMgICAgICAg ICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvbnZtZW0vZWVwcm9tXzkzeHg0Ni5jICAgICAgIHwg IDYgKysrLS0tCiBkcml2ZXJzL252bWVtL2lteC1vY290cC1zY3UuYyAgICAgICB8ICA2ICsrKy0t LQogZHJpdmVycy9udm1lbS9pbXgtb2NvdHAuYyAgICAgICAgICAgfCAgNiArKystLS0KIGRyaXZl cnMvbnZtZW0vbGFuOTY2Mi1vdHBjLmMgICAgICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL252bWVt L2xwYzE4eHhfZWVwcm9tLmMgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9udm1lbS9tMjRsci5j ICAgICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL252bWVtL21heDc3NzU5LW52bWVtLmMg ICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvbnZtZW0vbWVzb24tZWZ1c2UuYyAgICAgICAgIHwgIDQg KystLQogZHJpdmVycy9udm1lbS9xY29tLXNwbWktc2RhbS5jICAgICAgfCAgNiArKystLS0KIGRy aXZlcnMvbnZtZW0vcWZwcm9tLmMgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL252 bWVtL3JhdmUtc3AtZWVwcm9tLmMgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9udm1lbS9zbnZz X2xwZ3ByLmMgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL252bWVtL3NwcmQtZWZ1c2UuYyAg ICAgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9udm1lbS9zdG0zMi1ic2VjLW9wdGVlLXRhLmMg fCAgMiArLQogZHJpdmVycy9udm1lbS9zdG0zMi1ic2VjLW9wdGVlLXRhLmggfCAgNCArKy0tCiBk cml2ZXJzL252bWVtL3N0bTMyLXJvbWVtLmMgICAgICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZl cnMvbnZtZW0venlucW1wX252bWVtLmMgICAgICAgIHwgIDYgKysrLS0tCiAyMSBmaWxlcyBjaGFu Z2VkLCA1NyBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL252bWVtL2FwcGxlLXNwbWktbnZtZW0uYyBiL2RyaXZlcnMvbnZtZW0vYXBwbGUtc3BtaS1u dm1lbS5jCmluZGV4IDdhY2IwYzA3ZDZhYi4uNjNiMmIxMWQ3OGY5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL252bWVtL2FwcGxlLXNwbWktbnZtZW0uYworKysgYi9kcml2ZXJzL252bWVtL2FwcGxlLXNw bWktbnZtZW0uYwpAQCAtMjYsNyArMjYsNyBAQCBzdGF0aWMgaW50IGFwcGxlX3NwbWlfbnZtZW1f cmVhZCh2b2lkICpwcml2LCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICp2YWwsCiAJcmV0dXJu IHJlZ21hcF9idWxrX3JlYWQobWFwLCBvZmZzZXQsIHZhbCwgYnl0ZXMpOwogfQogCi1zdGF0aWMg aW50IGFwcGxlX3NwbWlfbnZtZW1fd3JpdGUodm9pZCAqcHJpdiwgdW5zaWduZWQgaW50IG9mZnNl dCwgdm9pZCAqdmFsLAorc3RhdGljIGludCBhcHBsZV9zcG1pX252bWVtX3dyaXRlKHZvaWQgKnBy aXYsIHVuc2lnbmVkIGludCBvZmZzZXQsIGNvbnN0IHZvaWQgKnZhbCwKIAkJCQkgIHNpemVfdCBi eXRlcykKIHsKIAlzdHJ1Y3QgcmVnbWFwICptYXAgPSBwcml2OwpAQCAtNDUsNyArNDUsNyBAQCBz dGF0aWMgaW50IGFwcGxlX3NwbWlfbnZtZW1fcHJvYmUoc3RydWN0IHNwbWlfZGV2aWNlICpzZGV2 KQogCQkuc3RyaWRlID0gMSwKIAkJLnNpemUgPSAweGZmZmYsCiAJCS5yZWdfcmVhZCA9IGFwcGxl X3NwbWlfbnZtZW1fcmVhZCwKLQkJLnJlZ193cml0ZSA9IGFwcGxlX3NwbWlfbnZtZW1fd3JpdGUs CisJCS5yZWdfd3JpdGVfY29uc3QgPSBhcHBsZV9zcG1pX252bWVtX3dyaXRlLAogCX07CiAKIAly ZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0X3NwbWlfZXh0KHNkZXYsICZhcHBsZV9zcG1pX3JlZ21h cF9jb25maWcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9udm1lbS9hdDI0LmMgYi9kcml2ZXJzL252 bWVtL2F0MjQuYwppbmRleCA3NzJjNGQ5ZmE2NTEuLjZlM2ZlMzUzYzM3NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9udm1lbS9hdDI0LmMKKysrIGIvZHJpdmVycy9udm1lbS9hdDI0LmMKQEAgLTQ3Nywx MSArNDc3LDExIEBAIHN0YXRpYyBpbnQgYXQyNF9yZWFkKHZvaWQgKnByaXYsIHVuc2lnbmVkIGlu dCBvZmYsIHZvaWQgKnZhbCwgc2l6ZV90IGNvdW50KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMg aW50IGF0MjRfd3JpdGUodm9pZCAqcHJpdiwgdW5zaWduZWQgaW50IG9mZiwgdm9pZCAqdmFsLCBz aXplX3QgY291bnQpCitzdGF0aWMgaW50IGF0MjRfd3JpdGUodm9pZCAqcHJpdiwgdW5zaWduZWQg aW50IG9mZiwgY29uc3Qgdm9pZCAqdmFsLCBzaXplX3QgY291bnQpCiB7CiAJc3RydWN0IGF0MjRf ZGF0YSAqYXQyNDsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7Ci0JY2hhciAqYnVmID0gdmFsOworCWNv bnN0IGNoYXIgKmJ1ZiA9IHZhbDsKIAlpbnQgcmV0OwogCiAJYXQyNCA9IHByaXY7CkBAIC03NDMs NyArNzQzLDcgQEAgc3RhdGljIGludCBhdDI0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCiAJbnZtZW1fY29uZmlnLmNvbXBhdCA9IHRydWU7CiAJbnZtZW1fY29uZmlnLmJhc2VfZGV2 ID0gZGV2OwogCW52bWVtX2NvbmZpZy5yZWdfcmVhZCA9IGF0MjRfcmVhZDsKLQludm1lbV9jb25m aWcucmVnX3dyaXRlID0gYXQyNF93cml0ZTsKKwludm1lbV9jb25maWcucmVnX3dyaXRlX2NvbnN0 ID0gYXQyNF93cml0ZTsKIAludm1lbV9jb25maWcucHJpdiA9IGF0MjQ7CiAJbnZtZW1fY29uZmln LnN0cmlkZSA9IDE7CiAJbnZtZW1fY29uZmlnLndvcmRfc2l6ZSA9IDE7CmRpZmYgLS1naXQgYS9k cml2ZXJzL252bWVtL2F0MjUuYyBiL2RyaXZlcnMvbnZtZW0vYXQyNS5jCmluZGV4IGJjMmNmYjc1 ZDliYi4uYmI1ZmI3YjY5MmY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL252bWVtL2F0MjUuYworKysg Yi9kcml2ZXJzL252bWVtL2F0MjUuYwpAQCAtMjM1LDcgKzIzNSw3IEBAIHN0YXRpYyBpbnQgYXQy NV93YWl0X3JlYWR5KHN0cnVjdCBhdDI1X2RhdGEgKmF0MjUpCiAJcmV0dXJuIGJvdW5jZVswXTsK IH0KIAotc3RhdGljIGludCBhdDI1X2VlX3dyaXRlKHZvaWQgKnByaXYsIHVuc2lnbmVkIGludCBv ZmYsIHZvaWQgKnZhbCwgc2l6ZV90IGNvdW50KQorc3RhdGljIGludCBhdDI1X2VlX3dyaXRlKHZv aWQgKnByaXYsIHVuc2lnbmVkIGludCBvZmYsIGNvbnN0IHZvaWQgKnZhbCwgc2l6ZV90IGNvdW50 KQogewogCXU4ICpib3VuY2UgX19mcmVlKGtmcmVlKSA9IGttYWxsb2MobWluKGNvdW50LCBpb19s aW1pdCksIEdGUF9LRVJORUwpOwogCXN0cnVjdCBhdDI1X2RhdGEgKmF0MjUgPSBwcml2OwpAQCAt NTQ0LDcgKzU0NCw3IEBAIHN0YXRpYyBpbnQgYXQyNV9wcm9iZShzdHJ1Y3Qgc3BpX21lbSAqbWVt KQogCWF0MjUtPm52bWVtX2NvbmZpZy5jb21wYXQgPSB0cnVlOwogCWF0MjUtPm52bWVtX2NvbmZp Zy5iYXNlX2RldiA9ICZzcGktPmRldjsKIAlhdDI1LT5udm1lbV9jb25maWcucmVnX3JlYWQgPSBh dDI1X2VlX3JlYWQ7Ci0JYXQyNS0+bnZtZW1fY29uZmlnLnJlZ193cml0ZSA9IGF0MjVfZWVfd3Jp dGU7CisJYXQyNS0+bnZtZW1fY29uZmlnLnJlZ193cml0ZV9jb25zdCA9IGF0MjVfZWVfd3JpdGU7 CiAJYXQyNS0+bnZtZW1fY29uZmlnLnByaXYgPSBhdDI1OwogCWF0MjUtPm52bWVtX2NvbmZpZy5z dHJpZGUgPSAxOwogCWF0MjUtPm52bWVtX2NvbmZpZy53b3JkX3NpemUgPSAxOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9udm1lbS9iY20tb2NvdHAuYyBiL2RyaXZlcnMvbnZtZW0vYmNtLW9jb3RwLmMK aW5kZXggMjQ5MGY0NGNhYTQwLi4wMmFkZmQ3ODdkZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbnZt ZW0vYmNtLW9jb3RwLmMKKysrIGIvZHJpdmVycy9udm1lbS9iY20tb2NvdHAuYwpAQCAtMTc5LDEx ICsxNzksMTEgQEAgc3RhdGljIGludCBiY21fb3RwY19yZWFkKHZvaWQgKmNvbnRleHQsIHVuc2ln bmVkIGludCBvZmZzZXQsIHZvaWQgKnZhbCwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBi Y21fb3RwY193cml0ZSh2b2lkICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICp2 YWwsCi0Jc2l6ZV90IGJ5dGVzKQorc3RhdGljIGludCBiY21fb3RwY193cml0ZSh2b2lkICpjb250 ZXh0LCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCBjb25zdCB2b2lkICp2YWwsCisJCQkgIHNpemVfdCBi eXRlcykKIHsKIAlzdHJ1Y3Qgb3RwY19wcml2ICpwcml2ID0gY29udGV4dDsKLQl1MzIgKmJ1ZiA9 IHZhbDsKKwljb25zdCB1MzIgKmJ1ZiA9IHZhbDsKIAl1MzIgYnl0ZXNfd3JpdHRlbjsKIAl1MzIg YWRkcmVzcyA9IG9mZnNldCAvIHByaXYtPmNvbmZpZy0+d29yZF9zaXplOwogCWludCBpLCByZXQ7 CkBAIC0yMjMsNyArMjIzLDcgQEAgc3RhdGljIHN0cnVjdCBudm1lbV9jb25maWcgYmNtX290cGNf bnZtZW1fY29uZmlnID0gewogCS53b3JkX3NpemUgPSA0LAogCS5zdHJpZGUgPSA0LAogCS5yZWdf cmVhZCA9IGJjbV9vdHBjX3JlYWQsCi0JLnJlZ193cml0ZSA9IGJjbV9vdHBjX3dyaXRlLAorCS5y ZWdfd3JpdGVfY29uc3QgPSBiY21fb3RwY193cml0ZSwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3Qgb2ZfZGV2aWNlX2lkIGJjbV9vdHBjX2R0X2lkc1tdID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9udm1lbS9lZXByb21fOTN4eDQ2LmMgYi9kcml2ZXJzL252bWVtL2VlcHJvbV85M3h4NDYuYwpp bmRleCBmOWMzYWI1MmMyZjkuLmM4YzE1YjkxZTYyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9udm1l bS9lZXByb21fOTN4eDQ2LmMKKysrIGIvZHJpdmVycy9udm1lbS9lZXByb21fOTN4eDQ2LmMKQEAg LTI2OCwxMCArMjY4LDEwIEBAIGVlcHJvbV85M3h4NDZfd3JpdGVfd29yZChzdHJ1Y3QgZWVwcm9t XzkzeHg0Nl9kZXYgKmVkZXYsCiB9CiAKIHN0YXRpYyBpbnQgZWVwcm9tXzkzeHg0Nl93cml0ZSh2 b2lkICpwcml2LCB1bnNpZ25lZCBpbnQgb2ZmLAotCQkJCSAgIHZvaWQgKnZhbCwgc2l6ZV90IGNv dW50KQorCQkJICAgICAgIGNvbnN0IHZvaWQgKnZhbCwgc2l6ZV90IGNvdW50KQogewogCXN0cnVj dCBlZXByb21fOTN4eDQ2X2RldiAqZWRldiA9IHByaXY7Ci0JY2hhciAqYnVmID0gdmFsOworCWNv bnN0IGNoYXIgKmJ1ZiA9IHZhbDsKIAlpbnQgcmV0LCBzdGVwID0gMTsKIAl1bnNpZ25lZCBpbnQg aTsKIApAQCAtNTEwLDcgKzUxMCw3IEBAIHN0YXRpYyBpbnQgZWVwcm9tXzkzeHg0Nl9wcm9iZShz dHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogCWVkZXYtPm52bWVtX2NvbmZpZy5jb21wYXQgPSB0cnVl OwogCWVkZXYtPm52bWVtX2NvbmZpZy5iYXNlX2RldiA9ICZzcGktPmRldjsKIAllZGV2LT5udm1l bV9jb25maWcucmVnX3JlYWQgPSBlZXByb21fOTN4eDQ2X3JlYWQ7Ci0JZWRldi0+bnZtZW1fY29u ZmlnLnJlZ193cml0ZSA9IGVlcHJvbV85M3h4NDZfd3JpdGU7CisJZWRldi0+bnZtZW1fY29uZmln LnJlZ193cml0ZV9jb25zdCA9IGVlcHJvbV85M3h4NDZfd3JpdGU7CiAJZWRldi0+bnZtZW1fY29u ZmlnLnByaXYgPSBlZGV2OwogCWVkZXYtPm52bWVtX2NvbmZpZy5zdHJpZGUgPSA0OwogCWVkZXYt Pm52bWVtX2NvbmZpZy53b3JkX3NpemUgPSAxOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9udm1lbS9p bXgtb2NvdHAtc2N1LmMgYi9kcml2ZXJzL252bWVtL2lteC1vY290cC1zY3UuYwppbmRleCA1MTdk ODNlMTFhZjIuLjU3MDA4MjI4MTAwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9udm1lbS9pbXgtb2Nv dHAtc2N1LmMKKysrIGIvZHJpdmVycy9udm1lbS9pbXgtb2NvdHAtc2N1LmMKQEAgLTE3OCwxMSAr MTc4LDExIEBAIHN0YXRpYyBpbnQgaW14X3NjdV9vY290cF9yZWFkKHZvaWQgKmNvbnRleHQsIHVu c2lnbmVkIGludCBvZmZzZXQsCiB9CiAKIHN0YXRpYyBpbnQgaW14X3NjdV9vY290cF93cml0ZSh2 b2lkICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgb2Zmc2V0LAotCQkJICAgICAgIHZvaWQgKnZhbCwg c2l6ZV90IGJ5dGVzKQorCQkJICAgICAgIGNvbnN0IHZvaWQgKnZhbCwgc2l6ZV90IGJ5dGVzKQog ewogCXN0cnVjdCBvY290cF9wcml2ICpwcml2ID0gY29udGV4dDsKIAlzdHJ1Y3QgYXJtX3NtY2Nj X3JlcyByZXM7Ci0JdTMyICpidWYgPSB2YWw7CisJY29uc3QgdTMyICpidWYgPSB2YWw7CiAJdTMy IHRtcDsKIAl1MzIgaW5kZXg7CiAJaW50IHJldDsKQEAgLTIyNiw3ICsyMjYsNyBAQCBzdGF0aWMg c3RydWN0IG52bWVtX2NvbmZpZyBpbXhfc2N1X29jb3RwX252bWVtX2NvbmZpZyA9IHsKIAkuc3Ry aWRlID0gMSwKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAkucmVnX3JlYWQgPSBpbXhfc2N1X29j b3RwX3JlYWQsCi0JLnJlZ193cml0ZSA9IGlteF9zY3Vfb2NvdHBfd3JpdGUsCisJLnJlZ193cml0 ZV9jb25zdCA9IGlteF9zY3Vfb2NvdHBfd3JpdGUsCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IG9mX2RldmljZV9pZCBpbXhfc2N1X29jb3RwX2R0X2lkc1tdID0gewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9udm1lbS9pbXgtb2NvdHAuYyBiL2RyaXZlcnMvbnZtZW0vaW14LW9jb3RwLmMKaW5kZXgg MTA4ZDc4ZDdmNmNiLi4zNmQ0YTM3YWVkOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbnZtZW0vaW14 LW9jb3RwLmMKKysrIGIvZHJpdmVycy9udm1lbS9pbXgtb2NvdHAuYwpAQCAtMzEwLDExICszMTAs MTEgQEAgc3RhdGljIHZvaWQgaW14X29jb3RwX3NldF9pbXg3X3RpbWluZyhzdHJ1Y3Qgb2NvdHBf cHJpdiAqcHJpdikKIAl3cml0ZWwodGltaW5nLCBwcml2LT5iYXNlICsgSU1YX09DT1RQX0FERFJf VElNSU5HKTsKIH0KIAotc3RhdGljIGludCBpbXhfb2NvdHBfd3JpdGUodm9pZCAqY29udGV4dCwg dW5zaWduZWQgaW50IG9mZnNldCwgdm9pZCAqdmFsLAorc3RhdGljIGludCBpbXhfb2NvdHBfd3Jp dGUodm9pZCAqY29udGV4dCwgdW5zaWduZWQgaW50IG9mZnNldCwgY29uc3Qgdm9pZCAqdmFsLAog CQkJICAgc2l6ZV90IGJ5dGVzKQogewogCXN0cnVjdCBvY290cF9wcml2ICpwcml2ID0gY29udGV4 dDsKLQl1MzIgKmJ1ZiA9IHZhbDsKKwljb25zdCB1MzIgKmJ1ZiA9IHZhbDsKIAlpbnQgcmV0Owog CiAJdTMyIGN0cmw7CkBAIC00ODMsNyArNDgzLDcgQEAgc3RhdGljIHN0cnVjdCBudm1lbV9jb25m aWcgaW14X29jb3RwX252bWVtX2NvbmZpZyA9IHsKIAkud29yZF9zaXplID0gNCwKIAkuc3RyaWRl ID0gMSwKIAkucmVnX3JlYWQgPSBpbXhfb2NvdHBfcmVhZCwKLQkucmVnX3dyaXRlID0gaW14X29j b3RwX3dyaXRlLAorCS5yZWdfd3JpdGVfY29uc3QgPSBpbXhfb2NvdHBfd3JpdGUsCiB9OwogCiBz dGF0aWMgY29uc3Qgc3RydWN0IG9jb3RwX3BhcmFtcyBpbXg2cV9wYXJhbXMgPSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL252bWVtL2xhbjk2NjItb3RwYy5jIGIvZHJpdmVycy9udm1lbS9sYW45NjYy LW90cGMuYwppbmRleCA2MmQxZDYzODFiZjguLmY1ODZhZTRjZDEyNiAxMDA2NDQKLS0tIGEvZHJp dmVycy9udm1lbS9sYW45NjYyLW90cGMuYworKysgYi9kcml2ZXJzL252bWVtL2xhbjk2NjItb3Rw Yy5jCkBAIC0xMzksMTAgKzEzOSwxMCBAQCBzdGF0aWMgaW50IGxhbjk2NjJfb3RwX3JlYWQodm9p ZCAqY29udGV4dCwgdW5zaWduZWQgaW50IG9mZnNldCwKIH0KIAogc3RhdGljIGludCBsYW45NjYy X290cF93cml0ZSh2b2lkICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgb2Zmc2V0LAotCQkJICAgICB2 b2lkICpfdmFsLCBzaXplX3QgYnl0ZXMpCisJCQkgICAgIGNvbnN0IHZvaWQgKl92YWwsIHNpemVf dCBieXRlcykKIHsKIAlzdHJ1Y3QgbGFuOTY2Ml9vdHAgKm90cCA9IGNvbnRleHQ7Ci0JdTggKnZh bCA9IF92YWw7CisJY29uc3QgdTggKnZhbCA9IF92YWw7CiAJdTggZGF0YSwgbmV3ZGF0YTsKIAlp bnQgaSwgcmMgPSAwOwogCkBAIC0xNzQsNyArMTc0LDcgQEAgc3RhdGljIHN0cnVjdCBudm1lbV9j b25maWcgb3RwX2NvbmZpZyA9IHsKIAkuc3RyaWRlID0gMSwKIAkud29yZF9zaXplID0gMSwKIAku cmVnX3JlYWQgPSBsYW45NjYyX290cF9yZWFkLAotCS5yZWdfd3JpdGUgPSBsYW45NjYyX290cF93 cml0ZSwKKwkucmVnX3dyaXRlX2NvbnN0ID0gbGFuOTY2Ml9vdHBfd3JpdGUsCiB9OwogCiBzdGF0 aWMgaW50IGxhbjk2NjJfb3RwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL252bWVtL2xwYzE4eHhfZWVwcm9tLmMgYi9kcml2ZXJzL252bWVt L2xwYzE4eHhfZWVwcm9tLmMKaW5kZXggNTA0MTU1ZTMwYmFiLi43OGEzNWVmMDk1ZmIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbnZtZW0vbHBjMTh4eF9lZXByb20uYworKysgYi9kcml2ZXJzL252bWVt L2xwYzE4eHhfZWVwcm9tLmMKQEAgLTg3LDcgKzg3LDcgQEAgc3RhdGljIGludCBscGMxOHh4X2Vl cHJvbV9idXN5d2FpdF91bnRpbF9wcm9nKHN0cnVjdCBscGMxOHh4X2VlcHJvbV9kZXYgKmVlcHJv bSkKIH0KIAogc3RhdGljIGludCBscGMxOHh4X2VlcHJvbV9nYXRoZXJfd3JpdGUodm9pZCAqY29u dGV4dCwgdW5zaWduZWQgaW50IHJlZywKLQkJCQkgICAgICAgdm9pZCAqdmFsLCBzaXplX3QgYnl0 ZXMpCisJCQkJICAgICAgIGNvbnN0IHZvaWQgKnZhbCwgc2l6ZV90IGJ5dGVzKQogewogCXN0cnVj dCBscGMxOHh4X2VlcHJvbV9kZXYgKmVlcHJvbSA9IGNvbnRleHQ7CiAJdW5zaWduZWQgaW50IG9m ZnNldCA9IHJlZzsKQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgaW50IGxwYzE4eHhfZWVwcm9t X2dhdGhlcl93cml0ZSh2b2lkICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgcmVnLAogCXVzbGVlcF9y YW5nZSgxMDAsIDIwMCk7CiAKIAl3aGlsZSAoYnl0ZXMpIHsKLQkJd3JpdGVsKCoodTMyICopdmFs LCBlZXByb20tPm1lbV9iYXNlICsgb2Zmc2V0KTsKKwkJd3JpdGVsKCooY29uc3QgdTMyICopdmFs LCBlZXByb20tPm1lbV9iYXNlICsgb2Zmc2V0KTsKIAkJcmV0ID0gbHBjMTh4eF9lZXByb21fYnVz eXdhaXRfdW50aWxfcHJvZyhlZXByb20pOwogCQlpZiAocmV0IDwgMCkKIAkJCXJldHVybiByZXQ7 CkBAIC0xNTUsNyArMTU1LDcgQEAgc3RhdGljIHN0cnVjdCBudm1lbV9jb25maWcgbHBjMTh4eF9u dm1lbV9jb25maWcgPSB7CiAJLnN0cmlkZSA9IDQsCiAJLndvcmRfc2l6ZSA9IDQsCiAJLnJlZ19y ZWFkID0gbHBjMTh4eF9lZXByb21fcmVhZCwKLQkucmVnX3dyaXRlID0gbHBjMTh4eF9lZXByb21f Z2F0aGVyX3dyaXRlLAorCS5yZWdfd3JpdGVfY29uc3QgPSBscGMxOHh4X2VlcHJvbV9nYXRoZXJf d3JpdGUsCiB9OwogCiBzdGF0aWMgaW50IGxwYzE4eHhfZWVwcm9tX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL252bWVtL20yNGxyLmMgYi9k cml2ZXJzL252bWVtL20yNGxyLmMKaW5kZXggN2E5ZmQ0NWE4ZTQ2Li4zNWM2NjMwNDM5OWYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbnZtZW0vbTI0bHIuYworKysgYi9kcml2ZXJzL252bWVtL20yNGxy LmMKQEAgLTM3NCw3ICszNzQsNyBAQCBzdGF0aWMgaW50IG0yNGxyX252bWVtX3JlYWQodm9pZCAq cHJpdiwgdW5zaWduZWQgaW50IG9mZnNldCwgdm9pZCAqdmFsLAogCXJldHVybiAwOwogfQogCi1z dGF0aWMgaW50IG0yNGxyX252bWVtX3dyaXRlKHZvaWQgKnByaXYsIHVuc2lnbmVkIGludCBvZmZz ZXQsIHZvaWQgKnZhbCwKK3N0YXRpYyBpbnQgbTI0bHJfbnZtZW1fd3JpdGUodm9pZCAqcHJpdiwg dW5zaWduZWQgaW50IG9mZnNldCwgY29uc3Qgdm9pZCAqdmFsLAogCQkJICAgICBzaXplX3QgYnl0 ZXMpCiB7CiAJc3NpemVfdCBlcnI7CkBAIC01NDgsNyArNTQ4LDcgQEAgc3RhdGljIGludCBtMjRs cl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQogCW52bWVtX2NvbmYub3duZXIgPSBU SElTX01PRFVMRTsKIAludm1lbV9jb25mLnR5cGUgPSBOVk1FTV9UWVBFX0VFUFJPTTsKIAludm1l bV9jb25mLnJlZ19yZWFkID0gbTI0bHJfbnZtZW1fcmVhZDsKLQludm1lbV9jb25mLnJlZ193cml0 ZSA9IG0yNGxyX252bWVtX3dyaXRlOworCW52bWVtX2NvbmYucmVnX3dyaXRlX2NvbnN0ID0gbTI0 bHJfbnZtZW1fd3JpdGU7CiAJbnZtZW1fY29uZi5zaXplID0gY2hpcC0+ZWVwcm9tX3NpemU7CiAJ bnZtZW1fY29uZi53b3JkX3NpemUgPSAxOwogCW52bWVtX2NvbmYuc3RyaWRlID0gMTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbnZtZW0vbWF4Nzc3NTktbnZtZW0uYyBiL2RyaXZlcnMvbnZtZW0vbWF4 Nzc3NTktbnZtZW0uYwppbmRleCAyODMwMDBlYzNhMmMuLjg2YzAyNWNmYzJmNiAxMDA2NDQKLS0t IGEvZHJpdmVycy9udm1lbS9tYXg3Nzc1OS1udm1lbS5jCisrKyBiL2RyaXZlcnMvbnZtZW0vbWF4 Nzc3NTktbnZtZW0uYwpAQCAtNTksNyArNTksNyBAQCBzdGF0aWMgaW50IG1heDc3NzU5X252bWVt X3JlZ19yZWFkKHZvaWQgKnByaXYsIHVuc2lnbmVkIGludCBvZmZzZXQsCiB9CiAKIHN0YXRpYyBp bnQgbWF4Nzc3NTlfbnZtZW1fcmVnX3dyaXRlKHZvaWQgKnByaXYsIHVuc2lnbmVkIGludCBvZmZz ZXQsCi0JCQkJICAgIHZvaWQgKnZhbCwgc2l6ZV90IGJ5dGVzKQorCQkJCSAgICBjb25zdCB2b2lk ICp2YWwsIHNpemVfdCBieXRlcykKIHsKIAlzdHJ1Y3QgbWF4Nzc3NTlfbnZtZW0gKm52bWVtID0g cHJpdjsKIAlERUZJTkVfRkxFWChzdHJ1Y3QgbWF4Nzc3NTlfbWF4cV9jb21tYW5kLCBjbWQsIGNt ZCwgbGVuZ3RoLApAQCAtOTksNyArOTksNyBAQCBzdGF0aWMgaW50IG1heDc3NzU5X252bWVtX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCS53b3JkX3NpemUgPSBzaXplb2Yo dTgpLAogCQkuc3RyaWRlID0gc2l6ZW9mKHU4KSwKIAkJLnJlZ19yZWFkID0gbWF4Nzc3NTlfbnZt ZW1fcmVnX3JlYWQsCi0JCS5yZWdfd3JpdGUgPSBtYXg3Nzc1OV9udm1lbV9yZWdfd3JpdGUsCisJ CS5yZWdfd3JpdGVfY29uc3QgPSBtYXg3Nzc1OV9udm1lbV9yZWdfd3JpdGUsCiAJfTsKIAlzdHJ1 Y3QgbWF4Nzc3NTlfbnZtZW0gKm52bWVtOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL252bWVtL21l c29uLWVmdXNlLmMgYi9kcml2ZXJzL252bWVtL21lc29uLWVmdXNlLmMKaW5kZXggZjcxODU0Zjg5 OTUwLi41ZTA1NmU3MDdhOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbnZtZW0vbWVzb24tZWZ1c2Uu YworKysgYi9kcml2ZXJzL252bWVtL21lc29uLWVmdXNlLmMKQEAgLTI3LDcgKzI3LDcgQEAgc3Rh dGljIGludCBtZXNvbl9lZnVzZV9yZWFkKHZvaWQgKmNvbnRleHQsIHVuc2lnbmVkIGludCBvZmZz ZXQsCiB9CiAKIHN0YXRpYyBpbnQgbWVzb25fZWZ1c2Vfd3JpdGUodm9pZCAqY29udGV4dCwgdW5z aWduZWQgaW50IG9mZnNldCwKLQkJCSAgICAgdm9pZCAqdmFsLCBzaXplX3QgYnl0ZXMpCisJCQkg ICAgIGNvbnN0IHZvaWQgKnZhbCwgc2l6ZV90IGJ5dGVzKQogewogCXN0cnVjdCBtZXNvbl9zbV9m aXJtd2FyZSAqZncgPSBjb250ZXh0OwogCWludCByZXQ7CkBAIC04Myw3ICs4Myw3IEBAIHN0YXRp YyBpbnQgbWVzb25fZWZ1c2VfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAll Y29uZmlnLT5zdHJpZGUgPSAxOwogCWVjb25maWctPndvcmRfc2l6ZSA9IDE7CiAJZWNvbmZpZy0+ cmVnX3JlYWQgPSBtZXNvbl9lZnVzZV9yZWFkOwotCWVjb25maWctPnJlZ193cml0ZSA9IG1lc29u X2VmdXNlX3dyaXRlOworCWVjb25maWctPnJlZ193cml0ZV9jb25zdCA9IG1lc29uX2VmdXNlX3dy aXRlOwogCWVjb25maWctPnNpemUgPSBzaXplOwogCWVjb25maWctPnByaXYgPSBmdzsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9udm1lbS9xY29tLXNwbWktc2RhbS5jIGIvZHJpdmVycy9udm1lbS9x Y29tLXNwbWktc2RhbS5jCmluZGV4IDRmMWNjYTZlYWI3MS4uMTBmZWJhZjllNDI3IDEwMDY0NAot LS0gYS9kcml2ZXJzL252bWVtL3Fjb20tc3BtaS1zZGFtLmMKKysrIGIvZHJpdmVycy9udm1lbS9x Y29tLXNwbWktc2RhbS5jCkBAIC04MSw4ICs4MSw4IEBAIHN0YXRpYyBpbnQgc2RhbV9yZWFkKHZv aWQgKnByaXYsIHVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKnZhbCwKIAlyZXR1cm4gcmM7CiB9 CiAKLXN0YXRpYyBpbnQgc2RhbV93cml0ZSh2b2lkICpwcml2LCB1bnNpZ25lZCBpbnQgb2Zmc2V0 LCB2b2lkICp2YWwsCi0JCQkJc2l6ZV90IGJ5dGVzKQorc3RhdGljIGludCBzZGFtX3dyaXRlKHZv aWQgKnByaXYsIHVuc2lnbmVkIGludCBvZmZzZXQsIGNvbnN0IHZvaWQgKnZhbCwKKwkJICAgICAg c2l6ZV90IGJ5dGVzKQogewogCXN0cnVjdCBzZGFtX2NoaXAgKnNkYW0gPSBwcml2OwogCXN0cnVj dCBkZXZpY2UgKmRldiA9IHNkYW0tPnNkYW1fY29uZmlnLmRldjsKQEAgLTE0Nyw3ICsxNDcsNyBA QCBzdGF0aWMgaW50IHNkYW1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlz ZGFtLT5zZGFtX2NvbmZpZy5zaXplID0gc2RhbS0+c2l6ZTsKIAlzZGFtLT5zZGFtX2NvbmZpZy53 b3JkX3NpemUgPSAxOwogCXNkYW0tPnNkYW1fY29uZmlnLnJlZ19yZWFkID0gc2RhbV9yZWFkOwot CXNkYW0tPnNkYW1fY29uZmlnLnJlZ193cml0ZSA9IHNkYW1fd3JpdGU7CisJc2RhbS0+c2RhbV9j b25maWcucmVnX3dyaXRlX2NvbnN0ID0gc2RhbV93cml0ZTsKIAlzZGFtLT5zZGFtX2NvbmZpZy5w cml2ID0gc2RhbTsKIAogCW52bWVtID0gZGV2bV9udm1lbV9yZWdpc3RlcigmcGRldi0+ZGV2LCAm c2RhbS0+c2RhbV9jb25maWcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9udm1lbS9xZnByb20uYyBi L2RyaXZlcnMvbnZtZW0vcWZwcm9tLmMKaW5kZXggMWRlMzQzNWRmMTE2Li4xNmI3ZjY0N2EzZjYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbnZtZW0vcWZwcm9tLmMKKysrIGIvZHJpdmVycy9udm1lbS9x ZnByb20uYwpAQCAtMjUyLDEzICsyNTIsMTMgQEAgc3RhdGljIGludCBxZnByb21fZW5hYmxlX2Z1 c2VfYmxvd2luZyhjb25zdCBzdHJ1Y3QgcWZwcm9tX3ByaXYgKnByaXYsCiAgKgogICogUmV0dXJu OiAwIG9yIC1lcnIuCiAgKi8KLXN0YXRpYyBpbnQgcWZwcm9tX3JlZ193cml0ZSh2b2lkICpjb250 ZXh0LCB1bnNpZ25lZCBpbnQgcmVnLCB2b2lkICpfdmFsLAorc3RhdGljIGludCBxZnByb21fcmVn X3dyaXRlKHZvaWQgKmNvbnRleHQsIHVuc2lnbmVkIGludCByZWcsIGNvbnN0IHZvaWQgKl92YWws CiAJCQkgICAgc2l6ZV90IGJ5dGVzKQogewogCXN0cnVjdCBxZnByb21fcHJpdiAqcHJpdiA9IGNv bnRleHQ7CiAJc3RydWN0IHFmcHJvbV90b3VjaGVkX3ZhbHVlcyBvbGQ7CiAJaW50IHdvcmRzID0g Ynl0ZXMgLyA0OwotCXUzMiAqdmFsdWUgPSBfdmFsOworCWNvbnN0IHUzMiAqdmFsdWUgPSBfdmFs OwogCXUzMiBibG93X3N0YXR1czsKIAlpbnQgcmV0OwogCWludCBpOwpAQCAtNDQzLDcgKzQ0Myw3 IEBAIHN0YXRpYyBpbnQgcWZwcm9tX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp CiAKIAkJLyogT25seSBlbmFibGUgd3JpdGluZyBpZiB3ZSBoYXZlIFNvQyBkYXRhIGFuZCBhIHZh bGlkIGNsb2NrICovCiAJCWlmIChwcml2LT5zb2NfZGF0YSAmJiBwcml2LT5zZWNjbGspCi0JCQll Y29uZmlnLnJlZ193cml0ZSA9IHFmcHJvbV9yZWdfd3JpdGU7CisJCQllY29uZmlnLnJlZ193cml0 ZV9jb25zdCA9IHFmcHJvbV9yZWdfd3JpdGU7CiAJfQogCiAJcG1fcnVudGltZV9lbmFibGUoZGV2 KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZtZW0vcmF2ZS1zcC1lZXByb20uYyBiL2RyaXZlcnMv bnZtZW0vcmF2ZS1zcC1lZXByb20uYwppbmRleCA5ZWNmMzg3M2NiYjcuLmM3MDNkMzAzZWI2YyAx MDA2NDQKLS0tIGEvZHJpdmVycy9udm1lbS9yYXZlLXNwLWVlcHJvbS5jCisrKyBiL2RyaXZlcnMv bnZtZW0vcmF2ZS1zcC1lZXByb20uYwpAQCAtMjc4LDEwICsyNzgsMTAgQEAgc3RhdGljIGludCBy YXZlX3NwX2VlcHJvbV9yZWdfcmVhZCh2b2lkICplZXByb20sIHVuc2lnbmVkIGludCBvZmZzZXQs CiB9CiAKIHN0YXRpYyBpbnQgcmF2ZV9zcF9lZXByb21fcmVnX3dyaXRlKHZvaWQgKmVlcHJvbSwg dW5zaWduZWQgaW50IG9mZnNldCwKLQkJCQkgICAgdm9pZCAqdmFsLCBzaXplX3QgYnl0ZXMpCisJ CQkJICAgIGNvbnN0IHZvaWQgKnZhbCwgc2l6ZV90IGJ5dGVzKQogewogCXJldHVybiByYXZlX3Nw X2VlcHJvbV9hY2Nlc3MoZWVwcm9tLCBSQVZFX1NQX0VFUFJPTV9XUklURSwKLQkJCQkgICAgIG9m ZnNldCwgdmFsLCBieXRlcyk7CisJCQkJICAgICBvZmZzZXQsICh2b2lkICopdmFsLCBieXRlcyk7 CiB9CiAKIHN0YXRpYyBpbnQgcmF2ZV9zcF9lZXByb21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKQEAgLTMzMSw3ICszMzEsNyBAQCBzdGF0aWMgaW50IHJhdmVfc3BfZWVwcm9t X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJY29uZmlnLmFkZF9sZWdhY3lf Zml4ZWRfb2ZfY2VsbHMJPSB0cnVlOwogCWNvbmZpZy5zaXplCQk9IHNpemU7CiAJY29uZmlnLnJl Z19yZWFkCQk9IHJhdmVfc3BfZWVwcm9tX3JlZ19yZWFkOwotCWNvbmZpZy5yZWdfd3JpdGUJPSBy YXZlX3NwX2VlcHJvbV9yZWdfd3JpdGU7CisJY29uZmlnLnJlZ193cml0ZV9jb25zdAk9IHJhdmVf c3BfZWVwcm9tX3JlZ193cml0ZTsKIAljb25maWcud29yZF9zaXplCT0gMTsKIAljb25maWcuc3Ry aWRlCQk9IDE7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZtZW0vc252c19scGdwci5jIGIvZHJp dmVycy9udm1lbS9zbnZzX2xwZ3ByLmMKaW5kZXggODljMjcxMTIzMjBmLi4zZTc2ZDMzZGZmMjAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbnZtZW0vc252c19scGdwci5jCisrKyBiL2RyaXZlcnMvbnZt ZW0vc252c19scGdwci5jCkBAIC01MCw3ICs1MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc252 c19scGdwcl9jZmcgc252c19scGdwcl9jZmdfaW14N2QgPSB7CiAJLnNpemUJCT0gMTYsCiB9Owog Ci1zdGF0aWMgaW50IHNudnNfbHBncHJfd3JpdGUodm9pZCAqY29udGV4dCwgdW5zaWduZWQgaW50 IG9mZnNldCwgdm9pZCAqdmFsLAorc3RhdGljIGludCBzbnZzX2xwZ3ByX3dyaXRlKHZvaWQgKmNv bnRleHQsIHVuc2lnbmVkIGludCBvZmZzZXQsIGNvbnN0IHZvaWQgKnZhbCwKIAkJCSAgICBzaXpl X3QgYnl0ZXMpCiB7CiAJc3RydWN0IHNudnNfbHBncHJfcHJpdiAqcHJpdiA9IGNvbnRleHQ7CkBA IC0xMjcsNyArMTI3LDcgQEAgc3RhdGljIGludCBzbnZzX2xwZ3ByX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCiAJY2ZnLT5zaXplID0gZGNmZy0+c2l6ZTsKIAljZmctPm93bmVy ID0gVEhJU19NT0RVTEU7CiAJY2ZnLT5yZWdfcmVhZCAgPSBzbnZzX2xwZ3ByX3JlYWQ7Ci0JY2Zn LT5yZWdfd3JpdGUgPSBzbnZzX2xwZ3ByX3dyaXRlOworCWNmZy0+cmVnX3dyaXRlX2NvbnN0ID0g c252c19scGdwcl93cml0ZTsKIAogCW52bWVtID0gZGV2bV9udm1lbV9yZWdpc3RlcihkZXYsIGNm Zyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZtZW0vc3ByZC1lZnVzZS5jIGIvZHJpdmVycy9u dm1lbS9zcHJkLWVmdXNlLmMKaW5kZXggMWE3ZTRlNWQ4Yjg2Li5mOTYwZmE4Y2IyNWMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbnZtZW0vc3ByZC1lZnVzZS5jCisrKyBiL2RyaXZlcnMvbnZtZW0vc3By ZC1lZnVzZS5jCkBAIC0xOTIsNyArMTkyLDcgQEAgc3RhdGljIHZvaWQgc3ByZF9lZnVzZV9zZXRf cHJvZ19lbihzdHJ1Y3Qgc3ByZF9lZnVzZSAqZWZ1c2UsIGJvb2wgZW4pCiB9CiAKIHN0YXRpYyBp bnQgc3ByZF9lZnVzZV9yYXdfcHJvZyhzdHJ1Y3Qgc3ByZF9lZnVzZSAqZWZ1c2UsIHUzMiBibGss IGJvb2wgZG91YiwKLQkJCSAgICAgICBib29sIGxvY2ssIHUzMiAqZGF0YSkKKwkJCSAgICAgICBi b29sIGxvY2ssIGNvbnN0IHUzMiAqZGF0YSkKIHsKIAl1MzIgc3RhdHVzOwogCWludCByZXQgPSAw OwpAQCAtMzIxLDcgKzMyMSw3IEBAIHN0YXRpYyBpbnQgc3ByZF9lZnVzZV9yZWFkKHZvaWQgKmNv bnRleHQsIHUzMiBvZmZzZXQsIHZvaWQgKnZhbCwgc2l6ZV90IGJ5dGVzKQogCXJldHVybiByZXQ7 CiB9CiAKLXN0YXRpYyBpbnQgc3ByZF9lZnVzZV93cml0ZSh2b2lkICpjb250ZXh0LCB1MzIgb2Zm c2V0LCB2b2lkICp2YWwsIHNpemVfdCBieXRlcykKK3N0YXRpYyBpbnQgc3ByZF9lZnVzZV93cml0 ZSh2b2lkICpjb250ZXh0LCB1MzIgb2Zmc2V0LCBjb25zdCB2b2lkICp2YWwsIHNpemVfdCBieXRl cykKIHsKIAlzdHJ1Y3Qgc3ByZF9lZnVzZSAqZWZ1c2UgPSBjb250ZXh0OwogCWJvb2wgYmxrX2Rv dWJsZSA9IGVmdXNlLT5kYXRhLT5ibGtfZG91YmxlOwpAQCAtNDEwLDcgKzQxMCw3IEBAIHN0YXRp YyBpbnQgc3ByZF9lZnVzZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCWVj b25maWcuc2l6ZSA9IGVmdXNlLT5kYXRhLT5ibGtfbnVtcyAqIFNQUkRfRUZVU0VfQkxPQ0tfV0lE VEg7CiAJZWNvbmZpZy5hZGRfbGVnYWN5X2ZpeGVkX29mX2NlbGxzID0gdHJ1ZTsKIAllY29uZmln LnJlZ19yZWFkID0gc3ByZF9lZnVzZV9yZWFkOwotCWVjb25maWcucmVnX3dyaXRlID0gc3ByZF9l ZnVzZV93cml0ZTsKKwllY29uZmlnLnJlZ193cml0ZV9jb25zdCA9IHNwcmRfZWZ1c2Vfd3JpdGU7 CiAJZWNvbmZpZy5wcml2ID0gZWZ1c2U7CiAJZWNvbmZpZy5kZXYgPSAmcGRldi0+ZGV2OwogCW52 bWVtID0gZGV2bV9udm1lbV9yZWdpc3RlcigmcGRldi0+ZGV2LCAmZWNvbmZpZyk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL252bWVtL3N0bTMyLWJzZWMtb3B0ZWUtdGEuYyBiL2RyaXZlcnMvbnZtZW0v c3RtMzItYnNlYy1vcHRlZS10YS5jCmluZGV4IGY4OWNlNzkxZGQxMi4uMzE4NGI5NzZiMWY5IDEw MDY0NAotLS0gYS9kcml2ZXJzL252bWVtL3N0bTMyLWJzZWMtb3B0ZWUtdGEuYworKysgYi9kcml2 ZXJzL252bWVtL3N0bTMyLWJzZWMtb3B0ZWUtdGEuYwpAQCAtMjAzLDcgKzIwMyw3IEBAIGludCBz dG0zMl9ic2VjX29wdGVlX3RhX3JlYWQoc3RydWN0IHRlZV9jb250ZXh0ICpjdHgsIHVuc2lnbmVk IGludCBvZmZzZXQsCiAKIC8qIHN0bTMyX2JzZWNfb3B0ZWVfdGFfd3JpdGUoKSAtIG52bWVtIHdy aXRlIGFjY2VzcyB1c2luZyBQVEEgY2xpZW50IGRyaXZlciAqLwogaW50IHN0bTMyX2JzZWNfb3B0 ZWVfdGFfd3JpdGUoc3RydWN0IHRlZV9jb250ZXh0ICpjdHgsIHVuc2lnbmVkIGludCBsb3dlciwK LQkJCSAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGJ5dGVzKQor CQkJICAgICAgdW5zaWduZWQgaW50IG9mZnNldCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgYnl0 ZXMpCiB7CXN0cnVjdCB0ZWVfc2htICpzaG07CiAJc3RydWN0IHRlZV9pb2N0bF9pbnZva2VfYXJn IGFyZzsKIAlzdHJ1Y3QgdGVlX3BhcmFtIHBhcmFtWzJdOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u dm1lbS9zdG0zMi1ic2VjLW9wdGVlLXRhLmggYi9kcml2ZXJzL252bWVtL3N0bTMyLWJzZWMtb3B0 ZWUtdGEuaAppbmRleCAzOTY2YTA1MzUxNzkuLjc0NjU4YTU0ZmU1NyAxMDA2NDQKLS0tIGEvZHJp dmVycy9udm1lbS9zdG0zMi1ic2VjLW9wdGVlLXRhLmgKKysrIGIvZHJpdmVycy9udm1lbS9zdG0z Mi1ic2VjLW9wdGVlLXRhLmgKQEAgLTUwLDcgKzUwLDcgQEAgaW50IHN0bTMyX2JzZWNfb3B0ZWVf dGFfcmVhZChzdHJ1Y3QgdGVlX2NvbnRleHQgKmN0eCwgdW5zaWduZWQgaW50IG9mZnNldCwKICAq CU9uIHN1Y2Nlc3MsIDAuIE9uIGZhaWx1cmUsIC1lcnJuby4KICAqLwogaW50IHN0bTMyX2JzZWNf b3B0ZWVfdGFfd3JpdGUoc3RydWN0IHRlZV9jb250ZXh0ICpjdHgsIHVuc2lnbmVkIGludCBsb3dl ciwKLQkJCSAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGJ5dGVz KTsKKwkJCSAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90 IGJ5dGVzKTsKIAogI2Vsc2UKIApAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgaW5saW5lIGludCBz dG0zMl9ic2VjX29wdGVlX3RhX3JlYWQoc3RydWN0IHRlZV9jb250ZXh0ICpjdHgsCiAKIHN0YXRp YyBpbmxpbmUgaW50IHN0bTMyX2JzZWNfb3B0ZWVfdGFfd3JpdGUoc3RydWN0IHRlZV9jb250ZXh0 ICpjdHgsCiAJCQkJCSAgICB1bnNpZ25lZCBpbnQgbG93ZXIsCi0JCQkJCSAgICB1bnNpZ25lZCBp bnQgb2Zmc2V0LCB2b2lkICpidWYsCisJCQkJCSAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0LCBjb25z dCB2b2lkICpidWYsCiAJCQkJCSAgICBzaXplX3QgYnl0ZXMpCiB7CiAJcmV0dXJuIC1FT1BOT1RT VVBQOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9udm1lbS9zdG0zMi1yb21lbS5jIGIvZHJpdmVycy9u dm1lbS9zdG0zMi1yb21lbS5jCmluZGV4IDgyODc5YjFjOWViOS4uNjIyMDkzYjA3NTVjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL252bWVtL3N0bTMyLXJvbWVtLmMKKysrIGIvZHJpdmVycy9udm1lbS9z dG0zMi1yb21lbS5jCkBAIC0xMTgsMTIgKzExOCwxMiBAQCBzdGF0aWMgaW50IHN0bTMyX2JzZWNf cmVhZCh2b2lkICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsCiAJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgc3RtMzJfYnNlY193cml0ZSh2b2lkICpjb250ZXh0LCB1 bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsCitzdGF0aWMgaW50IHN0bTMyX2JzZWNfd3Jp dGUodm9pZCAqY29udGV4dCwgdW5zaWduZWQgaW50IG9mZnNldCwgY29uc3Qgdm9pZCAqYnVmLAog CQkJICAgIHNpemVfdCBieXRlcykKIHsKIAlzdHJ1Y3Qgc3RtMzJfcm9tZW1fcHJpdiAqcHJpdiA9 IGNvbnRleHQ7CiAJc3RydWN0IGRldmljZSAqZGV2ID0gcHJpdi0+Y2ZnLmRldjsKLQl1MzIgKmJ1 ZjMyID0gYnVmOworCWNvbnN0IHUzMiAqYnVmMzIgPSBidWY7CiAJaW50IHJldCwgaTsKIAogCS8q IEFsbG93IG9ubHkgd3JpdGluZyBjb21wbGV0ZSAzMi1iaXRzIGFsaWduZWQgd29yZHMgKi8KQEAg LTE1Myw3ICsxNTMsNyBAQCBzdGF0aWMgaW50IHN0bTMyX2JzZWNfcHRhX3JlYWQodm9pZCAqY29u dGV4dCwgdW5zaWduZWQgaW50IG9mZnNldCwgdm9pZCAqYnVmLAogCXJldHVybiBzdG0zMl9ic2Vj X29wdGVlX3RhX3JlYWQocHJpdi0+Y3R4LCBvZmZzZXQsIGJ1ZiwgYnl0ZXMpOwogfQogCi1zdGF0 aWMgaW50IHN0bTMyX2JzZWNfcHRhX3dyaXRlKHZvaWQgKmNvbnRleHQsIHVuc2lnbmVkIGludCBv ZmZzZXQsIHZvaWQgKmJ1ZiwKK3N0YXRpYyBpbnQgc3RtMzJfYnNlY19wdGFfd3JpdGUodm9pZCAq Y29udGV4dCwgdW5zaWduZWQgaW50IG9mZnNldCwgY29uc3Qgdm9pZCAqYnVmLAogCQkJCXNpemVf dCBieXRlcykKIHsKIAlzdHJ1Y3Qgc3RtMzJfcm9tZW1fcHJpdiAqcHJpdiA9IGNvbnRleHQ7CkBA IC0yMzksMTAgKzIzOSwxMCBAQCBzdGF0aWMgaW50IHN0bTMyX3JvbWVtX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCQkJcmV0dXJuIHJjOwogCQkJfQogCQkJcHJpdi0+Y2Zn LnJlZ19yZWFkID0gc3RtMzJfYnNlY19wdGFfcmVhZDsKLQkJCXByaXYtPmNmZy5yZWdfd3JpdGUg PSBzdG0zMl9ic2VjX3B0YV93cml0ZTsKKwkJCXByaXYtPmNmZy5yZWdfd3JpdGVfY29uc3QgPSBz dG0zMl9ic2VjX3B0YV93cml0ZTsKIAkJfSBlbHNlIHsKIAkJCXByaXYtPmNmZy5yZWdfcmVhZCA9 IHN0bTMyX2JzZWNfcmVhZDsKLQkJCXByaXYtPmNmZy5yZWdfd3JpdGUgPSBzdG0zMl9ic2VjX3dy aXRlOworCQkJcHJpdi0+Y2ZnLnJlZ193cml0ZV9jb25zdCA9IHN0bTMyX2JzZWNfd3JpdGU7CiAJ CX0KIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZtZW0venlucW1wX252bWVtLmMgYi9kcml2 ZXJzL252bWVtL3p5bnFtcF9udm1lbS5jCmluZGV4IGQyOTdmZjE1MGRjMC4uNTQ5MDVhNjA4MTU3 IDEwMDY0NAotLS0gYS9kcml2ZXJzL252bWVtL3p5bnFtcF9udm1lbS5jCisrKyBiL2RyaXZlcnMv bnZtZW0venlucW1wX252bWVtLmMKQEAgLTE4Myw3ICsxODMsNyBAQCBzdGF0aWMgaW50IHp5bnFt cF9udm1lbV9yZWFkKHZvaWQgKmNvbnRleHQsIHVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKnZh bCwgc2l6ZQogfQogCiBzdGF0aWMgaW50IHp5bnFtcF9udm1lbV93cml0ZSh2b2lkICpjb250ZXh0 LAotCQkJICAgICAgdW5zaWduZWQgaW50IG9mZnNldCwgdm9pZCAqdmFsLCBzaXplX3QgYnl0ZXMp CisJCQkgICAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0LCBjb25zdCB2b2lkICp2YWwsIHNpemVfdCBi eXRlcykKIHsKIAlpbnQgcHVmZmxhZyA9IDA7CiAKQEAgLTE5NCw3ICsxOTQsNyBAQCBzdGF0aWMg aW50IHp5bnFtcF9udm1lbV93cml0ZSh2b2lkICpjb250ZXh0LAogCQlwdWZmbGFnID0gMTsKIAog CXJldHVybiB6eW5xbXBfZWZ1c2VfYWNjZXNzKGNvbnRleHQsIG9mZnNldCwKLQkJCQkgICB2YWws IGJ5dGVzLCBFRlVTRV9XUklURSwgcHVmZmxhZyk7CisJCQkJICAgKHZvaWQgKil2YWwsIGJ5dGVz LCBFRlVTRV9XUklURSwgcHVmZmxhZyk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2 aWNlX2lkIHp5bnFtcF9udm1lbV9tYXRjaFtdID0gewpAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRp YyBpbnQgenlucW1wX252bWVtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJ ZWNvbmZpZy5wcml2ID0gZGV2OwogCWVjb25maWcuYWRkX2xlZ2FjeV9maXhlZF9vZl9jZWxscyA9 IHRydWU7CiAJZWNvbmZpZy5yZWdfcmVhZCA9IHp5bnFtcF9udm1lbV9yZWFkOwotCWVjb25maWcu cmVnX3dyaXRlID0genlucW1wX252bWVtX3dyaXRlOworCWVjb25maWcucmVnX3dyaXRlX2NvbnN0 ID0genlucW1wX252bWVtX3dyaXRlOwogCiAJcmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhkZXZtX252 bWVtX3JlZ2lzdGVyKGRldiwgJmVjb25maWcpKTsKIH0KLS0gCjIuNTYuMAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFtbG9naWMgbWFpbGlu ZyBsaXN0CmxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFtbG9naWMK