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 B32A9C10F16 for ; Tue, 30 Apr 2024 08:39:45 +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=u0/cJ/y7SZQTwnETsAMZHG/EQ5EKbZXHpl//bQwiFYg=; b=sE7+mFM9rvt6GX 5HB5WvT95zZiHjhhtUgPG8s85DhaCv7R9NvhSOiXyOA7sGc5RdHQAGSfdEuK9nkH15RY9OfNF3LXj kOld+i98adOh3FDtvlfcxezOk4m9uMOACJvc9AaunLp+vFHQnuo2sthrSDX0cnRC1nA2B0pWy1Exj E1SuUVUI2JpwVF0iwUd3m4ZTKXHSnzZ2R8U2Ma/pGYNPVev3yC3T0rkpybFKCGKpDSQr28A0TEOSQ FJwC+rnc1HY6efwLRsycxqXb+L/DUGb6m8D7HH2jjfEJ+IW/bWCLwI2OCiEOERJ3xLYwAhzLOa1WG h4244aLBU3zH+upDqjIw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1j1N-00000005dSt-0dyB; Tue, 30 Apr 2024 08:39:29 +0000 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1j16-00000005dHT-31DG for linux-arm-kernel@lists.infradead.org; Tue, 30 Apr 2024 08:39:15 +0000 Received: by mail.gandi.net (Postfix) with ESMTPA id AF2AA20005; Tue, 30 Apr 2024 08:39:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1714466350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TKlAO4KsYqpHiNkyQhj+YDisqgQI3Psuq2ZrhzBKVbE=; b=k8zW+xUF9Ig2N46QYNzzXAZWkk9CwpQGFVoL1lcxo7Ne2Tyt12nrZm4PxjG/LH00SmaMB/ NPpyw/hwPz60R0x13V+NbvA3m87UJYXm3oYZDpiWInwc1xVubDenz3jCXxFx5vKahNLwDd dulid62Pnia2byihDIgvvoUmmt6xXx8CoufsOP9pQHO/IJtJJYhBn11qWdqYHqB/N5NDVK ceBa8baD+QBXcS+ZOXnxIvY3iTSsk1egyBCEprHswV6oJsEBUG9+BKSkf8YnAvhM3wFdgG 3pvdYrxeGS5er10NdS6UNmQMHiMwPMhmkPNa6qdbGjxX4HivsFkGP6yKze3U2A== From: Herve Codina To: Herve Codina , Thomas Gleixner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Lee Jones , Arnd Bergmann , Horatiu Vultur , UNGLinuxDriver@microchip.com, Andrew Lunn , Heiner Kallweit , Russell King , Saravana Kannan , Bjorn Helgaas , Philipp Zabel , Lars Povlsen , Steen Hegelund , Daniel Machon , Alexandre Belloni Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, netdev@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Allan Nielsen , Steen Hegelund , Luca Ceresoli , Thomas Petazzoni , =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= Subject: [PATCH 01/17] mfd: syscon: Add reference counting and device managed support Date: Tue, 30 Apr 2024 10:37:10 +0200 Message-ID: <20240430083730.134918-2-herve.codina@bootlin.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430083730.134918-1-herve.codina@bootlin.com> References: <20240430083730.134918-1-herve.codina@bootlin.com> MIME-Version: 1.0 X-GND-Sasl: herve.codina@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240430_013913_256922_779BC3B2 X-CRM114-Status: GOOD ( 23.22 ) 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 RnJvbTogQ2zDqW1lbnQgTMOpZ2VyIDxjbGVtZW50LmxlZ2VyQGJvb3RsaW4uY29tPgoKU3lzY29u IHJlbGVhc2luZyBpcyBub3Qgc3VwcG9ydGVkLgpXaXRob3V0IHJlbGVhc2UgZnVuY3Rpb24sIHVu YmluZGluZyBhIGRyaXZlciB0aGF0IHVzZXMgc3lzY29uIHdoZXRoZXIKZXhwbGljaXRseSBvciBk dWUgdG8gYSBtb2R1bGUgcmVtb3ZhbCBsZWZ0IHRoZSB1c2VkIHN5c2NvbiBpbiBhIGluLXVzZQpz dGF0ZS4KCkZvciBpbnN0YW5jZSBhIHN5c2Nvbl9ub2RlX3RvX3JlZ21hcCgpIGNhbGwgZnJvbSBh IGNvbnN1bWVyIHJldHJpZXZlIGEKc3lzY29uIHJlZ21hcCBpbnN0YW5jZS4gSW50ZXJuYWxseSwg c3lzY29uX25vZGVfdG9fcmVnbWFwKCkgY2FuIGNyZWF0ZQpzeXNjb24gaW5zdGFuY2UgYW5kIGFk ZCBpdCB0byB0aGUgZXhpc3Rpbmcgc3lzY29uIGxpc3QuIE5vIEFQSSBpcwphdmFpbGFibGUgdG8g cmVsZWFzZSB0aGlzIHN5c2NvbiBpbnN0YW5jZSwgcmVtb3ZlIGl0IGZyb20gdGhlIGxpc3QgYW5k CmZyZWUgaXQgd2hlbiBpdCBpcyBub3QgdXNlZCBhbnltb3JlLgoKSW50cm9kdWNlIHJlZmVyZW5j ZSBjb3VudGluZyBpbiBzeXNjb24gaW4gb3JkZXIgdG8ga2VlcCB0cmFjayBvZiBzeXNjb24KdXNh Z2UgdXNpbmcgc3lzY29uX3tnZXQscHV0fSgpIGFuZCBhZGQgYSBkZXZpY2UgbWFuYWdlZCB2ZXJz aW9uIG9mCnN5c2Nvbl9yZWdtYXBfbG9va3VwX2J5X3BoYW5kbGUoKSwgdG8gYXV0b21hdGljYWxs eSByZWxlYXNlIHRoZSBzeXNjb24KaW5zdGFuY2Ugb24gdGhlIGNvbnN1bWVyIHJlbW92YWwuCgpT aWduZWQtb2ZmLWJ5OiBDbMOpbWVudCBMw6lnZXIgPGNsZW1lbnQubGVnZXJAYm9vdGxpbi5jb20+ ClNpZ25lZC1vZmYtYnk6IEhlcnZlIENvZGluYSA8aGVydmUuY29kaW5hQGJvb3RsaW4uY29tPgot LS0KIGRyaXZlcnMvbWZkL3N5c2Nvbi5jICAgICAgIHwgMTQ1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0KIGluY2x1ZGUvbGludXgvbWZkL3N5c2Nvbi5oIHwgIDE4ICsrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDE1NCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWZkL3N5c2Nvbi5jIGIvZHJpdmVycy9tZmQvc3lzY29uLmMKaW5k ZXggN2QwZTkxMTY0Y2JhLi44Njg5ODgzMWI4NDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWZkL3N5 c2Nvbi5jCisrKyBiL2RyaXZlcnMvbWZkL3N5c2Nvbi5jCkBAIC0zNCw2ICszNCw3IEBAIHN0cnVj dCBzeXNjb24gewogCXN0cnVjdCByZWdtYXAgKnJlZ21hcDsKIAlzdHJ1Y3QgcmVzZXRfY29udHJv bCAqcmVzZXQ7CiAJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCXN0cnVjdCBrcmVmIHJlZmNvdW50 OwogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHN5c2Nvbl9yZWdtYXBf Y29uZmlnID0gewpAQCAtMTQ3LDYgKzE0OCw4IEBAIHN0YXRpYyBzdHJ1Y3Qgc3lzY29uICpvZl9z eXNjb25fcmVnaXN0ZXIoc3RydWN0IGRldmljZV9ub2RlICpucCwgYm9vbCBjaGVja19yZXMpCiAK IAlzeXNjb24tPnJlZ21hcCA9IHJlZ21hcDsKIAlzeXNjb24tPm5wID0gbnA7CisJb2Zfbm9kZV9n ZXQoc3lzY29uLT5ucCk7CisJa3JlZl9pbml0KCZzeXNjb24tPnJlZmNvdW50KTsKIAogCXNwaW5f bG9jaygmc3lzY29uX2xpc3Rfc2xvY2spOwogCWxpc3RfYWRkX3RhaWwoJnN5c2Nvbi0+bGlzdCwg JnN5c2Nvbl9saXN0KTsKQEAgLTE2OCw3ICsxNzEsMzAgQEAgc3RhdGljIHN0cnVjdCBzeXNjb24g Km9mX3N5c2Nvbl9yZWdpc3RlcihzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLCBib29sIGNoZWNrX3Jl cykKIAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQogCi1zdGF0aWMgc3RydWN0IHJlZ21hcCAqZGV2 aWNlX25vZGVfZ2V0X3JlZ21hcChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAorc3RhdGljIHZvaWQg c3lzY29uX2ZyZWUoc3RydWN0IGtyZWYgKmtyZWYpCit7CisJc3RydWN0IHN5c2NvbiAqc3lzY29u ID0gY29udGFpbmVyX29mKGtyZWYsIHN0cnVjdCBzeXNjb24sIHJlZmNvdW50KTsKKworCXNwaW5f bG9jaygmc3lzY29uX2xpc3Rfc2xvY2spOworCWxpc3RfZGVsKCZzeXNjb24tPmxpc3QpOworCXNw aW5fdW5sb2NrKCZzeXNjb25fbGlzdF9zbG9jayk7CisKKwlyZWdtYXBfZXhpdChzeXNjb24tPnJl Z21hcCk7CisJb2Zfbm9kZV9wdXQoc3lzY29uLT5ucCk7CisJa2ZyZWUoc3lzY29uKTsKK30KKwor c3RhdGljIHZvaWQgc3lzY29uX2dldChzdHJ1Y3Qgc3lzY29uICpzeXNjb24pCit7CisJa3JlZl9n ZXQoJnN5c2Nvbi0+cmVmY291bnQpOworfQorCitzdGF0aWMgdm9pZCBzeXNjb25fcHV0KHN0cnVj dCBzeXNjb24gKnN5c2NvbikKK3sKKwlrcmVmX3B1dCgmc3lzY29uLT5yZWZjb3VudCwgc3lzY29u X2ZyZWUpOworfQorCitzdGF0aWMgc3RydWN0IHN5c2NvbiAqZGV2aWNlX25vZGVfZ2V0X3N5c2Nv bihzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAogCQkJCQkgICAgIGJvb2wgY2hlY2tfcmVzKQogewog CXN0cnVjdCBzeXNjb24gKmVudHJ5LCAqc3lzY29uID0gTlVMTDsKQEAgLTE4Myw5ICsyMDksMjMg QEAgc3RhdGljIHN0cnVjdCByZWdtYXAgKmRldmljZV9ub2RlX2dldF9yZWdtYXAoc3RydWN0IGRl dmljZV9ub2RlICpucCwKIAogCXNwaW5fdW5sb2NrKCZzeXNjb25fbGlzdF9zbG9jayk7CiAKLQlp ZiAoIXN5c2NvbikKKwlpZiAoIXN5c2NvbikgewogCQlzeXNjb24gPSBvZl9zeXNjb25fcmVnaXN0 ZXIobnAsIGNoZWNrX3Jlcyk7CisJCWlmIChJU19FUlIoc3lzY29uKSkKKwkJCXJldHVybiBFUlJf Q0FTVChzeXNjb24pOworCX0gZWxzZSB7CisJCXN5c2Nvbl9nZXQoc3lzY29uKTsKKwl9CisKKwly ZXR1cm4gc3lzY29uOworfQogCitzdGF0aWMgc3RydWN0IHJlZ21hcCAqZGV2aWNlX25vZGVfZ2V0 X3JlZ21hcChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAorCQkJCQkgICAgIGJvb2wgY2hlY2tfcmVz KQoreworCXN0cnVjdCBzeXNjb24gKnN5c2NvbjsKKworCXN5c2NvbiA9IGRldmljZV9ub2RlX2dl dF9zeXNjb24obnAsIGNoZWNrX3Jlcyk7CiAJaWYgKElTX0VSUihzeXNjb24pKQogCQlyZXR1cm4g RVJSX0NBU1Qoc3lzY29uKTsKIApAQCAtMTk4LDEyICsyMzgsMjMgQEAgc3RydWN0IHJlZ21hcCAq ZGV2aWNlX25vZGVfdG9fcmVnbWFwKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCiB9CiBFWFBPUlRf U1lNQk9MX0dQTChkZXZpY2Vfbm9kZV90b19yZWdtYXApOwogCi1zdHJ1Y3QgcmVnbWFwICpzeXNj b25fbm9kZV90b19yZWdtYXAoc3RydWN0IGRldmljZV9ub2RlICpucCkKK3N0YXRpYyBzdHJ1Y3Qg c3lzY29uICpzeXNjb25fbm9kZV90b19zeXNjb24oc3RydWN0IGRldmljZV9ub2RlICpucCkKIHsK IAlpZiAoIW9mX2RldmljZV9pc19jb21wYXRpYmxlKG5wLCAic3lzY29uIikpCiAJCXJldHVybiBF UlJfUFRSKC1FSU5WQUwpOwogCi0JcmV0dXJuIGRldmljZV9ub2RlX2dldF9yZWdtYXAobnAsIHRy dWUpOworCXJldHVybiBkZXZpY2Vfbm9kZV9nZXRfc3lzY29uKG5wLCB0cnVlKTsKK30KKworc3Ry dWN0IHJlZ21hcCAqc3lzY29uX25vZGVfdG9fcmVnbWFwKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAp Cit7CisJc3RydWN0IHN5c2NvbiAqc3lzY29uOworCisJc3lzY29uID0gc3lzY29uX25vZGVfdG9f c3lzY29uKG5wKTsKKwlpZiAoSVNfRVJSKHN5c2NvbikpCisJCXJldHVybiBFUlJfQ0FTVChzeXNj b24pOworCisJcmV0dXJuIHN5c2Nvbi0+cmVnbWFwOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoc3lz Y29uX25vZGVfdG9fcmVnbWFwKTsKIApAQCAtMjIzLDExICsyNzQsMTEgQEAgc3RydWN0IHJlZ21h cCAqc3lzY29uX3JlZ21hcF9sb29rdXBfYnlfY29tcGF0aWJsZShjb25zdCBjaGFyICpzKQogfQog RVhQT1JUX1NZTUJPTF9HUEwoc3lzY29uX3JlZ21hcF9sb29rdXBfYnlfY29tcGF0aWJsZSk7CiAK LXN0cnVjdCByZWdtYXAgKnN5c2Nvbl9yZWdtYXBfbG9va3VwX2J5X3BoYW5kbGUoc3RydWN0IGRl dmljZV9ub2RlICpucCwKLQkJCQkJY29uc3QgY2hhciAqcHJvcGVydHkpCitzdGF0aWMgc3RydWN0 IHN5c2NvbiAqc3lzY29uX2xvb2t1cF9ieV9waGFuZGxlKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAs CisJCQkJCSAgICAgICBjb25zdCBjaGFyICpwcm9wZXJ0eSkKIHsKIAlzdHJ1Y3QgZGV2aWNlX25v ZGUgKnN5c2Nvbl9ucDsKLQlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7CisJc3RydWN0IHN5c2NvbiAq c3lzY29uOwogCiAJaWYgKHByb3BlcnR5KQogCQlzeXNjb25fbnAgPSBvZl9wYXJzZV9waGFuZGxl KG5wLCBwcm9wZXJ0eSwgMCk7CkBAIC0yMzcsMTIgKzI4OCwyNCBAQCBzdHJ1Y3QgcmVnbWFwICpz eXNjb25fcmVnbWFwX2xvb2t1cF9ieV9waGFuZGxlKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCiAJ aWYgKCFzeXNjb25fbnApCiAJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwogCi0JcmVnbWFwID0g c3lzY29uX25vZGVfdG9fcmVnbWFwKHN5c2Nvbl9ucCk7CisJc3lzY29uID0gc3lzY29uX25vZGVf dG9fc3lzY29uKHN5c2Nvbl9ucCk7CiAKIAlpZiAocHJvcGVydHkpCiAJCW9mX25vZGVfcHV0KHN5 c2Nvbl9ucCk7CiAKLQlyZXR1cm4gcmVnbWFwOworCXJldHVybiBzeXNjb247Cit9CisKK3N0cnVj dCByZWdtYXAgKnN5c2Nvbl9yZWdtYXBfbG9va3VwX2J5X3BoYW5kbGUoc3RydWN0IGRldmljZV9u b2RlICpucCwKKwkJCQkJICAgICAgIGNvbnN0IGNoYXIgKnByb3BlcnR5KQoreworCXN0cnVjdCBz eXNjb24gKnN5c2NvbjsKKworCXN5c2NvbiA9IHN5c2Nvbl9sb29rdXBfYnlfcGhhbmRsZShucCwg cHJvcGVydHkpOworCWlmIChJU19FUlIoc3lzY29uKSkKKwkJcmV0dXJuIEVSUl9DQVNUKHN5c2Nv bik7CisKKwlyZXR1cm4gc3lzY29uLT5yZWdtYXA7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChzeXNj b25fcmVnbWFwX2xvb2t1cF9ieV9waGFuZGxlKTsKIApAQCAtMjkzLDYgKzM1Niw3MCBAQCBzdHJ1 Y3QgcmVnbWFwICpzeXNjb25fcmVnbWFwX2xvb2t1cF9ieV9waGFuZGxlX29wdGlvbmFsKHN0cnVj dCBkZXZpY2Vfbm9kZSAqbnAsCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChzeXNjb25fcmVnbWFwX2xv b2t1cF9ieV9waGFuZGxlX29wdGlvbmFsKTsKIAorc3RhdGljIHN0cnVjdCBzeXNjb24gKnN5c2Nv bl9mcm9tX3JlZ21hcChzdHJ1Y3QgcmVnbWFwICpyZWdtYXApCit7CisJc3RydWN0IHN5c2NvbiAq ZW50cnksICpzeXNjb24gPSBOVUxMOworCisJc3Bpbl9sb2NrKCZzeXNjb25fbGlzdF9zbG9jayk7 CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmc3lzY29uX2xpc3QsIGxpc3QpCisJCWlm IChlbnRyeS0+cmVnbWFwID09IHJlZ21hcCkgeworCQkJc3lzY29uID0gZW50cnk7CisJCQlicmVh azsKKwkJfQorCisJc3Bpbl91bmxvY2soJnN5c2Nvbl9saXN0X3Nsb2NrKTsKKworCXJldHVybiBz eXNjb247Cit9CisKK3ZvaWQgc3lzY29uX3B1dF9yZWdtYXAoc3RydWN0IHJlZ21hcCAqcmVnbWFw KQoreworCXN0cnVjdCBzeXNjb24gKnN5c2NvbjsKKworCXN5c2NvbiA9IHN5c2Nvbl9mcm9tX3Jl Z21hcChyZWdtYXApOworCWlmICghc3lzY29uKQorCQlyZXR1cm47CisKKwlzeXNjb25fcHV0KHN5 c2Nvbik7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzeXNjb25fcHV0X3JlZ21hcCk7CisKK3N0YXRp YyB2b2lkIGRldm1fc3lzY29uX3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpyZXMp Cit7CisJc3lzY29uX3B1dCgqKHN0cnVjdCBzeXNjb24gKiopcmVzKTsKK30KKworc3RhdGljIHN0 cnVjdCByZWdtYXAgKl9fZGV2bV9zeXNjb25fZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJ c3RydWN0IHN5c2NvbiAqc3lzY29uKQoreworCXN0cnVjdCBzeXNjb24gKipwdHI7CisKKwlpZiAo SVNfRVJSKHN5c2NvbikpCisJCXJldHVybiBFUlJfQ0FTVChzeXNjb24pOworCisJcHRyID0gZGV2 cmVzX2FsbG9jKGRldm1fc3lzY29uX3JlbGVhc2UsIHNpemVvZihzdHJ1Y3Qgc3lzY29uICopLCBH RlBfS0VSTkVMKTsKKwlpZiAoIXB0cikgeworCQlzeXNjb25fcHV0KHN5c2Nvbik7CisJCXJldHVy biBFUlJfUFRSKC1FTk9NRU0pOworCX0KKworCSpwdHIgPSBzeXNjb247CisJZGV2cmVzX2FkZChk ZXYsIHB0cik7CisKKwlyZXR1cm4gc3lzY29uLT5yZWdtYXA7Cit9CisKK3N0cnVjdCByZWdtYXAg KmRldm1fc3lzY29uX3JlZ21hcF9sb29rdXBfYnlfcGhhbmRsZShzdHJ1Y3QgZGV2aWNlICpkZXYs CisJCQkJCQkgICAgc3RydWN0IGRldmljZV9ub2RlICpucCwKKwkJCQkJCSAgICBjb25zdCBjaGFy ICpwcm9wZXJ0eSkKK3sKKwlzdHJ1Y3Qgc3lzY29uICpzeXNjb24gPSBzeXNjb25fbG9va3VwX2J5 X3BoYW5kbGUobnAsIHByb3BlcnR5KTsKKworCXJldHVybiBfX2Rldm1fc3lzY29uX2dldChkZXYs IHN5c2Nvbik7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChkZXZtX3N5c2Nvbl9yZWdtYXBfbG9va3Vw X2J5X3BoYW5kbGUpOworCiBzdGF0aWMgaW50IHN5c2Nvbl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7CmRpZmYg LS1naXQgYS9pbmNsdWRlL2xpbnV4L21mZC9zeXNjb24uaCBiL2luY2x1ZGUvbGludXgvbWZkL3N5 c2Nvbi5oCmluZGV4IGMzMTU5MDNmNmRhYi4uMTY0YjliY2I0OWMzIDEwMDY0NAotLS0gYS9pbmNs dWRlL2xpbnV4L21mZC9zeXNjb24uaAorKysgYi9pbmNsdWRlL2xpbnV4L21mZC9zeXNjb24uaApA QCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAKIHN0cnVjdCBkZXZp Y2Vfbm9kZTsKK3N0cnVjdCBkZXZpY2U7CiAKICNpZmRlZiBDT05GSUdfTUZEX1NZU0NPTgogc3Ry dWN0IHJlZ21hcCAqZGV2aWNlX25vZGVfdG9fcmVnbWFwKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAp OwpAQCAtMjgsNiArMjksMTEgQEAgc3RydWN0IHJlZ21hcCAqc3lzY29uX3JlZ21hcF9sb29rdXBf YnlfcGhhbmRsZV9hcmdzKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCiAJCQkJCQkgICAgdW5zaWdu ZWQgaW50ICpvdXRfYXJncyk7CiBzdHJ1Y3QgcmVnbWFwICpzeXNjb25fcmVnbWFwX2xvb2t1cF9i eV9waGFuZGxlX29wdGlvbmFsKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCiAJCQkJCQkJY29uc3Qg Y2hhciAqcHJvcGVydHkpOwordm9pZCBzeXNjb25fcHV0X3JlZ21hcChzdHJ1Y3QgcmVnbWFwICpy ZWdtYXApOworCitzdHJ1Y3QgcmVnbWFwICpkZXZtX3N5c2Nvbl9yZWdtYXBfbG9va3VwX2J5X3Bo YW5kbGUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkJICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAq bnAsCisJCQkJCQkgICAgY29uc3QgY2hhciAqcHJvcGVydHkpOwogI2Vsc2UKIHN0YXRpYyBpbmxp bmUgc3RydWN0IHJlZ21hcCAqZGV2aWNlX25vZGVfdG9fcmVnbWFwKHN0cnVjdCBkZXZpY2Vfbm9k ZSAqbnApCiB7CkBAIC02Nyw2ICs3MywxOCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCByZWdtYXAg KnN5c2Nvbl9yZWdtYXBfbG9va3VwX2J5X3BoYW5kbGVfb3B0aW9uYWwoCiAJcmV0dXJuIE5VTEw7 CiB9CiAKK3N0YXRpYyBpbnRsaW5lIHZvaWQgc3lzY29uX3B1dF9yZWdtYXAoc3RydWN0IHJlZ21h cCAqcmVnbWFwKQoreworfQorCitzdGF0aWMgaW5saW5lCitzdHJ1Y3QgcmVnbWFwICpkZXZtX3N5 c2Nvbl9yZWdtYXBfbG9va3VwX2J5X3BoYW5kbGUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkJ ICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCisJCQkJCQkgICAgY29uc3QgY2hhciAqcHJvcGVy dHkpCit7CisJcmV0dXJuIE5VTEw7Cit9CisKICNlbmRpZgogCiAjZW5kaWYgLyogX19MSU5VWF9N RkRfU1lTQ09OX0hfXyAqLwotLSAKMi40NC4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=