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 8C6DEC433FE for ; Wed, 12 Oct 2022 15:17:41 +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=IRo0rAzESqurz8P2lUuQL02dCVOhvwJjFe9dyQq0dMU=; b=KecX5e+ACDPSDS S5ZUqcx4WeSkw6VjXX27l3gyroRo0JrJH2enC6ekFkrxy5/lqrd/XztAE3Ul5WM3KZKBk9p2iakpk kbTpfJmszqnQ5c0xbLajB4fcq/vKrw9c7Yz2nlYheBS2c7WZU+T1wxjwUNjz5Oc7N9yZl50OF0KcS qu/yTYliyzf4yUOj1MwfPy3v3M9oxfoRB8qROsUo8Y3PqR1KFJYCtFKYS+Ss9Oa+XcObVK+2kRMR6 1EFqm2WlTt6RFZ+8SdzjNZUB9jrMTg6sIHWny7Y6z+5kbBVSniRpoFvAdsfyT1FmnQ6y2OzGYxeon yrT+tZv8Kv19xqIGxkug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oidUA-008VJb-2Z; Wed, 12 Oct 2022 15:17:30 +0000 Received: from mx0a-00128a01.pphosted.com ([148.163.135.77]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oidSp-008UcG-HB; Wed, 12 Oct 2022 15:16:10 +0000 Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29CFD5wc010851; Wed, 12 Oct 2022 11:15:53 -0400 Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3k3325xu55-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 12 Oct 2022 11:15:53 -0400 Received: from ASHBMBX9.ad.analog.com (ASHBMBX9.ad.analog.com [10.64.17.10]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 29CFFqeX049245 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 12 Oct 2022 11:15:52 -0400 Received: from ASHBMBX8.ad.analog.com (10.64.17.5) by ASHBMBX9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Wed, 12 Oct 2022 11:15:51 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server id 15.2.986.14 via Frontend Transport; Wed, 12 Oct 2022 11:15:51 -0400 Received: from nsa.ad.analog.com ([10.44.3.62]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 29CFEunf022095; Wed, 12 Oct 2022 11:15:44 -0400 From: =?UTF-8?q?Nuno=20S=C3=A1?= To: , , , , CC: Chen-Yu Tsai , Andriy Tryshnivskyy , Ciprian Regus , Vladimir Zapolskiy , Cixi Geng , Neil Armstrong , Miquel Raynal , Sascha Hauer , Heiko Stuebner , =?UTF-8?q?Nuno=20S=C3=A1?= , Fabio Estevam , Jerome Brunet , Martin Blumenstingl , Pengutronix Kernel Team , Baolin Wang , Hans de Goede , Alexandru Ardelean , Michael Hennerich , Haibo Chen , Lars-Peter Clausen , Jyoti Bhayana , Jonathan Cameron , Andy Shevchenko , Florian Boor , Chunyan Zhang , Orson Zhai , Shawn Guo , Kevin Hilman Subject: [PATCH v3 4/4] iio: core: move 'mlock' to 'struct iio_dev_opaque' Date: Wed, 12 Oct 2022 17:16:20 +0200 Message-ID: <20221012151620.1725215-5-nuno.sa@analog.com> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221012151620.1725215-1-nuno.sa@analog.com> References: <20221012151620.1725215-1-nuno.sa@analog.com> MIME-Version: 1.0 X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-GUID: Ps37maP0C7d-mEFnlhwmYDt06ck6M1j9 X-Proofpoint-ORIG-GUID: Ps37maP0C7d-mEFnlhwmYDt06ck6M1j9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-12_07,2022-10-12_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 suspectscore=0 mlxscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210120100 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221012_081607_639256_1A57E257 X-CRM114-Status: GOOD ( 21.09 ) 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 Tm93IHRoYXQgdGhlcmUgYXJlIG5vIG1vcmUgdXNlcnMgYWNjZXNzaW5nICdtbG9jaycgZGlyZWN0 bHksIHdlIGNhbiBtb3ZlCml0IHRvIHRoZSBpaW9fZGV2IHByaXZhdGUgc3RydWN0dXJlLiBIZW5j ZSwgaXQncyBub3cgZXhwbGljaXQgdGhhdCBuZXcKZHJpdmVyJ3Mgc2hvdWxkIG5vdCBkaXJlY3Rs eSB1c2UgdGhpcyBsb2NrLgoKU2lnbmVkLW9mZi1ieTogTnVubyBTw6EgPG51bm8uc2FAYW5hbG9n LmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5keS5zaGV2Y2hlbmtvQGdtYWls LmNvbT4KLS0tCiBkcml2ZXJzL2lpby9UT0RPICAgICAgICAgICAgICAgICAgIHwgIDMgLS0tCiBk cml2ZXJzL2lpby9pbmR1c3RyaWFsaW8tYnVmZmVyLmMgIHwgMjkgKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0KIGRyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1jb3JlLmMgICAgfCAyNiArKysr KysrKysrKysrKystLS0tLS0tLS0tLQogZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWV2ZW50LmMg ICB8ICA0ICsrLS0KIGRyaXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMgfCAxMiArKysr KystLS0tLS0KIGluY2x1ZGUvbGludXgvaWlvL2lpby1vcGFxdWUuaCAgICAgfCAgMiArKwogaW5j bHVkZS9saW51eC9paW8vaWlvLmggICAgICAgICAgICB8ICAzIC0tLQogNyBmaWxlcyBjaGFuZ2Vk LCA0MiBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2lpby9UT0RPIGIvZHJpdmVycy9paW8vVE9ETwppbmRleCA3ZDczMjZiNzA4NWEuLjJhY2UyN2Qx YWM2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9paW8vVE9ETworKysgYi9kcml2ZXJzL2lpby9UT0RP CkBAIC03LDkgKzcsNiBAQCB0cmVlCiAgIC0gQUJJIERvY3VtZW50YXRpb24KICAgLSBBdWRpdCBk cml2aWVycy9paW8vc3RhZ2luZy9Eb2N1bWVudGF0aW9uCiAKLS0gUmVwbGFjZSBpaW9fZGV2LT5t bG9jayBieSBlaXRoZXIgYSBsb2NhbCBsb2NrIG9yIHVzZQotaWlvX2NsYWltX2RpcmVjdC4oUmVx dWlyZXMgYW5hbHlzaXMgb2YgdGhlIHB1cnBvc2Ugb2YgdGhlIGxvY2suKQotCiAtIENvbnZlcnRp bmcgZHJpdmVycyBmcm9tIGRldmljZSB0cmVlIGNlbnRyaWMgdG8gbW9yZSBnZW5lcmljCiBwcm9w ZXJ0eSBoYW5kbGVycy4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1 ZmZlci5jIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1ZmZlci5jCmluZGV4IDIyODU5OGI4 MmEyZi4uOWNkN2RiNTQ5ZmNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lpby9pbmR1c3RyaWFsaW8t YnVmZmVyLmMKKysrIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1ZmZlci5jCkBAIC01MDcs MTMgKzUwNywxNCBAQCBzdGF0aWMgc3NpemVfdCBpaW9fc2Nhbl9lbF9zdG9yZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCiAJaW50IHJldDsKIAlib29sIHN0YXRlOwogCXN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBkZXZfdG9faWlvX2RldihkZXYpOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwogCXN0cnVjdCBpaW9f ZGV2X2F0dHIgKnRoaXNfYXR0ciA9IHRvX2lpb19kZXZfYXR0cihhdHRyKTsKIAlzdHJ1Y3QgaWlv X2J1ZmZlciAqYnVmZmVyID0gdGhpc19hdHRyLT5idWZmZXI7CiAKIAlyZXQgPSBrc3RydG9ib29s KGJ1ZiwgJnN0YXRlKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKLQltdXRleF9sb2Nr KCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2sp OwogCWlmIChpaW9fYnVmZmVyX2lzX2FjdGl2ZShidWZmZXIpKSB7CiAJCXJldCA9IC1FQlVTWTsK IAkJZ290byBlcnJvcl9yZXQ7CkBAIC01MzIsNyArNTMzLDcgQEAgc3RhdGljIHNzaXplX3QgaWlv X3NjYW5fZWxfc3RvcmUoc3RydWN0IGRldmljZSAqZGV2LAogCX0KIAogZXJyb3JfcmV0OgotCW11 dGV4X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29w YXF1ZS0+bWxvY2spOwogCiAJcmV0dXJuIHJldCA8IDAgPyByZXQgOiBsZW47CiAKQEAgLTU1NCw2 ICs1NTUsNyBAQCBzdGF0aWMgc3NpemVfdCBpaW9fc2Nhbl9lbF90c19zdG9yZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCiB7CiAJaW50IHJldDsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gZGV2 X3RvX2lpb19kZXYoZGV2KTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVl ID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1ZmZlciAqYnVm ZmVyID0gdG9faWlvX2Rldl9hdHRyKGF0dHIpLT5idWZmZXI7CiAJYm9vbCBzdGF0ZTsKIApAQCAt NTYxLDE0ICs1NjMsMTQgQEAgc3RhdGljIHNzaXplX3QgaWlvX3NjYW5fZWxfdHNfc3RvcmUoc3Ry dWN0IGRldmljZSAqZGV2LAogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCi0JbXV0ZXhf bG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfbG9jaygmaWlvX2Rldl9vcGFxdWUtPm1s b2NrKTsKIAlpZiAoaWlvX2J1ZmZlcl9pc19hY3RpdmUoYnVmZmVyKSkgewogCQlyZXQgPSAtRUJV U1k7CiAJCWdvdG8gZXJyb3JfcmV0OwogCX0KIAlidWZmZXItPnNjYW5fdGltZXN0YW1wID0gc3Rh dGU7CiBlcnJvcl9yZXQ6Ci0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRl eF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDog bGVuOwogfQpAQCAtNjQyLDYgKzY0NCw3IEBAIHN0YXRpYyBzc2l6ZV90IGxlbmd0aF9zdG9yZShz dHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAogCQkJICAg IGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKIHsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9f ZGV2ID0gZGV2X3RvX2lpb19kZXYoZGV2KTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19k ZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1 ZmZlciAqYnVmZmVyID0gdG9faWlvX2Rldl9hdHRyKGF0dHIpLT5idWZmZXI7CiAJdW5zaWduZWQg aW50IHZhbDsKIAlpbnQgcmV0OwpAQCAtNjUzLDcgKzY1Niw3IEBAIHN0YXRpYyBzc2l6ZV90IGxl bmd0aF9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICph dHRyLAogCWlmICh2YWwgPT0gYnVmZmVyLT5sZW5ndGgpCiAJCXJldHVybiBsZW47CiAKLQltdXRl eF9sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+ bWxvY2spOwogCWlmIChpaW9fYnVmZmVyX2lzX2FjdGl2ZShidWZmZXIpKSB7CiAJCXJldCA9IC1F QlVTWTsKIAl9IGVsc2UgewpAQCAtNjY1LDcgKzY2OCw3IEBAIHN0YXRpYyBzc2l6ZV90IGxlbmd0 aF9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRy LAogCWlmIChidWZmZXItPmxlbmd0aCAmJiBidWZmZXItPmxlbmd0aCA8IGJ1ZmZlci0+d2F0ZXJt YXJrKQogCQlidWZmZXItPndhdGVybWFyayA9IGJ1ZmZlci0+bGVuZ3RoOwogb3V0OgotCW11dGV4 X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1 ZS0+bWxvY2spOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGxlbjsKIH0KQEAgLTEyNTYsNyArMTI1 OSw3IEBAIGludCBpaW9fdXBkYXRlX2J1ZmZlcnMoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiwK IAkJcmV0dXJuIC1FSU5WQUw7CiAKIAltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+aW5mb19l eGlzdF9sb2NrKTsKLQltdXRleF9sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2Nr KCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJaWYgKGluc2VydF9idWZmZXIgJiYgaWlvX2J1 ZmZlcl9pc19hY3RpdmUoaW5zZXJ0X2J1ZmZlcikpCiAJCWluc2VydF9idWZmZXIgPSBOVUxMOwpA QCAtMTI3Nyw3ICsxMjgwLDcgQEAgaW50IGlpb191cGRhdGVfYnVmZmVycyhzdHJ1Y3QgaWlvX2Rl diAqaW5kaW9fZGV2LAogCXJldCA9IF9faWlvX3VwZGF0ZV9idWZmZXJzKGluZGlvX2RldiwgaW5z ZXJ0X2J1ZmZlciwgcmVtb3ZlX2J1ZmZlcik7CiAKIG91dF91bmxvY2s6Ci0JbXV0ZXhfdW5sb2Nr KCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9j ayk7CiAJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+aW5mb19leGlzdF9sb2NrKTsKIAog CXJldHVybiByZXQ7CkBAIC0xMjk2LDYgKzEyOTksNyBAQCBzdGF0aWMgc3NpemVfdCBlbmFibGVf c3RvcmUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwK IAlpbnQgcmV0OwogCWJvb2wgcmVxdWVzdGVkX3N0YXRlOwogCXN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBkZXZfdG9faWlvX2RldihkZXYpOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwogCXN0cnVjdCBpaW9f YnVmZmVyICpidWZmZXIgPSB0b19paW9fZGV2X2F0dHIoYXR0ciktPmJ1ZmZlcjsKIAlib29sIGlu bGlzdDsKIApAQCAtMTMwMyw3ICsxMzA3LDcgQEAgc3RhdGljIHNzaXplX3QgZW5hYmxlX3N0b3Jl KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJaWYg KHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKLQltdXRleF9sb2NrKCZpbmRpb19kZXYtPm1sb2Nr KTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJLyogRmluZCBvdXQg aWYgaXQgaXMgaW4gdGhlIGxpc3QgKi8KIAlpbmxpc3QgPSBpaW9fYnVmZmVyX2lzX2FjdGl2ZShi dWZmZXIpOwpAQCAtMTMxNyw3ICsxMzIxLDcgQEAgc3RhdGljIHNzaXplX3QgZW5hYmxlX3N0b3Jl KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJCXJl dCA9IF9faWlvX3VwZGF0ZV9idWZmZXJzKGluZGlvX2RldiwgTlVMTCwgYnVmZmVyKTsKIAogZG9u ZToKLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11dGV4X3VubG9jaygmaWlv X2Rldl9vcGFxdWUtPm1sb2NrKTsKIAlyZXR1cm4gKHJldCA8IDApID8gcmV0IDogbGVuOwogfQog CkBAIC0xMzM0LDYgKzEzMzgsNyBAQCBzdGF0aWMgc3NpemVfdCB3YXRlcm1hcmtfc3RvcmUoc3Ry dWN0IGRldmljZSAqZGV2LAogCQkJICAgICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikK IHsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gZGV2X3RvX2lpb19kZXYoZGV2KTsKKwlz dHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUo aW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1ZmZlciAqYnVmZmVyID0gdG9faWlvX2Rldl9hdHRy KGF0dHIpLT5idWZmZXI7CiAJdW5zaWduZWQgaW50IHZhbDsKIAlpbnQgcmV0OwpAQCAtMTM0NCw3 ICsxMzQ5LDcgQEAgc3RhdGljIHNzaXplX3Qgd2F0ZXJtYXJrX3N0b3JlKHN0cnVjdCBkZXZpY2Ug KmRldiwKIAlpZiAoIXZhbCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQltdXRleF9sb2NrKCZpbmRp b19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJ aWYgKHZhbCA+IGJ1ZmZlci0+bGVuZ3RoKSB7CiAJCXJldCA9IC1FSU5WQUw7CkBAIC0xMzU4LDcg KzEzNjMsNyBAQCBzdGF0aWMgc3NpemVfdCB3YXRlcm1hcmtfc3RvcmUoc3RydWN0IGRldmljZSAq ZGV2LAogCiAJYnVmZmVyLT53YXRlcm1hcmsgPSB2YWw7CiBvdXQ6Ci0JbXV0ZXhfdW5sb2NrKCZp bmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7 CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDogbGVuOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8v aW5kdXN0cmlhbGlvLWNvcmUuYyBiL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1jb3JlLmMKaW5k ZXggY2Y4MGY4MWU0NjY1Li41MDQ5NDA0ZDExNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWlvL2lu ZHVzdHJpYWxpby1jb3JlLmMKKysrIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWNvcmUuYwpA QCAtMjg1LDE2ICsyODUsMTYgQEAgaW50IGlpb19kZXZpY2Vfc2V0X2Nsb2NrKHN0cnVjdCBpaW9f ZGV2ICppbmRpb19kZXYsIGNsb2NraWRfdCBjbG9ja19pZCkKIAlzdHJ1Y3QgaWlvX2Rldl9vcGFx dWUgKmlpb19kZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAljb25z dCBzdHJ1Y3QgaWlvX2V2ZW50X2ludGVyZmFjZSAqZXZfaW50ID0gaWlvX2Rldl9vcGFxdWUtPmV2 ZW50X2ludGVyZmFjZTsKIAotCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmaW5kaW9f ZGV2LT5tbG9jayk7CisJcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZpaW9fZGV2X29w YXF1ZS0+bWxvY2spOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAJaWYgKChldl9pbnQgJiYg aWlvX2V2ZW50X2VuYWJsZWQoZXZfaW50KSkgfHwKIAkgICAgaWlvX2J1ZmZlcl9lbmFibGVkKGlu ZGlvX2RldikpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwkJbXV0ZXhf dW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlp aW9fZGV2X29wYXF1ZS0+Y2xvY2tfaWQgPSBjbG9ja19pZDsKLQltdXRleF91bmxvY2soJmluZGlv X2Rldi0+bWxvY2spOworCW11dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAog CXJldHVybiAwOwogfQpAQCAtMTY3NCw3ICsxNjc0LDcgQEAgc3RydWN0IGlpb19kZXYgKmlpb19k ZXZpY2VfYWxsb2Moc3RydWN0IGRldmljZSAqcGFyZW50LCBpbnQgc2l6ZW9mX3ByaXYpCiAJaW5k aW9fZGV2LT5kZXYudHlwZSA9ICZpaW9fZGV2aWNlX3R5cGU7CiAJaW5kaW9fZGV2LT5kZXYuYnVz ID0gJmlpb19idXNfdHlwZTsKIAlkZXZpY2VfaW5pdGlhbGl6ZSgmaW5kaW9fZGV2LT5kZXYpOwot CW11dGV4X2luaXQoJmluZGlvX2Rldi0+bWxvY2spOworCW11dGV4X2luaXQoJmlpb19kZXZfb3Bh cXVlLT5tbG9jayk7CiAJbXV0ZXhfaW5pdCgmaWlvX2Rldl9vcGFxdWUtPmluZm9fZXhpc3RfbG9j ayk7CiAJSU5JVF9MSVNUX0hFQUQoJmlpb19kZXZfb3BhcXVlLT5jaGFubmVsX2F0dHJfbGlzdCk7 CiAKQEAgLTE2OTYsNyArMTY5Niw3IEBAIHN0cnVjdCBpaW9fZGV2ICppaW9fZGV2aWNlX2FsbG9j KHN0cnVjdCBkZXZpY2UgKnBhcmVudCwgaW50IHNpemVvZl9wcml2KQogCUlOSVRfTElTVF9IRUFE KCZpaW9fZGV2X29wYXF1ZS0+aW9jdGxfaGFuZGxlcnMpOwogCiAJbG9ja2RlcF9yZWdpc3Rlcl9r ZXkoJmlpb19kZXZfb3BhcXVlLT5tbG9ja19rZXkpOwotCWxvY2tkZXBfc2V0X2NsYXNzKCZpbmRp b19kZXYtPm1sb2NrLCAmaWlvX2Rldl9vcGFxdWUtPm1sb2NrX2tleSk7CisJbG9ja2RlcF9zZXRf Y2xhc3MoJmlpb19kZXZfb3BhcXVlLT5tbG9jaywgJmlpb19kZXZfb3BhcXVlLT5tbG9ja19rZXkp OwogCiAJcmV0dXJuIGluZGlvX2RldjsKIH0KQEAgLTIwNTgsMTAgKzIwNTgsMTIgQEAgRVhQT1JU X1NZTUJPTF9HUEwoX19kZXZtX2lpb19kZXZpY2VfcmVnaXN0ZXIpOwogICovCiBpbnQgaWlvX2Rl dmljZV9jbGFpbV9kaXJlY3RfbW9kZShzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2KQogewotCW11 dGV4X2xvY2soJmluZGlvX2Rldi0+bWxvY2spOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOworCisJbXV0ZXhfbG9j aygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAogCWlmIChpaW9fYnVmZmVyX2VuYWJsZWQoaW5k aW9fZGV2KSkgewotCQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCQltdXRleF91 bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCXJl dHVybiAwOwpAQCAtMjA3OSw3ICsyMDgxLDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlvX2Rldmlj ZV9jbGFpbV9kaXJlY3RfbW9kZSk7CiAgKi8KIHZvaWQgaWlvX2RldmljZV9yZWxlYXNlX2RpcmVj dF9tb2RlKHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYpCiB7Ci0JbXV0ZXhfdW5sb2NrKCZpbmRp b19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJnRvX2lpb19kZXZfb3BhcXVlKGluZGlvX2Rl diktPm1sb2NrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfcmVsZWFzZV9kaXJl Y3RfbW9kZSk7CiAKQEAgLTIwOTYsMTIgKzIwOTgsMTQgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlv X2RldmljZV9yZWxlYXNlX2RpcmVjdF9tb2RlKTsKICAqLwogaW50IGlpb19kZXZpY2VfY2xhaW1f YnVmZmVyX21vZGUoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldikKIHsKLQltdXRleF9sb2NrKCZp bmRpb19kZXYtPm1sb2NrKTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVl ID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKKworCW11dGV4X2xvY2soJmlpb19kZXZf b3BhcXVlLT5tbG9jayk7CiAKIAlpZiAoaWlvX2J1ZmZlcl9lbmFibGVkKGluZGlvX2RldikpCiAJ CXJldHVybiAwOwogCi0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91 bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJcmV0dXJuIC1FQlVTWTsKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfY2xhaW1fYnVmZmVyX21vZGUpOwpAQCAtMjExNyw3ICsy MTIxLDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlvX2RldmljZV9jbGFpbV9idWZmZXJfbW9kZSk7 CiAgKi8KIHZvaWQgaWlvX2RldmljZV9yZWxlYXNlX2J1ZmZlcl9tb2RlKHN0cnVjdCBpaW9fZGV2 ICppbmRpb19kZXYpCiB7Ci0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRl eF91bmxvY2soJnRvX2lpb19kZXZfb3BhcXVlKGluZGlvX2RldiktPm1sb2NrKTsKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfcmVsZWFzZV9idWZmZXJfbW9kZSk7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1ldmVudC5jIGIvZHJpdmVycy9paW8vaW5kdXN0 cmlhbGlvLWV2ZW50LmMKaW5kZXggM2Q3OGRhMjUzMWE5Li4xYTI2MzkzYTdjMGMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1ldmVudC5jCisrKyBiL2RyaXZlcnMvaWlvL2lu ZHVzdHJpYWxpby1ldmVudC5jCkBAIC0xOTgsNyArMTk4LDcgQEAgc3RhdGljIGludCBpaW9fZXZl bnRfZ2V0ZmQoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldikKIAlpZiAoZXZfaW50ID09IE5VTEwp CiAJCXJldHVybiAtRU5PREVWOwogCi0JZmQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmlu ZGlvX2Rldi0+bWxvY2spOworCWZkID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZpaW9fZGV2 X29wYXF1ZS0+bWxvY2spOwogCWlmIChmZCkKIAkJcmV0dXJuIGZkOwogCkBAIC0yMTksNyArMjE5 LDcgQEAgc3RhdGljIGludCBpaW9fZXZlbnRfZ2V0ZmQoc3RydWN0IGlpb19kZXYgKmluZGlvX2Rl dikKIAl9CiAKIHVubG9jazoKLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11 dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAlyZXR1cm4gZmQ7CiB9CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMgYi9kcml2ZXJzL2lp by9pbmR1c3RyaWFsaW8tdHJpZ2dlci5jCmluZGV4IDY4ODVhMTg2ZmUyNy4uYTJmM2NjMmY2NWVm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lpby9pbmR1c3RyaWFsaW8tdHJpZ2dlci5jCisrKyBiL2Ry aXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMKQEAgLTEyMCwxMiArMTIwLDEyIEBAIGlu dCBpaW9fdHJpZ2dlcl9zZXRfaW1tdXRhYmxlKHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYsIHN0 cnVjdCBpaW9fdHJpZ2dlciAqdHJpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWlvX2Rldl9vcGFx dWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwotCW11dGV4X2xvY2soJmluZGlvX2Rl di0+bWxvY2spOworCW11dGV4X2xvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJV0FSTl9P TihpaW9fZGV2X29wYXF1ZS0+dHJpZ19yZWFkb25seSk7CiAKIAlpbmRpb19kZXYtPnRyaWcgPSBp aW9fdHJpZ2dlcl9nZXQodHJpZyk7CiAJaWlvX2Rldl9vcGFxdWUtPnRyaWdfcmVhZG9ubHkgPSB0 cnVlOwotCW11dGV4X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZp aW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJcmV0dXJuIDA7CiB9CkBAIC00MzgsMTYgKzQzOCwx NiBAQCBzdGF0aWMgc3NpemVfdCBjdXJyZW50X3RyaWdnZXJfc3RvcmUoc3RydWN0IGRldmljZSAq ZGV2LAogCXN0cnVjdCBpaW9fdHJpZ2dlciAqdHJpZzsKIAlpbnQgcmV0OwogCi0JbXV0ZXhfbG9j aygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfbG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2Nr KTsKIAlpZiAoaWlvX2Rldl9vcGFxdWUtPmN1cnJlbnRtb2RlID09IElORElPX0JVRkZFUl9UUklH R0VSRUQpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwkJbXV0ZXhfdW5s b2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlpZiAo aWlvX2Rldl9vcGFxdWUtPnRyaWdfcmVhZG9ubHkpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19k ZXYtPm1sb2NrKTsKKwkJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQly ZXR1cm4gLUVQRVJNOwogCX0KLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11 dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAogCXRyaWcgPSBpaW9fdHJpZ2dl cl9hY3F1aXJlX2J5X25hbWUoYnVmKTsKIAlpZiAob2xkdHJpZyA9PSB0cmlnKSB7CmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L2lpby9paW8tb3BhcXVlLmggYi9pbmNsdWRlL2xpbnV4L2lpby9p aW8tb3BhcXVlLmgKaW5kZXggZDFmOGIzMGE3YzhiLi41YWVjMzk0NTU1NWIgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvbGludXgvaWlvL2lpby1vcGFxdWUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lpby9p aW8tb3BhcXVlLmgKQEAgLTExLDYgKzExLDcgQEAKICAqCQkJCWNoZWNrZWQgYnkgZGV2aWNlIGRy aXZlcnMgYnV0IHNob3VsZCBiZSBjb25zaWRlcmVkCiAgKgkJCQlyZWFkLW9ubHkgYXMgdGhpcyBp cyBhIGNvcmUgaW50ZXJuYWwgYml0CiAgKiBAZHJpdmVyX21vZHVsZToJCXVzZWQgdG8gbWFrZSBp dCBoYXJkZXIgdG8gdW5kZXJjdXQgdXNlcnMKKyAqIEBtbG9jazoJCQlsb2NrIHVzZWQgdG8gcHJl dmVudCBzaW11bHRhbmVvdXMgZGV2aWNlIHN0YXRlIGNoYW5nZXMKICAqIEBtbG9ja19rZXk6CQkJ bG9ja2RlcCBjbGFzcyBmb3IgaWlvX2RldiBsb2NrCiAgKiBAaW5mb19leGlzdF9sb2NrOgkJbG9j ayB0byBwcmV2ZW50IHVzZSBkdXJpbmcgcmVtb3ZhbAogICogQHRyaWdfcmVhZG9ubHk6CQltYXJr IHRoZSBjdXJyZW50IHRyaWdnZXIgaW1tdXRhYmxlCkBAIC00Myw2ICs0NCw3IEBAIHN0cnVjdCBp aW9fZGV2X29wYXF1ZSB7CiAJaW50CQkJCWN1cnJlbnRtb2RlOwogCWludAkJCQlpZDsKIAlzdHJ1 Y3QgbW9kdWxlCQkJKmRyaXZlcl9tb2R1bGU7CisJc3RydWN0IG11dGV4CQkJbWxvY2s7CiAJc3Ry dWN0IGxvY2tfY2xhc3Nfa2V5CQltbG9ja19rZXk7CiAJc3RydWN0IG11dGV4CQkJaW5mb19leGlz dF9sb2NrOwogCWJvb2wJCQkJdHJpZ19yZWFkb25seTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvaWlvL2lpby5oIGIvaW5jbHVkZS9saW51eC9paW8vaWlvLmgKaW5kZXggOWQzYmQ2Mzc5ZWI4 Li44ZTBhZmFhYTNmNzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaWlvL2lpby5oCisrKyBi L2luY2x1ZGUvbGludXgvaWlvL2lpby5oCkBAIC01NDgsOCArNTQ4LDYgQEAgc3RydWN0IGlpb19i dWZmZXJfc2V0dXBfb3BzIHsKICAqCQkJYW5kIG93bmVyCiAgKiBAYnVmZmVyOgkJW0RSSVZFUl0g YW55IGJ1ZmZlciBwcmVzZW50CiAgKiBAc2Nhbl9ieXRlczoJCVtJTlRFUk5dIG51bSBieXRlcyBj YXB0dXJlZCB0byBiZSBmZWQgdG8gYnVmZmVyIGRlbXV4Ci0gKiBAbWxvY2s6CQlbSU5URVJOXSBs b2NrIHVzZWQgdG8gcHJldmVudCBzaW11bHRhbmVvdXMgZGV2aWNlIHN0YXRlCi0gKgkJCWNoYW5n ZXMKICAqIEBhdmFpbGFibGVfc2Nhbl9tYXNrczogW0RSSVZFUl0gb3B0aW9uYWwgYXJyYXkgb2Yg YWxsb3dlZCBiaXRtYXNrcwogICogQG1hc2tsZW5ndGg6CQlbSU5URVJOXSB0aGUgbGVuZ3RoIG9m IHRoZSBtYXNrIGVzdGFibGlzaGVkIGZyb20KICAqCQkJY2hhbm5lbHMKQEAgLTU3NCw3ICs1NzIs NiBAQCBzdHJ1Y3QgaWlvX2RldiB7CiAKIAlzdHJ1Y3QgaWlvX2J1ZmZlcgkJKmJ1ZmZlcjsKIAlp bnQJCQkJc2Nhbl9ieXRlczsKLQlzdHJ1Y3QgbXV0ZXgJCQltbG9jazsKIAogCWNvbnN0IHVuc2ln bmVkIGxvbmcJCSphdmFpbGFibGVfc2Nhbl9tYXNrczsKIAl1bnNpZ25lZAkJCW1hc2tsZW5ndGg7 Ci0tIAoyLjM4LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hbWxvZ2ljCg== 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 12376C433FE for ; Wed, 12 Oct 2022 15:17:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229907AbiJLPRC (ORCPT ); Wed, 12 Oct 2022 11:17:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229913AbiJLPQs (ORCPT ); Wed, 12 Oct 2022 11:16:48 -0400 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F52DE0704 for ; Wed, 12 Oct 2022 08:16:40 -0700 (PDT) Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29CFD5wc010851; Wed, 12 Oct 2022 11:15:53 -0400 Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3k3325xu55-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 12 Oct 2022 11:15:53 -0400 Received: from ASHBMBX9.ad.analog.com (ASHBMBX9.ad.analog.com [10.64.17.10]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 29CFFqeX049245 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 12 Oct 2022 11:15:52 -0400 Received: from ASHBMBX8.ad.analog.com (10.64.17.5) by ASHBMBX9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Wed, 12 Oct 2022 11:15:51 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server id 15.2.986.14 via Frontend Transport; Wed, 12 Oct 2022 11:15:51 -0400 Received: from nsa.ad.analog.com ([10.44.3.62]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 29CFEunf022095; Wed, 12 Oct 2022 11:15:44 -0400 From: =?UTF-8?q?Nuno=20S=C3=A1?= To: , , , , CC: Chen-Yu Tsai , Andriy Tryshnivskyy , Ciprian Regus , Vladimir Zapolskiy , Cixi Geng , Neil Armstrong , Miquel Raynal , Sascha Hauer , Heiko Stuebner , =?UTF-8?q?Nuno=20S=C3=A1?= , Fabio Estevam , Jerome Brunet , Martin Blumenstingl , Pengutronix Kernel Team , Baolin Wang , Hans de Goede , Alexandru Ardelean , Michael Hennerich , Haibo Chen , Lars-Peter Clausen , Jyoti Bhayana , Jonathan Cameron , Andy Shevchenko , Florian Boor , Chunyan Zhang , Orson Zhai , Shawn Guo , Kevin Hilman Subject: [PATCH v3 4/4] iio: core: move 'mlock' to 'struct iio_dev_opaque' Date: Wed, 12 Oct 2022 17:16:20 +0200 Message-ID: <20221012151620.1725215-5-nuno.sa@analog.com> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221012151620.1725215-1-nuno.sa@analog.com> References: <20221012151620.1725215-1-nuno.sa@analog.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-GUID: Ps37maP0C7d-mEFnlhwmYDt06ck6M1j9 X-Proofpoint-ORIG-GUID: Ps37maP0C7d-mEFnlhwmYDt06ck6M1j9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-12_07,2022-10-12_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 suspectscore=0 mlxscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210120100 Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org Now that there are no more users accessing 'mlock' directly, we can move it to the iio_dev private structure. Hence, it's now explicit that new driver's should not directly use this lock. Signed-off-by: Nuno Sá Reviewed-by: Andy Shevchenko --- drivers/iio/TODO | 3 --- drivers/iio/industrialio-buffer.c | 29 +++++++++++++++++------------ drivers/iio/industrialio-core.c | 26 +++++++++++++++----------- drivers/iio/industrialio-event.c | 4 ++-- drivers/iio/industrialio-trigger.c | 12 ++++++------ include/linux/iio/iio-opaque.h | 2 ++ include/linux/iio/iio.h | 3 --- 7 files changed, 42 insertions(+), 37 deletions(-) diff --git a/drivers/iio/TODO b/drivers/iio/TODO index 7d7326b7085a..2ace27d1ac62 100644 --- a/drivers/iio/TODO +++ b/drivers/iio/TODO @@ -7,9 +7,6 @@ tree - ABI Documentation - Audit driviers/iio/staging/Documentation -- Replace iio_dev->mlock by either a local lock or use -iio_claim_direct.(Requires analysis of the purpose of the lock.) - - Converting drivers from device tree centric to more generic property handlers. diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c index 228598b82a2f..9cd7db549fcb 100644 --- a/drivers/iio/industrialio-buffer.c +++ b/drivers/iio/industrialio-buffer.c @@ -507,13 +507,14 @@ static ssize_t iio_scan_el_store(struct device *dev, int ret; bool state; struct iio_dev *indio_dev = dev_to_iio_dev(dev); + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); struct iio_buffer *buffer = this_attr->buffer; ret = kstrtobool(buf, &state); if (ret < 0) return ret; - mutex_lock(&indio_dev->mlock); + mutex_lock(&iio_dev_opaque->mlock); if (iio_buffer_is_active(buffer)) { ret = -EBUSY; goto error_ret; @@ -532,7 +533,7 @@ static ssize_t iio_scan_el_store(struct device *dev, } error_ret: - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return ret < 0 ? ret : len; @@ -554,6 +555,7 @@ static ssize_t iio_scan_el_ts_store(struct device *dev, { int ret; struct iio_dev *indio_dev = dev_to_iio_dev(dev); + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); struct iio_buffer *buffer = to_iio_dev_attr(attr)->buffer; bool state; @@ -561,14 +563,14 @@ static ssize_t iio_scan_el_ts_store(struct device *dev, if (ret < 0) return ret; - mutex_lock(&indio_dev->mlock); + mutex_lock(&iio_dev_opaque->mlock); if (iio_buffer_is_active(buffer)) { ret = -EBUSY; goto error_ret; } buffer->scan_timestamp = state; error_ret: - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return ret ? ret : len; } @@ -642,6 +644,7 @@ static ssize_t length_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t len) { struct iio_dev *indio_dev = dev_to_iio_dev(dev); + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); struct iio_buffer *buffer = to_iio_dev_attr(attr)->buffer; unsigned int val; int ret; @@ -653,7 +656,7 @@ static ssize_t length_store(struct device *dev, struct device_attribute *attr, if (val == buffer->length) return len; - mutex_lock(&indio_dev->mlock); + mutex_lock(&iio_dev_opaque->mlock); if (iio_buffer_is_active(buffer)) { ret = -EBUSY; } else { @@ -665,7 +668,7 @@ static ssize_t length_store(struct device *dev, struct device_attribute *attr, if (buffer->length && buffer->length < buffer->watermark) buffer->watermark = buffer->length; out: - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return ret ? ret : len; } @@ -1256,7 +1259,7 @@ int iio_update_buffers(struct iio_dev *indio_dev, return -EINVAL; mutex_lock(&iio_dev_opaque->info_exist_lock); - mutex_lock(&indio_dev->mlock); + mutex_lock(&iio_dev_opaque->mlock); if (insert_buffer && iio_buffer_is_active(insert_buffer)) insert_buffer = NULL; @@ -1277,7 +1280,7 @@ int iio_update_buffers(struct iio_dev *indio_dev, ret = __iio_update_buffers(indio_dev, insert_buffer, remove_buffer); out_unlock: - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); mutex_unlock(&iio_dev_opaque->info_exist_lock); return ret; @@ -1296,6 +1299,7 @@ static ssize_t enable_store(struct device *dev, struct device_attribute *attr, int ret; bool requested_state; struct iio_dev *indio_dev = dev_to_iio_dev(dev); + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); struct iio_buffer *buffer = to_iio_dev_attr(attr)->buffer; bool inlist; @@ -1303,7 +1307,7 @@ static ssize_t enable_store(struct device *dev, struct device_attribute *attr, if (ret < 0) return ret; - mutex_lock(&indio_dev->mlock); + mutex_lock(&iio_dev_opaque->mlock); /* Find out if it is in the list */ inlist = iio_buffer_is_active(buffer); @@ -1317,7 +1321,7 @@ static ssize_t enable_store(struct device *dev, struct device_attribute *attr, ret = __iio_update_buffers(indio_dev, NULL, buffer); done: - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return (ret < 0) ? ret : len; } @@ -1334,6 +1338,7 @@ static ssize_t watermark_store(struct device *dev, const char *buf, size_t len) { struct iio_dev *indio_dev = dev_to_iio_dev(dev); + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); struct iio_buffer *buffer = to_iio_dev_attr(attr)->buffer; unsigned int val; int ret; @@ -1344,7 +1349,7 @@ static ssize_t watermark_store(struct device *dev, if (!val) return -EINVAL; - mutex_lock(&indio_dev->mlock); + mutex_lock(&iio_dev_opaque->mlock); if (val > buffer->length) { ret = -EINVAL; @@ -1358,7 +1363,7 @@ static ssize_t watermark_store(struct device *dev, buffer->watermark = val; out: - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return ret ? ret : len; } diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c index cf80f81e4665..5049404d1148 100644 --- a/drivers/iio/industrialio-core.c +++ b/drivers/iio/industrialio-core.c @@ -285,16 +285,16 @@ int iio_device_set_clock(struct iio_dev *indio_dev, clockid_t clock_id) struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); const struct iio_event_interface *ev_int = iio_dev_opaque->event_interface; - ret = mutex_lock_interruptible(&indio_dev->mlock); + ret = mutex_lock_interruptible(&iio_dev_opaque->mlock); if (ret) return ret; if ((ev_int && iio_event_enabled(ev_int)) || iio_buffer_enabled(indio_dev)) { - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return -EBUSY; } iio_dev_opaque->clock_id = clock_id; - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return 0; } @@ -1674,7 +1674,7 @@ struct iio_dev *iio_device_alloc(struct device *parent, int sizeof_priv) indio_dev->dev.type = &iio_device_type; indio_dev->dev.bus = &iio_bus_type; device_initialize(&indio_dev->dev); - mutex_init(&indio_dev->mlock); + mutex_init(&iio_dev_opaque->mlock); mutex_init(&iio_dev_opaque->info_exist_lock); INIT_LIST_HEAD(&iio_dev_opaque->channel_attr_list); @@ -1696,7 +1696,7 @@ struct iio_dev *iio_device_alloc(struct device *parent, int sizeof_priv) INIT_LIST_HEAD(&iio_dev_opaque->ioctl_handlers); lockdep_register_key(&iio_dev_opaque->mlock_key); - lockdep_set_class(&indio_dev->mlock, &iio_dev_opaque->mlock_key); + lockdep_set_class(&iio_dev_opaque->mlock, &iio_dev_opaque->mlock_key); return indio_dev; } @@ -2058,10 +2058,12 @@ EXPORT_SYMBOL_GPL(__devm_iio_device_register); */ int iio_device_claim_direct_mode(struct iio_dev *indio_dev) { - mutex_lock(&indio_dev->mlock); + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); + + mutex_lock(&iio_dev_opaque->mlock); if (iio_buffer_enabled(indio_dev)) { - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return -EBUSY; } return 0; @@ -2079,7 +2081,7 @@ EXPORT_SYMBOL_GPL(iio_device_claim_direct_mode); */ void iio_device_release_direct_mode(struct iio_dev *indio_dev) { - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&to_iio_dev_opaque(indio_dev)->mlock); } EXPORT_SYMBOL_GPL(iio_device_release_direct_mode); @@ -2096,12 +2098,14 @@ EXPORT_SYMBOL_GPL(iio_device_release_direct_mode); */ int iio_device_claim_buffer_mode(struct iio_dev *indio_dev) { - mutex_lock(&indio_dev->mlock); + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); + + mutex_lock(&iio_dev_opaque->mlock); if (iio_buffer_enabled(indio_dev)) return 0; - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return -EBUSY; } EXPORT_SYMBOL_GPL(iio_device_claim_buffer_mode); @@ -2117,7 +2121,7 @@ EXPORT_SYMBOL_GPL(iio_device_claim_buffer_mode); */ void iio_device_release_buffer_mode(struct iio_dev *indio_dev) { - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&to_iio_dev_opaque(indio_dev)->mlock); } EXPORT_SYMBOL_GPL(iio_device_release_buffer_mode); diff --git a/drivers/iio/industrialio-event.c b/drivers/iio/industrialio-event.c index 3d78da2531a9..1a26393a7c0c 100644 --- a/drivers/iio/industrialio-event.c +++ b/drivers/iio/industrialio-event.c @@ -198,7 +198,7 @@ static int iio_event_getfd(struct iio_dev *indio_dev) if (ev_int == NULL) return -ENODEV; - fd = mutex_lock_interruptible(&indio_dev->mlock); + fd = mutex_lock_interruptible(&iio_dev_opaque->mlock); if (fd) return fd; @@ -219,7 +219,7 @@ static int iio_event_getfd(struct iio_dev *indio_dev) } unlock: - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return fd; } diff --git a/drivers/iio/industrialio-trigger.c b/drivers/iio/industrialio-trigger.c index 6885a186fe27..a2f3cc2f65ef 100644 --- a/drivers/iio/industrialio-trigger.c +++ b/drivers/iio/industrialio-trigger.c @@ -120,12 +120,12 @@ int iio_trigger_set_immutable(struct iio_dev *indio_dev, struct iio_trigger *tri return -EINVAL; iio_dev_opaque = to_iio_dev_opaque(indio_dev); - mutex_lock(&indio_dev->mlock); + mutex_lock(&iio_dev_opaque->mlock); WARN_ON(iio_dev_opaque->trig_readonly); indio_dev->trig = iio_trigger_get(trig); iio_dev_opaque->trig_readonly = true; - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return 0; } @@ -438,16 +438,16 @@ static ssize_t current_trigger_store(struct device *dev, struct iio_trigger *trig; int ret; - mutex_lock(&indio_dev->mlock); + mutex_lock(&iio_dev_opaque->mlock); if (iio_dev_opaque->currentmode == INDIO_BUFFER_TRIGGERED) { - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return -EBUSY; } if (iio_dev_opaque->trig_readonly) { - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); return -EPERM; } - mutex_unlock(&indio_dev->mlock); + mutex_unlock(&iio_dev_opaque->mlock); trig = iio_trigger_acquire_by_name(buf); if (oldtrig == trig) { diff --git a/include/linux/iio/iio-opaque.h b/include/linux/iio/iio-opaque.h index d1f8b30a7c8b..5aec3945555b 100644 --- a/include/linux/iio/iio-opaque.h +++ b/include/linux/iio/iio-opaque.h @@ -11,6 +11,7 @@ * checked by device drivers but should be considered * read-only as this is a core internal bit * @driver_module: used to make it harder to undercut users + * @mlock: lock used to prevent simultaneous device state changes * @mlock_key: lockdep class for iio_dev lock * @info_exist_lock: lock to prevent use during removal * @trig_readonly: mark the current trigger immutable @@ -43,6 +44,7 @@ struct iio_dev_opaque { int currentmode; int id; struct module *driver_module; + struct mutex mlock; struct lock_class_key mlock_key; struct mutex info_exist_lock; bool trig_readonly; diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index 9d3bd6379eb8..8e0afaaa3f75 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h @@ -548,8 +548,6 @@ struct iio_buffer_setup_ops { * and owner * @buffer: [DRIVER] any buffer present * @scan_bytes: [INTERN] num bytes captured to be fed to buffer demux - * @mlock: [INTERN] lock used to prevent simultaneous device state - * changes * @available_scan_masks: [DRIVER] optional array of allowed bitmasks * @masklength: [INTERN] the length of the mask established from * channels @@ -574,7 +572,6 @@ struct iio_dev { struct iio_buffer *buffer; int scan_bytes; - struct mutex mlock; const unsigned long *available_scan_masks; unsigned masklength; -- 2.38.0 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 4A01CC43219 for ; Wed, 12 Oct 2022 15:17:44 +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=0d8He86k3sfX+jYQdTslu/MeTUvYSnYyYnGwydMuWd0=; b=yi28NgdQEiCdI5 slacvoWVKe94Gx3M2IJkETPiLCu9039efp30TmkzbMCimZKUzCJQIkRPwWBQ7VKpKdtP1WDPypcoY FhliJ1xXqHfwa5/arx/B17XwL6ZO7aekbR5kHOcQQpQP09A91r3IqM65ziy3UPYhsGZxjJd467qTd N+sLIbchXu1bW0rEGtOd9vAegoEsR8KmxAPhFBjAqIeI1nB0gsZmFuAnLbfvVJT9w9FwWuo9UmpKJ iXJQkzGPJcBWVYhX4L8owxHvQ5bLVSWjANa71WkdWwUSEnELRPoK7oMYZE2Mx4OUMXZ95BTAYj2Em DKH0Fg3FDs3OUQQSt1LQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oidUB-008VKL-74; Wed, 12 Oct 2022 15:17:31 +0000 Received: from mx0a-00128a01.pphosted.com ([148.163.135.77]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oidSp-008UcG-HB; Wed, 12 Oct 2022 15:16:10 +0000 Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29CFD5wc010851; Wed, 12 Oct 2022 11:15:53 -0400 Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3k3325xu55-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 12 Oct 2022 11:15:53 -0400 Received: from ASHBMBX9.ad.analog.com (ASHBMBX9.ad.analog.com [10.64.17.10]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 29CFFqeX049245 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 12 Oct 2022 11:15:52 -0400 Received: from ASHBMBX8.ad.analog.com (10.64.17.5) by ASHBMBX9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Wed, 12 Oct 2022 11:15:51 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server id 15.2.986.14 via Frontend Transport; Wed, 12 Oct 2022 11:15:51 -0400 Received: from nsa.ad.analog.com ([10.44.3.62]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 29CFEunf022095; Wed, 12 Oct 2022 11:15:44 -0400 From: =?UTF-8?q?Nuno=20S=C3=A1?= To: , , , , CC: Chen-Yu Tsai , Andriy Tryshnivskyy , Ciprian Regus , Vladimir Zapolskiy , Cixi Geng , Neil Armstrong , Miquel Raynal , Sascha Hauer , Heiko Stuebner , =?UTF-8?q?Nuno=20S=C3=A1?= , Fabio Estevam , Jerome Brunet , Martin Blumenstingl , Pengutronix Kernel Team , Baolin Wang , Hans de Goede , Alexandru Ardelean , Michael Hennerich , Haibo Chen , Lars-Peter Clausen , Jyoti Bhayana , Jonathan Cameron , Andy Shevchenko , Florian Boor , Chunyan Zhang , Orson Zhai , Shawn Guo , Kevin Hilman Subject: [PATCH v3 4/4] iio: core: move 'mlock' to 'struct iio_dev_opaque' Date: Wed, 12 Oct 2022 17:16:20 +0200 Message-ID: <20221012151620.1725215-5-nuno.sa@analog.com> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221012151620.1725215-1-nuno.sa@analog.com> References: <20221012151620.1725215-1-nuno.sa@analog.com> MIME-Version: 1.0 X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-GUID: Ps37maP0C7d-mEFnlhwmYDt06ck6M1j9 X-Proofpoint-ORIG-GUID: Ps37maP0C7d-mEFnlhwmYDt06ck6M1j9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-12_07,2022-10-12_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 suspectscore=0 mlxscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210120100 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221012_081607_639256_1A57E257 X-CRM114-Status: GOOD ( 21.09 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org Tm93IHRoYXQgdGhlcmUgYXJlIG5vIG1vcmUgdXNlcnMgYWNjZXNzaW5nICdtbG9jaycgZGlyZWN0 bHksIHdlIGNhbiBtb3ZlCml0IHRvIHRoZSBpaW9fZGV2IHByaXZhdGUgc3RydWN0dXJlLiBIZW5j ZSwgaXQncyBub3cgZXhwbGljaXQgdGhhdCBuZXcKZHJpdmVyJ3Mgc2hvdWxkIG5vdCBkaXJlY3Rs eSB1c2UgdGhpcyBsb2NrLgoKU2lnbmVkLW9mZi1ieTogTnVubyBTw6EgPG51bm8uc2FAYW5hbG9n LmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5keS5zaGV2Y2hlbmtvQGdtYWls LmNvbT4KLS0tCiBkcml2ZXJzL2lpby9UT0RPICAgICAgICAgICAgICAgICAgIHwgIDMgLS0tCiBk cml2ZXJzL2lpby9pbmR1c3RyaWFsaW8tYnVmZmVyLmMgIHwgMjkgKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0KIGRyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1jb3JlLmMgICAgfCAyNiArKysr KysrKysrKysrKystLS0tLS0tLS0tLQogZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWV2ZW50LmMg ICB8ICA0ICsrLS0KIGRyaXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMgfCAxMiArKysr KystLS0tLS0KIGluY2x1ZGUvbGludXgvaWlvL2lpby1vcGFxdWUuaCAgICAgfCAgMiArKwogaW5j bHVkZS9saW51eC9paW8vaWlvLmggICAgICAgICAgICB8ICAzIC0tLQogNyBmaWxlcyBjaGFuZ2Vk LCA0MiBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2lpby9UT0RPIGIvZHJpdmVycy9paW8vVE9ETwppbmRleCA3ZDczMjZiNzA4NWEuLjJhY2UyN2Qx YWM2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9paW8vVE9ETworKysgYi9kcml2ZXJzL2lpby9UT0RP CkBAIC03LDkgKzcsNiBAQCB0cmVlCiAgIC0gQUJJIERvY3VtZW50YXRpb24KICAgLSBBdWRpdCBk cml2aWVycy9paW8vc3RhZ2luZy9Eb2N1bWVudGF0aW9uCiAKLS0gUmVwbGFjZSBpaW9fZGV2LT5t bG9jayBieSBlaXRoZXIgYSBsb2NhbCBsb2NrIG9yIHVzZQotaWlvX2NsYWltX2RpcmVjdC4oUmVx dWlyZXMgYW5hbHlzaXMgb2YgdGhlIHB1cnBvc2Ugb2YgdGhlIGxvY2suKQotCiAtIENvbnZlcnRp bmcgZHJpdmVycyBmcm9tIGRldmljZSB0cmVlIGNlbnRyaWMgdG8gbW9yZSBnZW5lcmljCiBwcm9w ZXJ0eSBoYW5kbGVycy4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1 ZmZlci5jIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1ZmZlci5jCmluZGV4IDIyODU5OGI4 MmEyZi4uOWNkN2RiNTQ5ZmNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lpby9pbmR1c3RyaWFsaW8t YnVmZmVyLmMKKysrIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1ZmZlci5jCkBAIC01MDcs MTMgKzUwNywxNCBAQCBzdGF0aWMgc3NpemVfdCBpaW9fc2Nhbl9lbF9zdG9yZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCiAJaW50IHJldDsKIAlib29sIHN0YXRlOwogCXN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBkZXZfdG9faWlvX2RldihkZXYpOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwogCXN0cnVjdCBpaW9f ZGV2X2F0dHIgKnRoaXNfYXR0ciA9IHRvX2lpb19kZXZfYXR0cihhdHRyKTsKIAlzdHJ1Y3QgaWlv X2J1ZmZlciAqYnVmZmVyID0gdGhpc19hdHRyLT5idWZmZXI7CiAKIAlyZXQgPSBrc3RydG9ib29s KGJ1ZiwgJnN0YXRlKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKLQltdXRleF9sb2Nr KCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2sp OwogCWlmIChpaW9fYnVmZmVyX2lzX2FjdGl2ZShidWZmZXIpKSB7CiAJCXJldCA9IC1FQlVTWTsK IAkJZ290byBlcnJvcl9yZXQ7CkBAIC01MzIsNyArNTMzLDcgQEAgc3RhdGljIHNzaXplX3QgaWlv X3NjYW5fZWxfc3RvcmUoc3RydWN0IGRldmljZSAqZGV2LAogCX0KIAogZXJyb3JfcmV0OgotCW11 dGV4X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29w YXF1ZS0+bWxvY2spOwogCiAJcmV0dXJuIHJldCA8IDAgPyByZXQgOiBsZW47CiAKQEAgLTU1NCw2 ICs1NTUsNyBAQCBzdGF0aWMgc3NpemVfdCBpaW9fc2Nhbl9lbF90c19zdG9yZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCiB7CiAJaW50IHJldDsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gZGV2 X3RvX2lpb19kZXYoZGV2KTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVl ID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1ZmZlciAqYnVm ZmVyID0gdG9faWlvX2Rldl9hdHRyKGF0dHIpLT5idWZmZXI7CiAJYm9vbCBzdGF0ZTsKIApAQCAt NTYxLDE0ICs1NjMsMTQgQEAgc3RhdGljIHNzaXplX3QgaWlvX3NjYW5fZWxfdHNfc3RvcmUoc3Ry dWN0IGRldmljZSAqZGV2LAogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCi0JbXV0ZXhf bG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfbG9jaygmaWlvX2Rldl9vcGFxdWUtPm1s b2NrKTsKIAlpZiAoaWlvX2J1ZmZlcl9pc19hY3RpdmUoYnVmZmVyKSkgewogCQlyZXQgPSAtRUJV U1k7CiAJCWdvdG8gZXJyb3JfcmV0OwogCX0KIAlidWZmZXItPnNjYW5fdGltZXN0YW1wID0gc3Rh dGU7CiBlcnJvcl9yZXQ6Ci0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRl eF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDog bGVuOwogfQpAQCAtNjQyLDYgKzY0NCw3IEBAIHN0YXRpYyBzc2l6ZV90IGxlbmd0aF9zdG9yZShz dHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAogCQkJICAg IGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKIHsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9f ZGV2ID0gZGV2X3RvX2lpb19kZXYoZGV2KTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19k ZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1 ZmZlciAqYnVmZmVyID0gdG9faWlvX2Rldl9hdHRyKGF0dHIpLT5idWZmZXI7CiAJdW5zaWduZWQg aW50IHZhbDsKIAlpbnQgcmV0OwpAQCAtNjUzLDcgKzY1Niw3IEBAIHN0YXRpYyBzc2l6ZV90IGxl bmd0aF9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICph dHRyLAogCWlmICh2YWwgPT0gYnVmZmVyLT5sZW5ndGgpCiAJCXJldHVybiBsZW47CiAKLQltdXRl eF9sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+ bWxvY2spOwogCWlmIChpaW9fYnVmZmVyX2lzX2FjdGl2ZShidWZmZXIpKSB7CiAJCXJldCA9IC1F QlVTWTsKIAl9IGVsc2UgewpAQCAtNjY1LDcgKzY2OCw3IEBAIHN0YXRpYyBzc2l6ZV90IGxlbmd0 aF9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRy LAogCWlmIChidWZmZXItPmxlbmd0aCAmJiBidWZmZXItPmxlbmd0aCA8IGJ1ZmZlci0+d2F0ZXJt YXJrKQogCQlidWZmZXItPndhdGVybWFyayA9IGJ1ZmZlci0+bGVuZ3RoOwogb3V0OgotCW11dGV4 X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1 ZS0+bWxvY2spOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGxlbjsKIH0KQEAgLTEyNTYsNyArMTI1 OSw3IEBAIGludCBpaW9fdXBkYXRlX2J1ZmZlcnMoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiwK IAkJcmV0dXJuIC1FSU5WQUw7CiAKIAltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+aW5mb19l eGlzdF9sb2NrKTsKLQltdXRleF9sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2Nr KCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJaWYgKGluc2VydF9idWZmZXIgJiYgaWlvX2J1 ZmZlcl9pc19hY3RpdmUoaW5zZXJ0X2J1ZmZlcikpCiAJCWluc2VydF9idWZmZXIgPSBOVUxMOwpA QCAtMTI3Nyw3ICsxMjgwLDcgQEAgaW50IGlpb191cGRhdGVfYnVmZmVycyhzdHJ1Y3QgaWlvX2Rl diAqaW5kaW9fZGV2LAogCXJldCA9IF9faWlvX3VwZGF0ZV9idWZmZXJzKGluZGlvX2RldiwgaW5z ZXJ0X2J1ZmZlciwgcmVtb3ZlX2J1ZmZlcik7CiAKIG91dF91bmxvY2s6Ci0JbXV0ZXhfdW5sb2Nr KCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9j ayk7CiAJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+aW5mb19leGlzdF9sb2NrKTsKIAog CXJldHVybiByZXQ7CkBAIC0xMjk2LDYgKzEyOTksNyBAQCBzdGF0aWMgc3NpemVfdCBlbmFibGVf c3RvcmUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwK IAlpbnQgcmV0OwogCWJvb2wgcmVxdWVzdGVkX3N0YXRlOwogCXN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBkZXZfdG9faWlvX2RldihkZXYpOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwogCXN0cnVjdCBpaW9f YnVmZmVyICpidWZmZXIgPSB0b19paW9fZGV2X2F0dHIoYXR0ciktPmJ1ZmZlcjsKIAlib29sIGlu bGlzdDsKIApAQCAtMTMwMyw3ICsxMzA3LDcgQEAgc3RhdGljIHNzaXplX3QgZW5hYmxlX3N0b3Jl KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJaWYg KHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKLQltdXRleF9sb2NrKCZpbmRpb19kZXYtPm1sb2Nr KTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJLyogRmluZCBvdXQg aWYgaXQgaXMgaW4gdGhlIGxpc3QgKi8KIAlpbmxpc3QgPSBpaW9fYnVmZmVyX2lzX2FjdGl2ZShi dWZmZXIpOwpAQCAtMTMxNyw3ICsxMzIxLDcgQEAgc3RhdGljIHNzaXplX3QgZW5hYmxlX3N0b3Jl KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJCXJl dCA9IF9faWlvX3VwZGF0ZV9idWZmZXJzKGluZGlvX2RldiwgTlVMTCwgYnVmZmVyKTsKIAogZG9u ZToKLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11dGV4X3VubG9jaygmaWlv X2Rldl9vcGFxdWUtPm1sb2NrKTsKIAlyZXR1cm4gKHJldCA8IDApID8gcmV0IDogbGVuOwogfQog CkBAIC0xMzM0LDYgKzEzMzgsNyBAQCBzdGF0aWMgc3NpemVfdCB3YXRlcm1hcmtfc3RvcmUoc3Ry dWN0IGRldmljZSAqZGV2LAogCQkJICAgICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikK IHsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gZGV2X3RvX2lpb19kZXYoZGV2KTsKKwlz dHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUo aW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1ZmZlciAqYnVmZmVyID0gdG9faWlvX2Rldl9hdHRy KGF0dHIpLT5idWZmZXI7CiAJdW5zaWduZWQgaW50IHZhbDsKIAlpbnQgcmV0OwpAQCAtMTM0NCw3 ICsxMzQ5LDcgQEAgc3RhdGljIHNzaXplX3Qgd2F0ZXJtYXJrX3N0b3JlKHN0cnVjdCBkZXZpY2Ug KmRldiwKIAlpZiAoIXZhbCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQltdXRleF9sb2NrKCZpbmRp b19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJ aWYgKHZhbCA+IGJ1ZmZlci0+bGVuZ3RoKSB7CiAJCXJldCA9IC1FSU5WQUw7CkBAIC0xMzU4LDcg KzEzNjMsNyBAQCBzdGF0aWMgc3NpemVfdCB3YXRlcm1hcmtfc3RvcmUoc3RydWN0IGRldmljZSAq ZGV2LAogCiAJYnVmZmVyLT53YXRlcm1hcmsgPSB2YWw7CiBvdXQ6Ci0JbXV0ZXhfdW5sb2NrKCZp bmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7 CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDogbGVuOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8v aW5kdXN0cmlhbGlvLWNvcmUuYyBiL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1jb3JlLmMKaW5k ZXggY2Y4MGY4MWU0NjY1Li41MDQ5NDA0ZDExNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWlvL2lu ZHVzdHJpYWxpby1jb3JlLmMKKysrIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWNvcmUuYwpA QCAtMjg1LDE2ICsyODUsMTYgQEAgaW50IGlpb19kZXZpY2Vfc2V0X2Nsb2NrKHN0cnVjdCBpaW9f ZGV2ICppbmRpb19kZXYsIGNsb2NraWRfdCBjbG9ja19pZCkKIAlzdHJ1Y3QgaWlvX2Rldl9vcGFx dWUgKmlpb19kZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAljb25z dCBzdHJ1Y3QgaWlvX2V2ZW50X2ludGVyZmFjZSAqZXZfaW50ID0gaWlvX2Rldl9vcGFxdWUtPmV2 ZW50X2ludGVyZmFjZTsKIAotCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmaW5kaW9f ZGV2LT5tbG9jayk7CisJcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZpaW9fZGV2X29w YXF1ZS0+bWxvY2spOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAJaWYgKChldl9pbnQgJiYg aWlvX2V2ZW50X2VuYWJsZWQoZXZfaW50KSkgfHwKIAkgICAgaWlvX2J1ZmZlcl9lbmFibGVkKGlu ZGlvX2RldikpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwkJbXV0ZXhf dW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlp aW9fZGV2X29wYXF1ZS0+Y2xvY2tfaWQgPSBjbG9ja19pZDsKLQltdXRleF91bmxvY2soJmluZGlv X2Rldi0+bWxvY2spOworCW11dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAog CXJldHVybiAwOwogfQpAQCAtMTY3NCw3ICsxNjc0LDcgQEAgc3RydWN0IGlpb19kZXYgKmlpb19k ZXZpY2VfYWxsb2Moc3RydWN0IGRldmljZSAqcGFyZW50LCBpbnQgc2l6ZW9mX3ByaXYpCiAJaW5k aW9fZGV2LT5kZXYudHlwZSA9ICZpaW9fZGV2aWNlX3R5cGU7CiAJaW5kaW9fZGV2LT5kZXYuYnVz ID0gJmlpb19idXNfdHlwZTsKIAlkZXZpY2VfaW5pdGlhbGl6ZSgmaW5kaW9fZGV2LT5kZXYpOwot CW11dGV4X2luaXQoJmluZGlvX2Rldi0+bWxvY2spOworCW11dGV4X2luaXQoJmlpb19kZXZfb3Bh cXVlLT5tbG9jayk7CiAJbXV0ZXhfaW5pdCgmaWlvX2Rldl9vcGFxdWUtPmluZm9fZXhpc3RfbG9j ayk7CiAJSU5JVF9MSVNUX0hFQUQoJmlpb19kZXZfb3BhcXVlLT5jaGFubmVsX2F0dHJfbGlzdCk7 CiAKQEAgLTE2OTYsNyArMTY5Niw3IEBAIHN0cnVjdCBpaW9fZGV2ICppaW9fZGV2aWNlX2FsbG9j KHN0cnVjdCBkZXZpY2UgKnBhcmVudCwgaW50IHNpemVvZl9wcml2KQogCUlOSVRfTElTVF9IRUFE KCZpaW9fZGV2X29wYXF1ZS0+aW9jdGxfaGFuZGxlcnMpOwogCiAJbG9ja2RlcF9yZWdpc3Rlcl9r ZXkoJmlpb19kZXZfb3BhcXVlLT5tbG9ja19rZXkpOwotCWxvY2tkZXBfc2V0X2NsYXNzKCZpbmRp b19kZXYtPm1sb2NrLCAmaWlvX2Rldl9vcGFxdWUtPm1sb2NrX2tleSk7CisJbG9ja2RlcF9zZXRf Y2xhc3MoJmlpb19kZXZfb3BhcXVlLT5tbG9jaywgJmlpb19kZXZfb3BhcXVlLT5tbG9ja19rZXkp OwogCiAJcmV0dXJuIGluZGlvX2RldjsKIH0KQEAgLTIwNTgsMTAgKzIwNTgsMTIgQEAgRVhQT1JU X1NZTUJPTF9HUEwoX19kZXZtX2lpb19kZXZpY2VfcmVnaXN0ZXIpOwogICovCiBpbnQgaWlvX2Rl dmljZV9jbGFpbV9kaXJlY3RfbW9kZShzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2KQogewotCW11 dGV4X2xvY2soJmluZGlvX2Rldi0+bWxvY2spOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOworCisJbXV0ZXhfbG9j aygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAogCWlmIChpaW9fYnVmZmVyX2VuYWJsZWQoaW5k aW9fZGV2KSkgewotCQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCQltdXRleF91 bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCXJl dHVybiAwOwpAQCAtMjA3OSw3ICsyMDgxLDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlvX2Rldmlj ZV9jbGFpbV9kaXJlY3RfbW9kZSk7CiAgKi8KIHZvaWQgaWlvX2RldmljZV9yZWxlYXNlX2RpcmVj dF9tb2RlKHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYpCiB7Ci0JbXV0ZXhfdW5sb2NrKCZpbmRp b19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJnRvX2lpb19kZXZfb3BhcXVlKGluZGlvX2Rl diktPm1sb2NrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfcmVsZWFzZV9kaXJl Y3RfbW9kZSk7CiAKQEAgLTIwOTYsMTIgKzIwOTgsMTQgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlv X2RldmljZV9yZWxlYXNlX2RpcmVjdF9tb2RlKTsKICAqLwogaW50IGlpb19kZXZpY2VfY2xhaW1f YnVmZmVyX21vZGUoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldikKIHsKLQltdXRleF9sb2NrKCZp bmRpb19kZXYtPm1sb2NrKTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVl ID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKKworCW11dGV4X2xvY2soJmlpb19kZXZf b3BhcXVlLT5tbG9jayk7CiAKIAlpZiAoaWlvX2J1ZmZlcl9lbmFibGVkKGluZGlvX2RldikpCiAJ CXJldHVybiAwOwogCi0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91 bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJcmV0dXJuIC1FQlVTWTsKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfY2xhaW1fYnVmZmVyX21vZGUpOwpAQCAtMjExNyw3ICsy MTIxLDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlvX2RldmljZV9jbGFpbV9idWZmZXJfbW9kZSk7 CiAgKi8KIHZvaWQgaWlvX2RldmljZV9yZWxlYXNlX2J1ZmZlcl9tb2RlKHN0cnVjdCBpaW9fZGV2 ICppbmRpb19kZXYpCiB7Ci0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRl eF91bmxvY2soJnRvX2lpb19kZXZfb3BhcXVlKGluZGlvX2RldiktPm1sb2NrKTsKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfcmVsZWFzZV9idWZmZXJfbW9kZSk7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1ldmVudC5jIGIvZHJpdmVycy9paW8vaW5kdXN0 cmlhbGlvLWV2ZW50LmMKaW5kZXggM2Q3OGRhMjUzMWE5Li4xYTI2MzkzYTdjMGMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1ldmVudC5jCisrKyBiL2RyaXZlcnMvaWlvL2lu ZHVzdHJpYWxpby1ldmVudC5jCkBAIC0xOTgsNyArMTk4LDcgQEAgc3RhdGljIGludCBpaW9fZXZl bnRfZ2V0ZmQoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldikKIAlpZiAoZXZfaW50ID09IE5VTEwp CiAJCXJldHVybiAtRU5PREVWOwogCi0JZmQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmlu ZGlvX2Rldi0+bWxvY2spOworCWZkID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZpaW9fZGV2 X29wYXF1ZS0+bWxvY2spOwogCWlmIChmZCkKIAkJcmV0dXJuIGZkOwogCkBAIC0yMTksNyArMjE5 LDcgQEAgc3RhdGljIGludCBpaW9fZXZlbnRfZ2V0ZmQoc3RydWN0IGlpb19kZXYgKmluZGlvX2Rl dikKIAl9CiAKIHVubG9jazoKLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11 dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAlyZXR1cm4gZmQ7CiB9CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMgYi9kcml2ZXJzL2lp by9pbmR1c3RyaWFsaW8tdHJpZ2dlci5jCmluZGV4IDY4ODVhMTg2ZmUyNy4uYTJmM2NjMmY2NWVm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lpby9pbmR1c3RyaWFsaW8tdHJpZ2dlci5jCisrKyBiL2Ry aXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMKQEAgLTEyMCwxMiArMTIwLDEyIEBAIGlu dCBpaW9fdHJpZ2dlcl9zZXRfaW1tdXRhYmxlKHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYsIHN0 cnVjdCBpaW9fdHJpZ2dlciAqdHJpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWlvX2Rldl9vcGFx dWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwotCW11dGV4X2xvY2soJmluZGlvX2Rl di0+bWxvY2spOworCW11dGV4X2xvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJV0FSTl9P TihpaW9fZGV2X29wYXF1ZS0+dHJpZ19yZWFkb25seSk7CiAKIAlpbmRpb19kZXYtPnRyaWcgPSBp aW9fdHJpZ2dlcl9nZXQodHJpZyk7CiAJaWlvX2Rldl9vcGFxdWUtPnRyaWdfcmVhZG9ubHkgPSB0 cnVlOwotCW11dGV4X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZp aW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJcmV0dXJuIDA7CiB9CkBAIC00MzgsMTYgKzQzOCwx NiBAQCBzdGF0aWMgc3NpemVfdCBjdXJyZW50X3RyaWdnZXJfc3RvcmUoc3RydWN0IGRldmljZSAq ZGV2LAogCXN0cnVjdCBpaW9fdHJpZ2dlciAqdHJpZzsKIAlpbnQgcmV0OwogCi0JbXV0ZXhfbG9j aygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfbG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2Nr KTsKIAlpZiAoaWlvX2Rldl9vcGFxdWUtPmN1cnJlbnRtb2RlID09IElORElPX0JVRkZFUl9UUklH R0VSRUQpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwkJbXV0ZXhfdW5s b2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlpZiAo aWlvX2Rldl9vcGFxdWUtPnRyaWdfcmVhZG9ubHkpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19k ZXYtPm1sb2NrKTsKKwkJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQly ZXR1cm4gLUVQRVJNOwogCX0KLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11 dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAogCXRyaWcgPSBpaW9fdHJpZ2dl cl9hY3F1aXJlX2J5X25hbWUoYnVmKTsKIAlpZiAob2xkdHJpZyA9PSB0cmlnKSB7CmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L2lpby9paW8tb3BhcXVlLmggYi9pbmNsdWRlL2xpbnV4L2lpby9p aW8tb3BhcXVlLmgKaW5kZXggZDFmOGIzMGE3YzhiLi41YWVjMzk0NTU1NWIgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvbGludXgvaWlvL2lpby1vcGFxdWUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lpby9p aW8tb3BhcXVlLmgKQEAgLTExLDYgKzExLDcgQEAKICAqCQkJCWNoZWNrZWQgYnkgZGV2aWNlIGRy aXZlcnMgYnV0IHNob3VsZCBiZSBjb25zaWRlcmVkCiAgKgkJCQlyZWFkLW9ubHkgYXMgdGhpcyBp cyBhIGNvcmUgaW50ZXJuYWwgYml0CiAgKiBAZHJpdmVyX21vZHVsZToJCXVzZWQgdG8gbWFrZSBp dCBoYXJkZXIgdG8gdW5kZXJjdXQgdXNlcnMKKyAqIEBtbG9jazoJCQlsb2NrIHVzZWQgdG8gcHJl dmVudCBzaW11bHRhbmVvdXMgZGV2aWNlIHN0YXRlIGNoYW5nZXMKICAqIEBtbG9ja19rZXk6CQkJ bG9ja2RlcCBjbGFzcyBmb3IgaWlvX2RldiBsb2NrCiAgKiBAaW5mb19leGlzdF9sb2NrOgkJbG9j ayB0byBwcmV2ZW50IHVzZSBkdXJpbmcgcmVtb3ZhbAogICogQHRyaWdfcmVhZG9ubHk6CQltYXJr IHRoZSBjdXJyZW50IHRyaWdnZXIgaW1tdXRhYmxlCkBAIC00Myw2ICs0NCw3IEBAIHN0cnVjdCBp aW9fZGV2X29wYXF1ZSB7CiAJaW50CQkJCWN1cnJlbnRtb2RlOwogCWludAkJCQlpZDsKIAlzdHJ1 Y3QgbW9kdWxlCQkJKmRyaXZlcl9tb2R1bGU7CisJc3RydWN0IG11dGV4CQkJbWxvY2s7CiAJc3Ry dWN0IGxvY2tfY2xhc3Nfa2V5CQltbG9ja19rZXk7CiAJc3RydWN0IG11dGV4CQkJaW5mb19leGlz dF9sb2NrOwogCWJvb2wJCQkJdHJpZ19yZWFkb25seTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvaWlvL2lpby5oIGIvaW5jbHVkZS9saW51eC9paW8vaWlvLmgKaW5kZXggOWQzYmQ2Mzc5ZWI4 Li44ZTBhZmFhYTNmNzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaWlvL2lpby5oCisrKyBi L2luY2x1ZGUvbGludXgvaWlvL2lpby5oCkBAIC01NDgsOCArNTQ4LDYgQEAgc3RydWN0IGlpb19i dWZmZXJfc2V0dXBfb3BzIHsKICAqCQkJYW5kIG93bmVyCiAgKiBAYnVmZmVyOgkJW0RSSVZFUl0g YW55IGJ1ZmZlciBwcmVzZW50CiAgKiBAc2Nhbl9ieXRlczoJCVtJTlRFUk5dIG51bSBieXRlcyBj YXB0dXJlZCB0byBiZSBmZWQgdG8gYnVmZmVyIGRlbXV4Ci0gKiBAbWxvY2s6CQlbSU5URVJOXSBs b2NrIHVzZWQgdG8gcHJldmVudCBzaW11bHRhbmVvdXMgZGV2aWNlIHN0YXRlCi0gKgkJCWNoYW5n ZXMKICAqIEBhdmFpbGFibGVfc2Nhbl9tYXNrczogW0RSSVZFUl0gb3B0aW9uYWwgYXJyYXkgb2Yg YWxsb3dlZCBiaXRtYXNrcwogICogQG1hc2tsZW5ndGg6CQlbSU5URVJOXSB0aGUgbGVuZ3RoIG9m IHRoZSBtYXNrIGVzdGFibGlzaGVkIGZyb20KICAqCQkJY2hhbm5lbHMKQEAgLTU3NCw3ICs1NzIs NiBAQCBzdHJ1Y3QgaWlvX2RldiB7CiAKIAlzdHJ1Y3QgaWlvX2J1ZmZlcgkJKmJ1ZmZlcjsKIAlp bnQJCQkJc2Nhbl9ieXRlczsKLQlzdHJ1Y3QgbXV0ZXgJCQltbG9jazsKIAogCWNvbnN0IHVuc2ln bmVkIGxvbmcJCSphdmFpbGFibGVfc2Nhbl9tYXNrczsKIAl1bnNpZ25lZAkJCW1hc2tsZW5ndGg7 Ci0tIAoyLjM4LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LXJvY2tjaGlwCg== 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 2C3A5C433FE for ; Wed, 12 Oct 2022 15:18:53 +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=LnjtRqRXJHs9QI94Qhz4qRVYd4pPNWlaKoNmpuVNWow=; b=IFuFIEW0FWpP52 UQ7Awj8R/5apmoc+o7OaR99jNYWrxX58OFqVkYt7zMsRA3yakCTGwksYczqZa444dVLcgRbxysaGx Z3ZkNI23hKCu+74W6x46AcxYPw1KhrTmvY/bNyumO42uEmt+L+2dPKbP0fw9N6YXLVAy8W8fNJ/xF D3D6cNuYnJSaMVr6O/+XUWRAI0lH+yfcJFslOIWpXgM2vnwbD75AgFVmjX/r8d3d6nEbP7KVrwH5H OluXoedbEQGz1kRQJ4pCT5oLHkIfveCvnuCBdbwrbym1VhERhfpaJOcwRy4ywQQ+OCJz4FYpwHUmK s2vz7E59fokeWaiHsjXw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oidUD-008VKv-Sn; Wed, 12 Oct 2022 15:17:34 +0000 Received: from mx0a-00128a01.pphosted.com ([148.163.135.77]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oidSp-008UcG-HB; Wed, 12 Oct 2022 15:16:10 +0000 Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29CFD5wc010851; Wed, 12 Oct 2022 11:15:53 -0400 Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3k3325xu55-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 12 Oct 2022 11:15:53 -0400 Received: from ASHBMBX9.ad.analog.com (ASHBMBX9.ad.analog.com [10.64.17.10]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 29CFFqeX049245 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 12 Oct 2022 11:15:52 -0400 Received: from ASHBMBX8.ad.analog.com (10.64.17.5) by ASHBMBX9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Wed, 12 Oct 2022 11:15:51 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server id 15.2.986.14 via Frontend Transport; Wed, 12 Oct 2022 11:15:51 -0400 Received: from nsa.ad.analog.com ([10.44.3.62]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 29CFEunf022095; Wed, 12 Oct 2022 11:15:44 -0400 From: =?UTF-8?q?Nuno=20S=C3=A1?= To: , , , , CC: Chen-Yu Tsai , Andriy Tryshnivskyy , Ciprian Regus , Vladimir Zapolskiy , Cixi Geng , Neil Armstrong , Miquel Raynal , Sascha Hauer , Heiko Stuebner , =?UTF-8?q?Nuno=20S=C3=A1?= , Fabio Estevam , Jerome Brunet , Martin Blumenstingl , Pengutronix Kernel Team , Baolin Wang , Hans de Goede , Alexandru Ardelean , Michael Hennerich , Haibo Chen , Lars-Peter Clausen , Jyoti Bhayana , Jonathan Cameron , Andy Shevchenko , Florian Boor , Chunyan Zhang , Orson Zhai , Shawn Guo , Kevin Hilman Subject: [PATCH v3 4/4] iio: core: move 'mlock' to 'struct iio_dev_opaque' Date: Wed, 12 Oct 2022 17:16:20 +0200 Message-ID: <20221012151620.1725215-5-nuno.sa@analog.com> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20221012151620.1725215-1-nuno.sa@analog.com> References: <20221012151620.1725215-1-nuno.sa@analog.com> MIME-Version: 1.0 X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-GUID: Ps37maP0C7d-mEFnlhwmYDt06ck6M1j9 X-Proofpoint-ORIG-GUID: Ps37maP0C7d-mEFnlhwmYDt06ck6M1j9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-12_07,2022-10-12_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 suspectscore=0 mlxscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 mlxlogscore=999 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210120100 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221012_081607_639256_1A57E257 X-CRM114-Status: GOOD ( 21.09 ) 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 Tm93IHRoYXQgdGhlcmUgYXJlIG5vIG1vcmUgdXNlcnMgYWNjZXNzaW5nICdtbG9jaycgZGlyZWN0 bHksIHdlIGNhbiBtb3ZlCml0IHRvIHRoZSBpaW9fZGV2IHByaXZhdGUgc3RydWN0dXJlLiBIZW5j ZSwgaXQncyBub3cgZXhwbGljaXQgdGhhdCBuZXcKZHJpdmVyJ3Mgc2hvdWxkIG5vdCBkaXJlY3Rs eSB1c2UgdGhpcyBsb2NrLgoKU2lnbmVkLW9mZi1ieTogTnVubyBTw6EgPG51bm8uc2FAYW5hbG9n LmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5keS5zaGV2Y2hlbmtvQGdtYWls LmNvbT4KLS0tCiBkcml2ZXJzL2lpby9UT0RPICAgICAgICAgICAgICAgICAgIHwgIDMgLS0tCiBk cml2ZXJzL2lpby9pbmR1c3RyaWFsaW8tYnVmZmVyLmMgIHwgMjkgKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0KIGRyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1jb3JlLmMgICAgfCAyNiArKysr KysrKysrKysrKystLS0tLS0tLS0tLQogZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWV2ZW50LmMg ICB8ICA0ICsrLS0KIGRyaXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMgfCAxMiArKysr KystLS0tLS0KIGluY2x1ZGUvbGludXgvaWlvL2lpby1vcGFxdWUuaCAgICAgfCAgMiArKwogaW5j bHVkZS9saW51eC9paW8vaWlvLmggICAgICAgICAgICB8ICAzIC0tLQogNyBmaWxlcyBjaGFuZ2Vk LCA0MiBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2lpby9UT0RPIGIvZHJpdmVycy9paW8vVE9ETwppbmRleCA3ZDczMjZiNzA4NWEuLjJhY2UyN2Qx YWM2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9paW8vVE9ETworKysgYi9kcml2ZXJzL2lpby9UT0RP CkBAIC03LDkgKzcsNiBAQCB0cmVlCiAgIC0gQUJJIERvY3VtZW50YXRpb24KICAgLSBBdWRpdCBk cml2aWVycy9paW8vc3RhZ2luZy9Eb2N1bWVudGF0aW9uCiAKLS0gUmVwbGFjZSBpaW9fZGV2LT5t bG9jayBieSBlaXRoZXIgYSBsb2NhbCBsb2NrIG9yIHVzZQotaWlvX2NsYWltX2RpcmVjdC4oUmVx dWlyZXMgYW5hbHlzaXMgb2YgdGhlIHB1cnBvc2Ugb2YgdGhlIGxvY2suKQotCiAtIENvbnZlcnRp bmcgZHJpdmVycyBmcm9tIGRldmljZSB0cmVlIGNlbnRyaWMgdG8gbW9yZSBnZW5lcmljCiBwcm9w ZXJ0eSBoYW5kbGVycy4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1 ZmZlci5jIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1ZmZlci5jCmluZGV4IDIyODU5OGI4 MmEyZi4uOWNkN2RiNTQ5ZmNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lpby9pbmR1c3RyaWFsaW8t YnVmZmVyLmMKKysrIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWJ1ZmZlci5jCkBAIC01MDcs MTMgKzUwNywxNCBAQCBzdGF0aWMgc3NpemVfdCBpaW9fc2Nhbl9lbF9zdG9yZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCiAJaW50IHJldDsKIAlib29sIHN0YXRlOwogCXN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBkZXZfdG9faWlvX2RldihkZXYpOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwogCXN0cnVjdCBpaW9f ZGV2X2F0dHIgKnRoaXNfYXR0ciA9IHRvX2lpb19kZXZfYXR0cihhdHRyKTsKIAlzdHJ1Y3QgaWlv X2J1ZmZlciAqYnVmZmVyID0gdGhpc19hdHRyLT5idWZmZXI7CiAKIAlyZXQgPSBrc3RydG9ib29s KGJ1ZiwgJnN0YXRlKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKLQltdXRleF9sb2Nr KCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2sp OwogCWlmIChpaW9fYnVmZmVyX2lzX2FjdGl2ZShidWZmZXIpKSB7CiAJCXJldCA9IC1FQlVTWTsK IAkJZ290byBlcnJvcl9yZXQ7CkBAIC01MzIsNyArNTMzLDcgQEAgc3RhdGljIHNzaXplX3QgaWlv X3NjYW5fZWxfc3RvcmUoc3RydWN0IGRldmljZSAqZGV2LAogCX0KIAogZXJyb3JfcmV0OgotCW11 dGV4X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29w YXF1ZS0+bWxvY2spOwogCiAJcmV0dXJuIHJldCA8IDAgPyByZXQgOiBsZW47CiAKQEAgLTU1NCw2 ICs1NTUsNyBAQCBzdGF0aWMgc3NpemVfdCBpaW9fc2Nhbl9lbF90c19zdG9yZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCiB7CiAJaW50IHJldDsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gZGV2 X3RvX2lpb19kZXYoZGV2KTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVl ID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1ZmZlciAqYnVm ZmVyID0gdG9faWlvX2Rldl9hdHRyKGF0dHIpLT5idWZmZXI7CiAJYm9vbCBzdGF0ZTsKIApAQCAt NTYxLDE0ICs1NjMsMTQgQEAgc3RhdGljIHNzaXplX3QgaWlvX3NjYW5fZWxfdHNfc3RvcmUoc3Ry dWN0IGRldmljZSAqZGV2LAogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCi0JbXV0ZXhf bG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfbG9jaygmaWlvX2Rldl9vcGFxdWUtPm1s b2NrKTsKIAlpZiAoaWlvX2J1ZmZlcl9pc19hY3RpdmUoYnVmZmVyKSkgewogCQlyZXQgPSAtRUJV U1k7CiAJCWdvdG8gZXJyb3JfcmV0OwogCX0KIAlidWZmZXItPnNjYW5fdGltZXN0YW1wID0gc3Rh dGU7CiBlcnJvcl9yZXQ6Ci0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRl eF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDog bGVuOwogfQpAQCAtNjQyLDYgKzY0NCw3IEBAIHN0YXRpYyBzc2l6ZV90IGxlbmd0aF9zdG9yZShz dHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAogCQkJICAg IGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKIHsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9f ZGV2ID0gZGV2X3RvX2lpb19kZXYoZGV2KTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19k ZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1 ZmZlciAqYnVmZmVyID0gdG9faWlvX2Rldl9hdHRyKGF0dHIpLT5idWZmZXI7CiAJdW5zaWduZWQg aW50IHZhbDsKIAlpbnQgcmV0OwpAQCAtNjUzLDcgKzY1Niw3IEBAIHN0YXRpYyBzc2l6ZV90IGxl bmd0aF9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICph dHRyLAogCWlmICh2YWwgPT0gYnVmZmVyLT5sZW5ndGgpCiAJCXJldHVybiBsZW47CiAKLQltdXRl eF9sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+ bWxvY2spOwogCWlmIChpaW9fYnVmZmVyX2lzX2FjdGl2ZShidWZmZXIpKSB7CiAJCXJldCA9IC1F QlVTWTsKIAl9IGVsc2UgewpAQCAtNjY1LDcgKzY2OCw3IEBAIHN0YXRpYyBzc2l6ZV90IGxlbmd0 aF9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRy LAogCWlmIChidWZmZXItPmxlbmd0aCAmJiBidWZmZXItPmxlbmd0aCA8IGJ1ZmZlci0+d2F0ZXJt YXJrKQogCQlidWZmZXItPndhdGVybWFyayA9IGJ1ZmZlci0+bGVuZ3RoOwogb3V0OgotCW11dGV4 X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1 ZS0+bWxvY2spOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGxlbjsKIH0KQEAgLTEyNTYsNyArMTI1 OSw3IEBAIGludCBpaW9fdXBkYXRlX2J1ZmZlcnMoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiwK IAkJcmV0dXJuIC1FSU5WQUw7CiAKIAltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+aW5mb19l eGlzdF9sb2NrKTsKLQltdXRleF9sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2Nr KCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJaWYgKGluc2VydF9idWZmZXIgJiYgaWlvX2J1 ZmZlcl9pc19hY3RpdmUoaW5zZXJ0X2J1ZmZlcikpCiAJCWluc2VydF9idWZmZXIgPSBOVUxMOwpA QCAtMTI3Nyw3ICsxMjgwLDcgQEAgaW50IGlpb191cGRhdGVfYnVmZmVycyhzdHJ1Y3QgaWlvX2Rl diAqaW5kaW9fZGV2LAogCXJldCA9IF9faWlvX3VwZGF0ZV9idWZmZXJzKGluZGlvX2RldiwgaW5z ZXJ0X2J1ZmZlciwgcmVtb3ZlX2J1ZmZlcik7CiAKIG91dF91bmxvY2s6Ci0JbXV0ZXhfdW5sb2Nr KCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9j ayk7CiAJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+aW5mb19leGlzdF9sb2NrKTsKIAog CXJldHVybiByZXQ7CkBAIC0xMjk2LDYgKzEyOTksNyBAQCBzdGF0aWMgc3NpemVfdCBlbmFibGVf c3RvcmUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwK IAlpbnQgcmV0OwogCWJvb2wgcmVxdWVzdGVkX3N0YXRlOwogCXN0cnVjdCBpaW9fZGV2ICppbmRp b19kZXYgPSBkZXZfdG9faWlvX2RldihkZXYpOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwogCXN0cnVjdCBpaW9f YnVmZmVyICpidWZmZXIgPSB0b19paW9fZGV2X2F0dHIoYXR0ciktPmJ1ZmZlcjsKIAlib29sIGlu bGlzdDsKIApAQCAtMTMwMyw3ICsxMzA3LDcgQEAgc3RhdGljIHNzaXplX3QgZW5hYmxlX3N0b3Jl KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJaWYg KHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKLQltdXRleF9sb2NrKCZpbmRpb19kZXYtPm1sb2Nr KTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJLyogRmluZCBvdXQg aWYgaXQgaXMgaW4gdGhlIGxpc3QgKi8KIAlpbmxpc3QgPSBpaW9fYnVmZmVyX2lzX2FjdGl2ZShi dWZmZXIpOwpAQCAtMTMxNyw3ICsxMzIxLDcgQEAgc3RhdGljIHNzaXplX3QgZW5hYmxlX3N0b3Jl KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJCXJl dCA9IF9faWlvX3VwZGF0ZV9idWZmZXJzKGluZGlvX2RldiwgTlVMTCwgYnVmZmVyKTsKIAogZG9u ZToKLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11dGV4X3VubG9jaygmaWlv X2Rldl9vcGFxdWUtPm1sb2NrKTsKIAlyZXR1cm4gKHJldCA8IDApID8gcmV0IDogbGVuOwogfQog CkBAIC0xMzM0LDYgKzEzMzgsNyBAQCBzdGF0aWMgc3NpemVfdCB3YXRlcm1hcmtfc3RvcmUoc3Ry dWN0IGRldmljZSAqZGV2LAogCQkJICAgICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikK IHsKIAlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gZGV2X3RvX2lpb19kZXYoZGV2KTsKKwlz dHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUo aW5kaW9fZGV2KTsKIAlzdHJ1Y3QgaWlvX2J1ZmZlciAqYnVmZmVyID0gdG9faWlvX2Rldl9hdHRy KGF0dHIpLT5idWZmZXI7CiAJdW5zaWduZWQgaW50IHZhbDsKIAlpbnQgcmV0OwpAQCAtMTM0NCw3 ICsxMzQ5LDcgQEAgc3RhdGljIHNzaXplX3Qgd2F0ZXJtYXJrX3N0b3JlKHN0cnVjdCBkZXZpY2Ug KmRldiwKIAlpZiAoIXZhbCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQltdXRleF9sb2NrKCZpbmRp b19kZXYtPm1sb2NrKTsKKwltdXRleF9sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJ aWYgKHZhbCA+IGJ1ZmZlci0+bGVuZ3RoKSB7CiAJCXJldCA9IC1FSU5WQUw7CkBAIC0xMzU4LDcg KzEzNjMsNyBAQCBzdGF0aWMgc3NpemVfdCB3YXRlcm1hcmtfc3RvcmUoc3RydWN0IGRldmljZSAq ZGV2LAogCiAJYnVmZmVyLT53YXRlcm1hcmsgPSB2YWw7CiBvdXQ6Ci0JbXV0ZXhfdW5sb2NrKCZp bmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7 CiAKIAlyZXR1cm4gcmV0ID8gcmV0IDogbGVuOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8v aW5kdXN0cmlhbGlvLWNvcmUuYyBiL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1jb3JlLmMKaW5k ZXggY2Y4MGY4MWU0NjY1Li41MDQ5NDA0ZDExNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWlvL2lu ZHVzdHJpYWxpby1jb3JlLmMKKysrIGIvZHJpdmVycy9paW8vaW5kdXN0cmlhbGlvLWNvcmUuYwpA QCAtMjg1LDE2ICsyODUsMTYgQEAgaW50IGlpb19kZXZpY2Vfc2V0X2Nsb2NrKHN0cnVjdCBpaW9f ZGV2ICppbmRpb19kZXYsIGNsb2NraWRfdCBjbG9ja19pZCkKIAlzdHJ1Y3QgaWlvX2Rldl9vcGFx dWUgKmlpb19kZXZfb3BhcXVlID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKIAljb25z dCBzdHJ1Y3QgaWlvX2V2ZW50X2ludGVyZmFjZSAqZXZfaW50ID0gaWlvX2Rldl9vcGFxdWUtPmV2 ZW50X2ludGVyZmFjZTsKIAotCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmaW5kaW9f ZGV2LT5tbG9jayk7CisJcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZpaW9fZGV2X29w YXF1ZS0+bWxvY2spOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAJaWYgKChldl9pbnQgJiYg aWlvX2V2ZW50X2VuYWJsZWQoZXZfaW50KSkgfHwKIAkgICAgaWlvX2J1ZmZlcl9lbmFibGVkKGlu ZGlvX2RldikpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwkJbXV0ZXhf dW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlp aW9fZGV2X29wYXF1ZS0+Y2xvY2tfaWQgPSBjbG9ja19pZDsKLQltdXRleF91bmxvY2soJmluZGlv X2Rldi0+bWxvY2spOworCW11dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAog CXJldHVybiAwOwogfQpAQCAtMTY3NCw3ICsxNjc0LDcgQEAgc3RydWN0IGlpb19kZXYgKmlpb19k ZXZpY2VfYWxsb2Moc3RydWN0IGRldmljZSAqcGFyZW50LCBpbnQgc2l6ZW9mX3ByaXYpCiAJaW5k aW9fZGV2LT5kZXYudHlwZSA9ICZpaW9fZGV2aWNlX3R5cGU7CiAJaW5kaW9fZGV2LT5kZXYuYnVz ID0gJmlpb19idXNfdHlwZTsKIAlkZXZpY2VfaW5pdGlhbGl6ZSgmaW5kaW9fZGV2LT5kZXYpOwot CW11dGV4X2luaXQoJmluZGlvX2Rldi0+bWxvY2spOworCW11dGV4X2luaXQoJmlpb19kZXZfb3Bh cXVlLT5tbG9jayk7CiAJbXV0ZXhfaW5pdCgmaWlvX2Rldl9vcGFxdWUtPmluZm9fZXhpc3RfbG9j ayk7CiAJSU5JVF9MSVNUX0hFQUQoJmlpb19kZXZfb3BhcXVlLT5jaGFubmVsX2F0dHJfbGlzdCk7 CiAKQEAgLTE2OTYsNyArMTY5Niw3IEBAIHN0cnVjdCBpaW9fZGV2ICppaW9fZGV2aWNlX2FsbG9j KHN0cnVjdCBkZXZpY2UgKnBhcmVudCwgaW50IHNpemVvZl9wcml2KQogCUlOSVRfTElTVF9IRUFE KCZpaW9fZGV2X29wYXF1ZS0+aW9jdGxfaGFuZGxlcnMpOwogCiAJbG9ja2RlcF9yZWdpc3Rlcl9r ZXkoJmlpb19kZXZfb3BhcXVlLT5tbG9ja19rZXkpOwotCWxvY2tkZXBfc2V0X2NsYXNzKCZpbmRp b19kZXYtPm1sb2NrLCAmaWlvX2Rldl9vcGFxdWUtPm1sb2NrX2tleSk7CisJbG9ja2RlcF9zZXRf Y2xhc3MoJmlpb19kZXZfb3BhcXVlLT5tbG9jaywgJmlpb19kZXZfb3BhcXVlLT5tbG9ja19rZXkp OwogCiAJcmV0dXJuIGluZGlvX2RldjsKIH0KQEAgLTIwNTgsMTAgKzIwNTgsMTIgQEAgRVhQT1JU X1NZTUJPTF9HUEwoX19kZXZtX2lpb19kZXZpY2VfcmVnaXN0ZXIpOwogICovCiBpbnQgaWlvX2Rl dmljZV9jbGFpbV9kaXJlY3RfbW9kZShzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2KQogewotCW11 dGV4X2xvY2soJmluZGlvX2Rldi0+bWxvY2spOworCXN0cnVjdCBpaW9fZGV2X29wYXF1ZSAqaWlv X2Rldl9vcGFxdWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOworCisJbXV0ZXhfbG9j aygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAogCWlmIChpaW9fYnVmZmVyX2VuYWJsZWQoaW5k aW9fZGV2KSkgewotCQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCQltdXRleF91 bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCXJl dHVybiAwOwpAQCAtMjA3OSw3ICsyMDgxLDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlvX2Rldmlj ZV9jbGFpbV9kaXJlY3RfbW9kZSk7CiAgKi8KIHZvaWQgaWlvX2RldmljZV9yZWxlYXNlX2RpcmVj dF9tb2RlKHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYpCiB7Ci0JbXV0ZXhfdW5sb2NrKCZpbmRp b19kZXYtPm1sb2NrKTsKKwltdXRleF91bmxvY2soJnRvX2lpb19kZXZfb3BhcXVlKGluZGlvX2Rl diktPm1sb2NrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfcmVsZWFzZV9kaXJl Y3RfbW9kZSk7CiAKQEAgLTIwOTYsMTIgKzIwOTgsMTQgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlv X2RldmljZV9yZWxlYXNlX2RpcmVjdF9tb2RlKTsKICAqLwogaW50IGlpb19kZXZpY2VfY2xhaW1f YnVmZmVyX21vZGUoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldikKIHsKLQltdXRleF9sb2NrKCZp bmRpb19kZXYtPm1sb2NrKTsKKwlzdHJ1Y3QgaWlvX2Rldl9vcGFxdWUgKmlpb19kZXZfb3BhcXVl ID0gdG9faWlvX2Rldl9vcGFxdWUoaW5kaW9fZGV2KTsKKworCW11dGV4X2xvY2soJmlpb19kZXZf b3BhcXVlLT5tbG9jayk7CiAKIAlpZiAoaWlvX2J1ZmZlcl9lbmFibGVkKGluZGlvX2RldikpCiAJ CXJldHVybiAwOwogCi0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRleF91 bmxvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJcmV0dXJuIC1FQlVTWTsKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfY2xhaW1fYnVmZmVyX21vZGUpOwpAQCAtMjExNyw3ICsy MTIxLDcgQEAgRVhQT1JUX1NZTUJPTF9HUEwoaWlvX2RldmljZV9jbGFpbV9idWZmZXJfbW9kZSk7 CiAgKi8KIHZvaWQgaWlvX2RldmljZV9yZWxlYXNlX2J1ZmZlcl9tb2RlKHN0cnVjdCBpaW9fZGV2 ICppbmRpb19kZXYpCiB7Ci0JbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwltdXRl eF91bmxvY2soJnRvX2lpb19kZXZfb3BhcXVlKGluZGlvX2RldiktPm1sb2NrKTsKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKGlpb19kZXZpY2VfcmVsZWFzZV9idWZmZXJfbW9kZSk7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1ldmVudC5jIGIvZHJpdmVycy9paW8vaW5kdXN0 cmlhbGlvLWV2ZW50LmMKaW5kZXggM2Q3OGRhMjUzMWE5Li4xYTI2MzkzYTdjMGMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1ldmVudC5jCisrKyBiL2RyaXZlcnMvaWlvL2lu ZHVzdHJpYWxpby1ldmVudC5jCkBAIC0xOTgsNyArMTk4LDcgQEAgc3RhdGljIGludCBpaW9fZXZl bnRfZ2V0ZmQoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldikKIAlpZiAoZXZfaW50ID09IE5VTEwp CiAJCXJldHVybiAtRU5PREVWOwogCi0JZmQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmlu ZGlvX2Rldi0+bWxvY2spOworCWZkID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZpaW9fZGV2 X29wYXF1ZS0+bWxvY2spOwogCWlmIChmZCkKIAkJcmV0dXJuIGZkOwogCkBAIC0yMTksNyArMjE5 LDcgQEAgc3RhdGljIGludCBpaW9fZXZlbnRfZ2V0ZmQoc3RydWN0IGlpb19kZXYgKmluZGlvX2Rl dikKIAl9CiAKIHVubG9jazoKLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11 dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAlyZXR1cm4gZmQ7CiB9CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMgYi9kcml2ZXJzL2lp by9pbmR1c3RyaWFsaW8tdHJpZ2dlci5jCmluZGV4IDY4ODVhMTg2ZmUyNy4uYTJmM2NjMmY2NWVm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lpby9pbmR1c3RyaWFsaW8tdHJpZ2dlci5jCisrKyBiL2Ry aXZlcnMvaWlvL2luZHVzdHJpYWxpby10cmlnZ2VyLmMKQEAgLTEyMCwxMiArMTIwLDEyIEBAIGlu dCBpaW9fdHJpZ2dlcl9zZXRfaW1tdXRhYmxlKHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYsIHN0 cnVjdCBpaW9fdHJpZ2dlciAqdHJpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWlvX2Rldl9vcGFx dWUgPSB0b19paW9fZGV2X29wYXF1ZShpbmRpb19kZXYpOwotCW11dGV4X2xvY2soJmluZGlvX2Rl di0+bWxvY2spOworCW11dGV4X2xvY2soJmlpb19kZXZfb3BhcXVlLT5tbG9jayk7CiAJV0FSTl9P TihpaW9fZGV2X29wYXF1ZS0+dHJpZ19yZWFkb25seSk7CiAKIAlpbmRpb19kZXYtPnRyaWcgPSBp aW9fdHJpZ2dlcl9nZXQodHJpZyk7CiAJaWlvX2Rldl9vcGFxdWUtPnRyaWdfcmVhZG9ubHkgPSB0 cnVlOwotCW11dGV4X3VubG9jaygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfdW5sb2NrKCZp aW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCiAJcmV0dXJuIDA7CiB9CkBAIC00MzgsMTYgKzQzOCwx NiBAQCBzdGF0aWMgc3NpemVfdCBjdXJyZW50X3RyaWdnZXJfc3RvcmUoc3RydWN0IGRldmljZSAq ZGV2LAogCXN0cnVjdCBpaW9fdHJpZ2dlciAqdHJpZzsKIAlpbnQgcmV0OwogCi0JbXV0ZXhfbG9j aygmaW5kaW9fZGV2LT5tbG9jayk7CisJbXV0ZXhfbG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2Nr KTsKIAlpZiAoaWlvX2Rldl9vcGFxdWUtPmN1cnJlbnRtb2RlID09IElORElPX0JVRkZFUl9UUklH R0VSRUQpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19kZXYtPm1sb2NrKTsKKwkJbXV0ZXhfdW5s b2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlpZiAo aWlvX2Rldl9vcGFxdWUtPnRyaWdfcmVhZG9ubHkpIHsKLQkJbXV0ZXhfdW5sb2NrKCZpbmRpb19k ZXYtPm1sb2NrKTsKKwkJbXV0ZXhfdW5sb2NrKCZpaW9fZGV2X29wYXF1ZS0+bWxvY2spOwogCQly ZXR1cm4gLUVQRVJNOwogCX0KLQltdXRleF91bmxvY2soJmluZGlvX2Rldi0+bWxvY2spOworCW11 dGV4X3VubG9jaygmaWlvX2Rldl9vcGFxdWUtPm1sb2NrKTsKIAogCXRyaWcgPSBpaW9fdHJpZ2dl cl9hY3F1aXJlX2J5X25hbWUoYnVmKTsKIAlpZiAob2xkdHJpZyA9PSB0cmlnKSB7CmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L2lpby9paW8tb3BhcXVlLmggYi9pbmNsdWRlL2xpbnV4L2lpby9p aW8tb3BhcXVlLmgKaW5kZXggZDFmOGIzMGE3YzhiLi41YWVjMzk0NTU1NWIgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvbGludXgvaWlvL2lpby1vcGFxdWUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lpby9p aW8tb3BhcXVlLmgKQEAgLTExLDYgKzExLDcgQEAKICAqCQkJCWNoZWNrZWQgYnkgZGV2aWNlIGRy aXZlcnMgYnV0IHNob3VsZCBiZSBjb25zaWRlcmVkCiAgKgkJCQlyZWFkLW9ubHkgYXMgdGhpcyBp cyBhIGNvcmUgaW50ZXJuYWwgYml0CiAgKiBAZHJpdmVyX21vZHVsZToJCXVzZWQgdG8gbWFrZSBp dCBoYXJkZXIgdG8gdW5kZXJjdXQgdXNlcnMKKyAqIEBtbG9jazoJCQlsb2NrIHVzZWQgdG8gcHJl dmVudCBzaW11bHRhbmVvdXMgZGV2aWNlIHN0YXRlIGNoYW5nZXMKICAqIEBtbG9ja19rZXk6CQkJ bG9ja2RlcCBjbGFzcyBmb3IgaWlvX2RldiBsb2NrCiAgKiBAaW5mb19leGlzdF9sb2NrOgkJbG9j ayB0byBwcmV2ZW50IHVzZSBkdXJpbmcgcmVtb3ZhbAogICogQHRyaWdfcmVhZG9ubHk6CQltYXJr IHRoZSBjdXJyZW50IHRyaWdnZXIgaW1tdXRhYmxlCkBAIC00Myw2ICs0NCw3IEBAIHN0cnVjdCBp aW9fZGV2X29wYXF1ZSB7CiAJaW50CQkJCWN1cnJlbnRtb2RlOwogCWludAkJCQlpZDsKIAlzdHJ1 Y3QgbW9kdWxlCQkJKmRyaXZlcl9tb2R1bGU7CisJc3RydWN0IG11dGV4CQkJbWxvY2s7CiAJc3Ry dWN0IGxvY2tfY2xhc3Nfa2V5CQltbG9ja19rZXk7CiAJc3RydWN0IG11dGV4CQkJaW5mb19leGlz dF9sb2NrOwogCWJvb2wJCQkJdHJpZ19yZWFkb25seTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvaWlvL2lpby5oIGIvaW5jbHVkZS9saW51eC9paW8vaWlvLmgKaW5kZXggOWQzYmQ2Mzc5ZWI4 Li44ZTBhZmFhYTNmNzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaWlvL2lpby5oCisrKyBi L2luY2x1ZGUvbGludXgvaWlvL2lpby5oCkBAIC01NDgsOCArNTQ4LDYgQEAgc3RydWN0IGlpb19i dWZmZXJfc2V0dXBfb3BzIHsKICAqCQkJYW5kIG93bmVyCiAgKiBAYnVmZmVyOgkJW0RSSVZFUl0g YW55IGJ1ZmZlciBwcmVzZW50CiAgKiBAc2Nhbl9ieXRlczoJCVtJTlRFUk5dIG51bSBieXRlcyBj YXB0dXJlZCB0byBiZSBmZWQgdG8gYnVmZmVyIGRlbXV4Ci0gKiBAbWxvY2s6CQlbSU5URVJOXSBs b2NrIHVzZWQgdG8gcHJldmVudCBzaW11bHRhbmVvdXMgZGV2aWNlIHN0YXRlCi0gKgkJCWNoYW5n ZXMKICAqIEBhdmFpbGFibGVfc2Nhbl9tYXNrczogW0RSSVZFUl0gb3B0aW9uYWwgYXJyYXkgb2Yg YWxsb3dlZCBiaXRtYXNrcwogICogQG1hc2tsZW5ndGg6CQlbSU5URVJOXSB0aGUgbGVuZ3RoIG9m IHRoZSBtYXNrIGVzdGFibGlzaGVkIGZyb20KICAqCQkJY2hhbm5lbHMKQEAgLTU3NCw3ICs1NzIs NiBAQCBzdHJ1Y3QgaWlvX2RldiB7CiAKIAlzdHJ1Y3QgaWlvX2J1ZmZlcgkJKmJ1ZmZlcjsKIAlp bnQJCQkJc2Nhbl9ieXRlczsKLQlzdHJ1Y3QgbXV0ZXgJCQltbG9jazsKIAogCWNvbnN0IHVuc2ln bmVkIGxvbmcJCSphdmFpbGFibGVfc2Nhbl9tYXNrczsKIAl1bnNpZ25lZAkJCW1hc2tsZW5ndGg7 Ci0tIAoyLjM4LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==