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 EADA1C48BF8 for ; Thu, 22 Feb 2024 14:59:02 +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: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:In-Reply-To:References: List-Owner; bh=7m7wXY57SKNNV+l3sKGWuNnsKhD9sGP/mz+68mixcl0=; b=Q+SIgjH+IED5Qb Ai9fH1EYC5UBMaii9wtVbxKGvJKVIPqIEnddzstwKeikShp9EPcu4O75Cs82idB/yotHVGognhXoX f20ZgsVNZX4efMWLYICSIaKOogEdRKy4gdJ7PN0GxiaUNO+DIWqP72BK/QrFifPicGhxinL7wltYt zOwQ8+x0rHIqhFTilr1fGgH2ukX9XbrSQ6nA1uc8SPYMAn3sH3vwl+2b+k7flUzRICyova6ISF0hX DPHUAebSKuX4DC13W1jig4BMnQn506GPWradE35k0NK/Ehq5zextbjvtiM0qhNuW4AyfVr6ADyzxg sQpB4R/VNxt2RjiVFyDg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rdAXH-00000005J3p-16c6; Thu, 22 Feb 2024 14:58:55 +0000 Received: from sin.source.kernel.org ([145.40.73.55]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rdAXE-00000005J1I-1ujZ; Thu, 22 Feb 2024 14:58:54 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 88528CE2804; Thu, 22 Feb 2024 14:58:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 32C29C433F1; Thu, 22 Feb 2024 14:58:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708613928; bh=95qPQ4pyLbqmGifCgN9f24/iMYMKuT0p0puI4cqB+hE=; h=From:To:Cc:Subject:Date:From; b=ln2qRtYfLfs0kXHxuqnP8up9ncd9l1czd3XZZFhRJT3/3ilzggShkUxwRJtuGES3D Gr11XHaa1rWV9lqiyVw1sfMyZTAsGG/TXkPx6mA7KPpcoJD5fdKHqzqP5VfwNAXhzc pTb380CNPZSStK9QDyjU7HRiWbr6LTgJdhwxExFBWgf+jmwMhRPecjVebW7HQB7TX/ 39OsGu3Pq404RCI3CGT+QXsLOzqe6zYg+vfPaECFpUucXFWG7dJwwWAL5cBRKZ87PI Nawf6R1xME9bUmX9K37c69v4uByPyuwlQ8Yla0UlxAuOHq+5SNJf7AonMmK+KOmdox OKGLFxo3nwNIg== From: =?UTF-8?q?Marek=20Beh=C3=BAn?= To: linux-kernel@vger.kernel.org, Hans de Goede , Matti Vaittinen Cc: =?UTF-8?q?Marek=20Beh=C3=BAn?= , Linus Walleij , Bartosz Golaszewski , Lucas De Marchi , Oded Gabbay , =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Aleksandr Mezin , Jean Delvare , Guenter Roeck , Pavel Machek , Lee Jones , Sebastian Reichel , Matthias Brugger , AngeloGioacchino Del Regno , linux-gpio@vger.kernel.org, intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-hwmon@vger.kernel.org, linux-leds@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH 1/2] devm-helpers: Add resource managed version of mutex init Date: Thu, 22 Feb 2024 15:58:37 +0100 Message-ID: <20240222145838.12916-1-kabel@kernel.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240222_065852_891435_8364B738 X-CRM114-Status: GOOD ( 20.04 ) 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 QSBmZXcgZHJpdmVycyBhcmUgZG9pbmcgcmVzb3VyY2UtbWFuYWdlZCBtdXRleCBpbml0aWFsaXph dGlvbiBieQppbXBsZW1lbnRpbmcgYWQtaG9jIG9uZS1saW5lciBtdXRleCBkcm9wcGluZyBmdW5j dGlvbnMgYW5kIHVzaW5nIHRoZW0Kd2l0aCBkZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoKS4gSGVs cCBkcml2ZXJzIGF2b2lkIHRoZXNlIHJlcGVhdGVkCm9uZS1saW5lcnMgYnkgYWRkaW5nIG1hbmFn ZWQgdmVyc2lvbiBvZiBtdXRleCBpbml0aWFsaXphdGlvbi4KClVzZSB0aGUgbmV3IGZ1bmN0aW9u IGRldm1fbXV0ZXhfaW5pdCgpIGluIHRoZSBmb2xsb3dpbmcgZHJpdmVyczoKICBkcml2ZXJzL2dw aW8vZ3Bpby1waXNvc3IuYwogIGRyaXZlcnMvZ3Bpby9ncGlvLXNpbS5jCiAgZHJpdmVycy9ncHUv ZHJtL3hlL3hlX2h3bW9uLmMKICBkcml2ZXJzL2h3bW9uL256eHQtc21hcnQyLmMKICBkcml2ZXJz L2xlZHMvbGVkcy1pczMxZmwzMTl4LmMKICBkcml2ZXJzL3Bvd2VyL3N1cHBseS9tdDYzNzAtY2hh cmdlci5jCiAgZHJpdmVycy9wb3dlci9zdXBwbHkvcnQ5NDY3LWNoYXJnZXIuYwoKU2lnbmVkLW9m Zi1ieTogTWFyZWsgQmVow7puIDxrYWJlbEBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvZ3Bpby9n cGlvLXBpc29zci5jICAgICAgICAgICAgfCAgOSArKy0tLS0tCiBkcml2ZXJzL2dwaW8vZ3Bpby1z aW0uYyAgICAgICAgICAgICAgIHwgMTIgKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3hlL3hl X2h3bW9uLmMgICAgICAgICB8IDExICsrLS0tLS0tLQogZHJpdmVycy9od21vbi9uenh0LXNtYXJ0 Mi5jICAgICAgICAgICB8ICA5ICsrLS0tLS0KIGRyaXZlcnMvbGVkcy9sZWRzLWlzMzFmbDMxOXgu YyAgICAgICAgfCAgOSArKy0tLS0tCiBkcml2ZXJzL3Bvd2VyL3N1cHBseS9tdDYzNzAtY2hhcmdl ci5jIHwgMTEgKy0tLS0tLS0tCiBkcml2ZXJzL3Bvd2VyL3N1cHBseS9ydDk0NjctY2hhcmdlci5j IHwgMzQgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2xpbnV4L2Rldm0taGVs cGVycy5oICAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBj aGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCA4MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwaW8vZ3Bpby1waXNvc3IuYyBiL2RyaXZlcnMvZ3Bpby9ncGlvLXBpc29zci5jCmlu ZGV4IGUzMDEzZTc3OGUxNS4uZGRkYmYzN2U4NTVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwaW8v Z3Bpby1waXNvc3IuYworKysgYi9kcml2ZXJzL2dwaW8vZ3Bpby1waXNvc3IuYwpAQCAtNyw2ICs3 LDcgQEAKICNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMu aD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Rldm0taGVscGVy cy5oPgogI2luY2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4KICNpbmNsdWRlIDxsaW51eC9n cGlvL2RyaXZlci5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtMTE2LDExICsxMTcs NiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdwaW9fY2hpcCB0ZW1wbGF0ZV9jaGlwID0gewogCS5j YW5fc2xlZXAJCT0gdHJ1ZSwKIH07CiAKLXN0YXRpYyB2b2lkIHBpc29zcl9tdXRleF9kZXN0cm95 KHZvaWQgKmxvY2spCi17Ci0JbXV0ZXhfZGVzdHJveShsb2NrKTsKLX0KLQogc3RhdGljIGludCBw aXNvc3JfZ3Bpb19wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogewogCXN0cnVjdCBkZXZp Y2UgKmRldiA9ICZzcGktPmRldjsKQEAgLTE0Nyw4ICsxNDMsNyBAQCBzdGF0aWMgaW50IHBpc29z cl9ncGlvX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiAJCXJldHVybiBkZXZfZXJyX3By b2JlKGRldiwgUFRSX0VSUihncGlvLT5sb2FkX2dwaW8pLAogCQkJCSAgICAgIlVuYWJsZSB0byBh bGxvY2F0ZSBsb2FkIEdQSU9cbiIpOwogCi0JbXV0ZXhfaW5pdCgmZ3Bpby0+bG9jayk7Ci0JcmV0 ID0gZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KGRldiwgcGlzb3NyX211dGV4X2Rlc3Ryb3ksICZn cGlvLT5sb2NrKTsKKwlyZXQgPSBkZXZtX211dGV4X2luaXQoZGV2LCAmZ3Bpby0+bG9jayk7CiAJ aWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncGlvL2dwaW8t c2ltLmMgYi9kcml2ZXJzL2dwaW8vZ3Bpby1zaW0uYwppbmRleCBjNDEwNmUzN2U2ZGIuLmZjZmNh YTRlZmU3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncGlvL2dwaW8tc2ltLmMKKysrIGIvZHJpdmVy cy9ncGlvL2dwaW8tc2ltLmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jb21w bGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvY29uZmlnZnMuaD4KICNpbmNsdWRlIDxsaW51eC9k ZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZtLWhlbHBlcnMuaD4KICNpbmNsdWRlIDxsaW51 eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+CiAjaW5jbHVkZSA8bGlu dXgvZ3Bpby9kcml2ZXIuaD4KQEAgLTMwNywxMyArMzA4LDYgQEAgc3RhdGljIHNzaXplX3QgZ3Bp b19zaW1fc3lzZnNfcHVsbF9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJcmV0dXJuIGxlbjsK IH0KIAotc3RhdGljIHZvaWQgZ3Bpb19zaW1fbXV0ZXhfZGVzdHJveSh2b2lkICpkYXRhKQotewot CXN0cnVjdCBtdXRleCAqbG9jayA9IGRhdGE7Ci0KLQltdXRleF9kZXN0cm95KGxvY2spOwotfQot CiBzdGF0aWMgdm9pZCBncGlvX3NpbV9wdXRfZGV2aWNlKHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0 IGRldmljZSAqZGV2ID0gZGF0YTsKQEAgLTQ1Nyw5ICs0NTEsNyBAQCBzdGF0aWMgaW50IGdwaW9f c2ltX2FkZF9iYW5rKHN0cnVjdCBmd25vZGVfaGFuZGxlICpzd25vZGUsIHN0cnVjdCBkZXZpY2Ug KmRldikKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JbXV0ZXhfaW5pdCgmY2hpcC0+bG9j ayk7Ci0JcmV0ID0gZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KGRldiwgZ3Bpb19zaW1fbXV0ZXhf ZGVzdHJveSwKLQkJCQkgICAgICAgJmNoaXAtPmxvY2spOworCXJldCA9IGRldm1fbXV0ZXhfaW5p dChkZXYsICZjaGlwLT5sb2NrKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdtb24uYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94 ZV9od21vbi5jCmluZGV4IDE3NGVkMjE4NTQ4MS4uYmI4OGFlMWMxOTZjIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0veGUveGVfaHdtb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVf aHdtb24uYwpAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCDCqSAyMDIzIEludGVsIENvcnBv cmF0aW9uCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2Rldm0taGVscGVycy5oPgogI2luY2x1ZGUg PGxpbnV4L2h3bW9uLXN5c2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaHdtb24uaD4KICNpbmNsdWRl IDxsaW51eC90eXBlcy5oPgpAQCAtNzI5LDEzICs3MzAsNiBAQCB4ZV9od21vbl9nZXRfcHJlcmVn aXN0cmF0aW9uX2luZm8oc3RydWN0IHhlX2RldmljZSAqeGUpCiAJCXhlX2h3bW9uX2VuZXJneV9n ZXQoaHdtb24sICZlbmVyZ3kpOwogfQogCi1zdGF0aWMgdm9pZCB4ZV9od21vbl9tdXRleF9kZXN0 cm95KHZvaWQgKmFyZykKLXsKLQlzdHJ1Y3QgeGVfaHdtb24gKmh3bW9uID0gYXJnOwotCi0JbXV0 ZXhfZGVzdHJveSgmaHdtb24tPmh3bW9uX2xvY2spOwotfQotCiB2b2lkIHhlX2h3bW9uX3JlZ2lz dGVyKHN0cnVjdCB4ZV9kZXZpY2UgKnhlKQogewogCXN0cnVjdCBkZXZpY2UgKmRldiA9IHhlLT5k cm0uZGV2OwpAQCAtNzUxLDggKzc0NSw3IEBAIHZvaWQgeGVfaHdtb25fcmVnaXN0ZXIoc3RydWN0 IHhlX2RldmljZSAqeGUpCiAKIAl4ZS0+aHdtb24gPSBod21vbjsKIAotCW11dGV4X2luaXQoJmh3 bW9uLT5od21vbl9sb2NrKTsKLQlpZiAoZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KGRldiwgeGVf aHdtb25fbXV0ZXhfZGVzdHJveSwgaHdtb24pKQorCWlmIChkZXZtX211dGV4X2luaXQoZGV2LCAm aHdtb24tPmh3bW9uX2xvY2spKQogCQlyZXR1cm47CiAKIAkvKiBwcmltYXJ5IEdUIHRvIGFjY2Vz cyBkZXZpY2UgbGV2ZWwgcHJvcGVydGllcyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9u enh0LXNtYXJ0Mi5jIGIvZHJpdmVycy9od21vbi9uenh0LXNtYXJ0Mi5jCmluZGV4IDdhYTU4NmVi NzRiZS4uMDBiYzg5NjA3NjczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL256eHQtc21hcnQy LmMKKysrIGIvZHJpdmVycy9od21vbi9uenh0LXNtYXJ0Mi5jCkBAIC01LDYgKzUsNyBAQAogICog Q29weXJpZ2h0IChjKSAyMDIxIEFsZWtzYW5kciBNZXppbgogICovCiAKKyNpbmNsdWRlIDxsaW51 eC9kZXZtLWhlbHBlcnMuaD4KICNpbmNsdWRlIDxsaW51eC9oaWQuaD4KICNpbmNsdWRlIDxsaW51 eC9od21vbi5oPgogI2luY2x1ZGUgPGxpbnV4L21hdGguaD4KQEAgLTcyMSwxMSArNzIyLDYgQEAg c3RhdGljIGludCBfX21heWJlX3VudXNlZCBuenh0X3NtYXJ0Ml9oaWRfcmVzZXRfcmVzdW1lKHN0 cnVjdCBoaWRfZGV2aWNlICpoZGV2KQogCXJldHVybiBpbml0X2RldmljZShkcnZkYXRhLCBkcnZk YXRhLT51cGRhdGVfaW50ZXJ2YWwpOwogfQogCi1zdGF0aWMgdm9pZCBtdXRleF9maW5pKHZvaWQg KmxvY2spCi17Ci0JbXV0ZXhfZGVzdHJveShsb2NrKTsKLX0KLQogc3RhdGljIGludCBuenh0X3Nt YXJ0Ml9oaWRfcHJvYmUoc3RydWN0IGhpZF9kZXZpY2UgKmhkZXYsCiAJCQkJIGNvbnN0IHN0cnVj dCBoaWRfZGV2aWNlX2lkICppZCkKIHsKQEAgLTc0MSw4ICs3MzcsNyBAQCBzdGF0aWMgaW50IG56 eHRfc21hcnQyX2hpZF9wcm9iZShzdHJ1Y3QgaGlkX2RldmljZSAqaGRldiwKIAogCWluaXRfd2Fp dHF1ZXVlX2hlYWQoJmRydmRhdGEtPndxKTsKIAotCW11dGV4X2luaXQoJmRydmRhdGEtPm11dGV4 KTsKLQlyZXQgPSBkZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoJmhkZXYtPmRldiwgbXV0ZXhfZmlu aSwgJmRydmRhdGEtPm11dGV4KTsKKwlyZXQgPSBkZXZtX211dGV4X2luaXQoJmhkZXYtPmRldiwg JmRydmRhdGEtPm11dGV4KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2xlZHMvbGVkcy1pczMxZmwzMTl4LmMgYi9kcml2ZXJzL2xlZHMvbGVkcy1pczMx ZmwzMTl4LmMKaW5kZXggNjZjNjU3NDEyMDJlLi5lOWQ3Y2Y2YTM4NmMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbGVkcy9sZWRzLWlzMzFmbDMxOXguYworKysgYi9kcml2ZXJzL2xlZHMvbGVkcy1pczMx ZmwzMTl4LmMKQEAgLTgsNiArOCw3IEBACiAgKiBlZmZlY3QgTEVEcy4KICAqLwogCisjaW5jbHVk ZSA8bGludXgvZGV2bS1oZWxwZXJzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVk ZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvbGVkcy5oPgpAQCAtNDk1LDExICs0OTYs NiBAQCBzdGF0aWMgaW5saW5lIGludCBpczMxZmwzMTk2X2RiX3RvX2dhaW4odTMyIGRlemliZWwp CiAJcmV0dXJuIGRlemliZWwgLyBJUzMxRkwzMTk2X0FVRElPX0dBSU5fREJfU1RFUDsKIH0KIAot c3RhdGljIHZvaWQgaXMzMWYxMzE5eF9tdXRleF9kZXN0cm95KHZvaWQgKmxvY2spCi17Ci0JbXV0 ZXhfZGVzdHJveShsb2NrKTsKLX0KLQogc3RhdGljIGludCBpczMxZmwzMTl4X3Byb2JlKHN0cnVj dCBpMmNfY2xpZW50ICpjbGllbnQpCiB7CiAJc3RydWN0IGlzMzFmbDMxOXhfY2hpcCAqaXMzMTsK QEAgLTUxNSw4ICs1MTEsNyBAQCBzdGF0aWMgaW50IGlzMzFmbDMxOXhfcHJvYmUoc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCkKIAlpZiAoIWlzMzEpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JbXV0 ZXhfaW5pdCgmaXMzMS0+bG9jayk7Ci0JZXJyID0gZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KGRl diwgaXMzMWYxMzE5eF9tdXRleF9kZXN0cm95LCAmaXMzMS0+bG9jayk7CisJZXJyID0gZGV2bV9t dXRleF9pbml0KGRldiwgJmlzMzEtPmxvY2spOwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcG93ZXIvc3VwcGx5L210NjM3MC1jaGFyZ2VyLmMgYi9kcml2 ZXJzL3Bvd2VyL3N1cHBseS9tdDYzNzAtY2hhcmdlci5jCmluZGV4IGUyNGZjZTA4N2Q4MC4uZmEw NTE3ZDAzNTJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Bvd2VyL3N1cHBseS9tdDYzNzAtY2hhcmdl ci5jCisrKyBiL2RyaXZlcnMvcG93ZXIvc3VwcGx5L210NjM3MC1jaGFyZ2VyLmMKQEAgLTc2Niwx MyArNzY2LDYgQEAgc3RhdGljIGludCBtdDYzNzBfY2hnX2luaXRfcHN5KHN0cnVjdCBtdDYzNzBf cHJpdiAqcHJpdikKIAlyZXR1cm4gUFRSX0VSUl9PUl9aRVJPKHByaXYtPnBzeSk7CiB9CiAKLXN0 YXRpYyB2b2lkIG10NjM3MF9jaGdfZGVzdHJveV9hdHRhY2hfbG9jayh2b2lkICpkYXRhKQotewot CXN0cnVjdCBtdXRleCAqYXR0YWNoX2xvY2sgPSBkYXRhOwotCi0JbXV0ZXhfZGVzdHJveShhdHRh Y2hfbG9jayk7Ci19Ci0KIHN0YXRpYyB2b2lkIG10NjM3MF9jaGdfZGVzdHJveV93cSh2b2lkICpk YXRhKQogewogCXN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICp3cSA9IGRhdGE7CkBAIC05MDAsOSAr ODkzLDcgQEAgc3RhdGljIGludCBtdDYzNzBfY2hnX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpCiAJaWYgKHJldCkKIAkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCByZXQsICJG YWlsZWQgdG8gaW5pdCBwc3lcbiIpOwogCi0JbXV0ZXhfaW5pdCgmcHJpdi0+YXR0YWNoX2xvY2sp OwotCXJldCA9IGRldm1fYWRkX2FjdGlvbl9vcl9yZXNldChkZXYsIG10NjM3MF9jaGdfZGVzdHJv eV9hdHRhY2hfbG9jaywKLQkJCQkgICAgICAgJnByaXYtPmF0dGFjaF9sb2NrKTsKKwlyZXQgPSBk ZXZtX211dGV4X2luaXQoZGV2LCAmcHJpdi0+YXR0YWNoX2xvY2spOwogCWlmIChyZXQpCiAJCXJl dHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LCAiRmFpbGVkIHRvIGluaXQgYXR0YWNoIGxvY2tc biIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Bvd2VyL3N1cHBseS9ydDk0NjctY2hhcmdlci5j IGIvZHJpdmVycy9wb3dlci9zdXBwbHkvcnQ5NDY3LWNoYXJnZXIuYwppbmRleCBmZGZkYzgzYWIw NDUuLjg0ZjA3YzIyMDc3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wb3dlci9zdXBwbHkvcnQ5NDY3 LWNoYXJnZXIuYworKysgYi9kcml2ZXJzL3Bvd2VyL3N1cHBseS9ydDk0NjctY2hhcmdlci5jCkBA IC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvYml0ZmllbGQuaD4KICNpbmNsdWRlIDxs aW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxs aW51eC9kZXZtLWhlbHBlcnMuaD4KICNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+CiAj aW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CkBAIC0x MTQ5LDI3ICsxMTUwLDYgQEAgc3RhdGljIGludCBydDk0NjdfcmVzZXRfY2hpcChzdHJ1Y3QgcnQ5 NDY3X2NoZ19kYXRhICpkYXRhKQogCXJldHVybiByZWdtYXBfZmllbGRfd3JpdGUoZGF0YS0+cm1f ZmllbGRbRl9SU1RdLCAxKTsKIH0KIAotc3RhdGljIHZvaWQgcnQ5NDY3X2NoZ19kZXN0cm95X2Fk Y19sb2NrKHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IG11dGV4ICphZGNfbG9jayA9IGRhdGE7Ci0K LQltdXRleF9kZXN0cm95KGFkY19sb2NrKTsKLX0KLQotc3RhdGljIHZvaWQgcnQ5NDY3X2NoZ19k ZXN0cm95X2F0dGFjaF9sb2NrKHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IG11dGV4ICphdHRhY2hf bG9jayA9IGRhdGE7Ci0KLQltdXRleF9kZXN0cm95KGF0dGFjaF9sb2NrKTsKLX0KLQotc3RhdGlj IHZvaWQgcnQ5NDY3X2NoZ19kZXN0cm95X2ljaGdfaWVvY19sb2NrKHZvaWQgKmRhdGEpCi17Ci0J c3RydWN0IG11dGV4ICppY2hnX2llb2NfbG9jayA9IGRhdGE7Ci0KLQltdXRleF9kZXN0cm95KGlj aGdfaWVvY19sb2NrKTsKLX0KLQogc3RhdGljIHZvaWQgcnQ5NDY3X2NoZ19jb21wbGV0ZV9haWNs X2RvbmUodm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgY29tcGxldGlvbiAqYWljbF9kb25lID0gZGF0 YTsKQEAgLTEyMjIsMjEgKzEyMDIsMTUgQEAgc3RhdGljIGludCBydDk0NjdfY2hhcmdlcl9wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQogCWlmIChyZXQpCiAJCXJldHVybiBkZXZfZXJyX3By b2JlKGRldiwgcmV0LCAiRmFpbGVkIHRvIGFkZCBpcnEgY2hpcFxuIik7CiAKLQltdXRleF9pbml0 KCZkYXRhLT5hZGNfbG9jayk7Ci0JcmV0ID0gZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KGRldiwg cnQ5NDY3X2NoZ19kZXN0cm95X2FkY19sb2NrLAotCQkJCSAgICAgICAmZGF0YS0+YWRjX2xvY2sp OworCXJldCA9IGRldm1fbXV0ZXhfaW5pdChkZXYsICZkYXRhLT5hZGNfbG9jayk7CiAJaWYgKHJl dCkKIAkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCByZXQsICJGYWlsZWQgdG8gaW5pdCBBREMg bG9ja1xuIik7CiAKLQltdXRleF9pbml0KCZkYXRhLT5hdHRhY2hfbG9jayk7Ci0JcmV0ID0gZGV2 bV9hZGRfYWN0aW9uX29yX3Jlc2V0KGRldiwgcnQ5NDY3X2NoZ19kZXN0cm95X2F0dGFjaF9sb2Nr LAotCQkJCSAgICAgICAmZGF0YS0+YXR0YWNoX2xvY2spOworCXJldCA9IGRldm1fbXV0ZXhfaW5p dChkZXYsICZkYXRhLT5hdHRhY2hfbG9jayk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIGRldl9lcnJf cHJvYmUoZGV2LCByZXQsICJGYWlsZWQgdG8gaW5pdCBhdHRhY2ggbG9ja1xuIik7CiAKLQltdXRl eF9pbml0KCZkYXRhLT5pY2hnX2llb2NfbG9jayk7Ci0JcmV0ID0gZGV2bV9hZGRfYWN0aW9uX29y X3Jlc2V0KGRldiwgcnQ5NDY3X2NoZ19kZXN0cm95X2ljaGdfaWVvY19sb2NrLAotCQkJCSAgICAg ICAmZGF0YS0+aWNoZ19pZW9jX2xvY2spOworCXJldCA9IGRldm1fbXV0ZXhfaW5pdChkZXYsICZk YXRhLT5pY2hnX2llb2NfbG9jayk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIGRldl9lcnJfcHJvYmUo ZGV2LCByZXQsICJGYWlsZWQgdG8gaW5pdCBJQ0hHL0lFT0MgbG9ja1xuIik7CiAKZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvZGV2bS1oZWxwZXJzLmggYi9pbmNsdWRlL2xpbnV4L2Rldm0taGVs cGVycy5oCmluZGV4IDc0ODkxODAyMjAwZC4uNzA2NDBmYjk2MTE3IDEwMDY0NAotLS0gYS9pbmNs dWRlL2xpbnV4L2Rldm0taGVscGVycy5oCisrKyBiL2luY2x1ZGUvbGludXgvZGV2bS1oZWxwZXJz LmgKQEAgLTI0LDYgKzI0LDggQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+Cisj aW5jbHVkZSA8bGludXgva2NvbmZpZy5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5j bHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBkZXZtX2RlbGF5 ZWRfd29ya19kcm9wKHZvaWQgKnJlcykKQEAgLTc2LDQgKzc4LDM0IEBAIHN0YXRpYyBpbmxpbmUg aW50IGRldm1fd29ya19hdXRvY2FuY2VsKHN0cnVjdCBkZXZpY2UgKmRldiwKIAlyZXR1cm4gZGV2 bV9hZGRfYWN0aW9uKGRldiwgZGV2bV93b3JrX2Ryb3AsIHcpOwogfQogCitzdGF0aWMgaW5saW5l IHZvaWQgZGV2bV9tdXRleF9kcm9wKHZvaWQgKnJlcykKK3sKKwltdXRleF9kZXN0cm95KHJlcyk7 Cit9CisKKy8qKgorICogZGV2bV9tdXRleF9pbml0IC0gUmVzb3VyY2UgbWFuYWdlZCBtdXRleCBp bml0aWFsaXphdGlvbgorICogQGRldjoJRGV2aWNlIHdoaWNoIGxpZmV0aW1lIG11dGV4IGlzIGJv dW5kIHRvCisgKiBAbG9jazoJTXV0ZXggdG8gYmUgaW5pdGlhbGl6ZWQgKGFuZCBhdXRvbWF0aWNh bGx5IGRlc3Ryb3llZCkKKyAqCisgKiBJbml0aWFsaXplIG11dGV4IHdoaWNoIGlzIGF1dG9tYXRp Y2FsbHkgZGVzdHJveWVkIHdoZW4gZHJpdmVyIGlzIGRldGFjaGVkLgorICogQSBmZXcgZHJpdmVy cyBpbml0aWFsaXplIG11dGV4ZXMgd2hpY2ggdGhleSB3YW50IGRlc3Ryb3llZCBiZWZvcmUgZHJp dmVyIGlzCisgKiBkZXRhY2hlZCwgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KKyAqIGRldm1fbXV0 ZXhfaW5pdCgpIGNhbiBiZSB1c2VkIHRvIG9taXQgdGhlIGV4cGxpY2l0IG11dGV4X2Rlc3Ryb3ko KSBjYWxsIHdoZW4KKyAqIGRyaXZlciBpcyBkZXRhY2hlZC4KKyAqLworc3RhdGljIGlubGluZSBp bnQgZGV2bV9tdXRleF9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG11dGV4ICpsb2Nr KQoreworCW11dGV4X2luaXQobG9jayk7CisKKwkvKgorCSAqIG11dGV4X2Rlc3Ryb3koKSBpcyBh biBlbXB0eSBmdW5jdGlvbiBpZiBDT05GSUdfREVCVUdfTVVURVhFUyBpcworCSAqIGRpc2FibGVk LiBObyBuZWVkIHRvIGFsbG9jYXRlIGFuIGFjdGlvbiBpbiB0aGF0IGNhc2UuCisJICovCisJaWYg KElTX0VOQUJMRUQoQ09ORklHX0RFQlVHX01VVEVYRVMpKQorCQlyZXR1cm4gZGV2bV9hZGRfYWN0 aW9uX29yX3Jlc2V0KGRldiwgZGV2bV9tdXRleF9kcm9wLCBsb2NrKTsKKwllbHNlCisJCXJldHVy biAwOworfQorCiAjZW5kaWYKLS0gCjIuNDMuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK