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 371E8C43458 for ; Thu, 16 Jul 2026 04:40:23 +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:In-Reply-To:References:To:From:Subject: Message-Id:Date:Mime-Version:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=q+f7GxPtciZPO2dn0h2rnBgBdDOPah55xDNsdcQ+ku4=; b=R/LtnE55LPnW4v McOYl/+C+pdvgJTX/Y39Esb/kUZiKY1uPlTQ7FpUxOGMEk1pAUf8uGqaslK8EPCdr2LhFxc/Aw/qz NXR3Kf2VD2UaC/08dR87s5kq3zAOARjdGlAqpWefhAlwSci7RN33Fliah/7MvqPEI8IhcDPFTuuSi ka1ipWR3APyTX9XMpt0pQlipmtRRq5sRDOlej2kQIjOoE5DoAU9e/OWK+mJ1fKOXnFga8j1tx86k3 h5jsjZp0D2HEe4Zoah+oZjWblEQkdjRxUj1T3tNY0K74+aoC2HZBYmFZk+DR35vDhnrsHMzLrD2bJ ofXhPJp15pRyd90Z1XMA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wkDtE-0000000GQIU-3R39; Thu, 16 Jul 2026 04:40:04 +0000 Received: from mout-p-102.mailbox.org ([80.241.56.152]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wkDtC-0000000GQGs-1Sfm for linux-riscv@lists.infradead.org; Thu, 16 Jul 2026 04:40:03 +0000 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA512) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4h10hC1dx1zKsGZ; Thu, 16 Jul 2026 06:39:55 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1784176795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JcpkV9siobUpO+f7IdelxmPLDPFX/aFAfSsv5BsO2uo=; b=kObxUABIKDkKw1LnU/pAk1nBEJo1kIXNiOx3DMGefy5Jd+NpXcSKuTl89RxJhR09FmDTqf cXyYUNsy+MqcQYG8/MjoKqnzkk46UOI8x9x0LSr4vY8QmJz8IEIG/lBvWAyl2sLqgvlArL IEqHCXAkW75S+jSpJX3naAOfwklnmWwYASn4MeyyxaPe/NLvcfakLE/p14oVSsqv7MiWRb C3Ydf6AkVm42eU2056hAXGo4I7HuNF68srLr2tdzMECPon2SClj+ZPWq/f6ytb7k8yya2u RiND1A9m5HiUNMmbN7EdJF9g7Ou10D3ayE0+fkCOJhg3G2bbxI+Q97xmEpNC8Q== Authentication-Results: outgoing_mbo_mout; dkim=pass header.d=mailbox.org header.s=mail20150812 header.b=RPBrLGvj; spf=pass (outgoing_mbo_mout: domain of shuwei.wu@mailbox.org designates 2001:67c:2050:b231:465::1 as permitted sender) smtp.mailfrom=shuwei.wu@mailbox.org Mime-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org; s=mail20150812; t=1784176794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JcpkV9siobUpO+f7IdelxmPLDPFX/aFAfSsv5BsO2uo=; b=RPBrLGvjcV/+Lfmvn4bVyUypkYIW58wSNxEe8hKBD4BaPZCUFLNRGclbguxtwPHxuZ/JHS uUVl5qgoNHTh0uu/AruB1EhUS1dYxN57JUxROMfvSKV0rSSrQR5VONGPyU6G07BR7PtQD7 p8y0QG9GLngtry0pwfpuRrEpmUzKQ5kt4q0UbHf5283711EMxhgJV9o7oEEdSn4feBV+0t +Df22U9+gjPvAuQW9vWgdcEUMEtlB8Bs1fsGv5YbKQqWiq9JgA1N8oOP50QtphAXGNYrDD NUQW4Gu4W0eZ0liZBSM3eIg5VB5SypU1C/Evx8wmZjlNzfoWRntmLAa/ZvjgdA== Date: Thu, 16 Jul 2026 12:39:41 +0800 Message-Id: Subject: Re: [PATCH] thermal: spacemit: k1: disable hardware on driver remove From: "Shuwei Wu" To: "Pei Xiao" , "Shuwei Wu" , , , , , , , References: <1db7d94eeaced9a92e3670d28e0c97c22f15f108.1783931396.git.xiaopei01@kylinos.cn> In-Reply-To: X-MBO-RS-ID: f29254968fa440c7861 X-MBO-RS-META: qwk9mydffxwmycptreb4fndyc16ocqj7 X-Rspamd-Queue-Id: 4h10hC1dx1zKsGZ X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260715_214002_543758_D404EC57 X-CRM114-Status: GOOD ( 28.05 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SGkgUGVpLAoKT24gV2VkIEp1bCAxNSwgMjAyNiBhdCAxMToxMSBBTSBDU1QsIFBlaSBYaWFvIHdy b3RlOgo+Cj4KPiDlnKggMjAyNi83LzE0IDE4OjM2LCBTaHV3ZWkgV3Ug5YaZ6YGTOgo+PiBIaSBQ ZWksCj4+Cj4+IE9uIE1vbiBKdWwgMTMsIDIwMjYgYXQgNDozMiBQTSBDU1QsIFBlaSBYaWFvIHdy b3RlOgo+Pj4gVGhlIGRyaXZlciB1c2VzIGRldm1fcmVxdWVzdF90aHJlYWRlZF9pcnEoKSBidXQg bmV2ZXIgZGlzYWJsZXMgdGhlCj4+PiBoYXJkd2FyZSBpbnRlcnJ1cHQgZW5hYmxlLCBzZW5zb3Ig ZW5hYmxlLCBvciBzZW5zb3IgcG93ZXIgYml0cyB3aGVuCj4+PiB0aGUgZHJpdmVyIGlzIHVuYm91 bmQuCj4+Pgo+Pj4gQWRkIGEgZGV2bSBhY3Rpb24gdGhhdCBjbGVhcnMgSzFfVFNFTlNPUl9JTlRf RU5fUkVHLAo+Pj4gSzFfVFNFTlNPUl9FTl9BTEwsIGFuZCBLMV9UU0VOU09SX1BDVFJMX0VOQUJM RSBvbiByZW1vdmUsIG1pcnJvcmluZwo+Pj4gd2hhdCBrMV90c2Vuc29yX2luaXQoKSBzZXRzIHVw Lgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IFBlaSBYaWFvIDx4aWFvcGVpMDFAa3lsaW5vcy5jbj4K Pj4+IC0tLQo+Pj4gIGRyaXZlcnMvdGhlcm1hbC9zcGFjZW1pdC9rMV90c2Vuc29yLmMgfCAyNyAr KysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+ICAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0 aW9ucygrKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3RoZXJtYWwvc3BhY2VtaXQvazFf dHNlbnNvci5jIGIvZHJpdmVycy90aGVybWFsL3NwYWNlbWl0L2sxX3RzZW5zb3IuYwo+Pj4gaW5k ZXggNzkyMjJkMjMzMTI5Li5jZjc5ZGM3ZDQwM2YgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL3Ro ZXJtYWwvc3BhY2VtaXQvazFfdHNlbnNvci5jCj4+PiArKysgYi9kcml2ZXJzL3RoZXJtYWwvc3Bh Y2VtaXQvazFfdHNlbnNvci5jCj4+PiBAQCAtMTk5LDYgKzE5OSwyOSBAQCBzdGF0aWMgaXJxcmV0 dXJuX3QgazFfdHNlbnNvcl9pcnFfdGhyZWFkKGludCBpcnEsIHZvaWQgKmRhdGEpCj4+PiAgCXJl dHVybiBJUlFfSEFORExFRDsKPj4+ICB9Cj4+PiAgCj4+PiArc3RhdGljIHZvaWQgazFfdHNlbnNv cl9zaHV0ZG93bihzdHJ1Y3QgazFfdHNlbnNvciAqdHMpCj4+PiArewo+Pj4gKwl1MzIgdmFsOwo+ Pj4gKwo+Pj4gKwkvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzICovCj4+PiArCXdyaXRlbCgweGZm ZmZmZmZmLCB0cy0+YmFzZSArIEsxX1RTRU5TT1JfSU5UX0VOX1JFRyk7Cj4+PiArCj4+PiArCS8q IERpc2FibGUgYWxsIHNlbnNvciAqLwo+Pj4gKwl2YWwgPSByZWFkbCh0cy0+YmFzZSArIEsxX1RT RU5TT1JfRU5fUkVHKTsKPj4+ICsJdmFsICY9IH5LMV9UU0VOU09SX0VOX0FMTDsKPj4+ICsJd3Jp dGVsKHZhbCwgdHMtPmJhc2UgKyBLMV9UU0VOU09SX0VOX1JFRyk7Cj4+PiArCj4+PiArCS8qIFBv d2VyIGRvd24gdGhlIHNlbnNvciBtb2R1bGUgKi8KPj4+ICsJdmFsID0gcmVhZGwodHMtPmJhc2Ug KyBLMV9UU0VOU09SX1BDVFJMX1JFRyk7Cj4+PiArCXZhbCAmPSB+SzFfVFNFTlNPUl9QQ1RSTF9F TkFCTEU7Cj4+PiArCXdyaXRlbCh2YWwsIHRzLT5iYXNlICsgSzFfVFNFTlNPUl9QQ1RSTF9SRUcp Owo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgdm9pZCBkZXZtX2sxX3RzZW5zb3Jfc2h1dGRvd24o dm9pZCAqZGF0YSkKPj4+ICt7Cj4+PiArCWsxX3RzZW5zb3Jfc2h1dGRvd24oZGF0YSk7Cj4+PiAr fQo+Pj4gKwo+Pj4gIHN0YXRpYyBpbnQgazFfdHNlbnNvcl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQo+Pj4gIHsKPj4+ICAJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRl djsKPj4+IEBAIC0yMjksNiArMjUyLDEwIEBAIHN0YXRpYyBpbnQgazFfdHNlbnNvcl9wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+Pj4gIAo+Pj4gIAlrMV90c2Vuc29yX2luaXQo dHMpOwo+Pj4gIAo+Pj4gKwlyZXQgPSBkZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoZGV2LCBkZXZt X2sxX3RzZW5zb3Jfc2h1dGRvd24sIHRzKTsKPj4+ICsJaWYgKHJldCkKPj4+ICsJCXJldHVybiBy ZXQ7Cj4+PiArCj4+PiAgCWlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7Cj4+PiAgCWlm IChpcnEgPCAwKQo+Pj4gIAkJcmV0dXJuIGlycTsKPj4gU29ycnksIEkgbWlzc2VkIHRoZSBoYXJk d2FyZSBjbGVhbnVwIGluIHRoZSBvcmlnaW5hbCBkcml2ZXIuCj4+IFRoYW5rcyBmb3IgZml4aW5n IGl0Lgo+Pgo+PiBJIGFsc28gZm91bmQgdGhhdCByZWdpc3RlcmluZyB0aGUgc2h1dGRvd24gYWN0 aW9uIGltbWVkaWF0ZWx5IGFmdGVyCj4+IGsxX3RzZW5zb3JfaW5pdCgpIHdvdWxkIGNhdXNlIHRo ZSB0aGVybWFsIHpvbmVzIHRvIGJlIHJlbGVhc2VkIGJlZm9yZQo+PiB0aGUgSVJRIGR1cmluZyBk ZXZyZXMgY2xlYW51cC4gVGhlIElSUSB0aHJlYWQgbWF5IHRoZW4gYWNjZXNzIGFuCj4+IHVucmVn aXN0ZXJlZCB0aGVybWFsIHpvbmUuCj4+Cj4+IEkgY2hhbmdlZCB0aGUgb3JkZXIgc28gdGhhdCB0 aGUgdGhlcm1hbCB6b25lcyBhcmUgcmVnaXN0ZXJlZCBmaXJzdCwKPj4gZm9sbG93ZWQgYnkgdGhl IElSUSBhbmQgdGhlIHNodXRkb3duIGFjdGlvbi4KPj4gT24gcmVtb3ZhbCwgdGhlIGhhcmR3YXJl IGludGVycnVwdCBpcyBkaXNhYmxlZCBmaXJzdCwgdGhlbiB0aGUgSVJRCj4+IGlzIHJlbGVhc2Vk LCBhbmQgZmluYWxseSB0aGUgdGhlcm1hbCB6b25lcyBhcmUgcmVsZWFzZWQuCj4gSSBub3RpY2Ug dGhhdCB0aGUgY2hhbmdlcyB5b3UndmUgbWFkZSBhcmUgc2lnbmlmaWNhbnRseSBtb3JlIGV4dGVu c2l2ZQo+IHRoYW4gbXkgb3JpZ2luYWwgcGF0Y2guCj4gwqBDb3VsZCB5b3UgcGxlYXNlIGxldCBt ZSBrbm93IHdoZXRoZXIgeW91IHBsYW4gdG8gc3VibWl0IHRoaXMgcGF0Y2gKPiB5b3Vyc2VsZizC oAo+IG9yIHdoZXRoZXIgeW91IHdvdWxkIGxpa2UgbWUgdG8gc2VuZCBpdD8gSWYgeW91IHdvdWxk IHByZWZlciBtZSB0bwo+IHN1Ym1pdCBpdCzCoAo+IEkgd291bGQgYmUgZGVsaWdodGVkIHRvIGNv bnRyaWJ1dGUgdG8gdGhlIGNvbW11bml0eS4KClRoYW5rIHlvdSBmb3IgeW91ciByZXBseS4gU2lu Y2UgdGhlIG9yaWdpbmFsIGNsZWFudXAgaXNzdWUgd2FzCmlkZW50aWZpZWQgYnkgeW91LCBJIHdv dWxkIGJlIGhhcHB5IGZvciB5b3UgdG8gc3VibWl0IHRoZSB1cGRhdGUgcGF0Y2guCgo+Cj4gVGhh bmtz77yBCj4gUGVpLgo+Cj4+IC0+ICUgZ2l0IC0tbm8tcGFnZXIgZGlmZiBkcml2ZXJzL3RoZXJt YWwvc3BhY2VtaXQvazFfdHNlbnNvci5jCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3RoZXJtYWwv c3BhY2VtaXQvazFfdHNlbnNvci5jIGIvZHJpdmVycy90aGVybWFsL3NwYWNlbWl0L2sxX3RzZW5z b3IuYwo+PiBpbmRleCA3OTIyMmQyMzMxMjkuLjU3ZGJjNjUyYTQwNSAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy90aGVybWFsL3NwYWNlbWl0L2sxX3RzZW5zb3IuYwo+PiArKysgYi9kcml2ZXJzL3Ro ZXJtYWwvc3BhY2VtaXQvazFfdHNlbnNvci5jCj4+IEBAIC0xOTksNiArMTk5LDMyIEBAIHN0YXRp YyBpcnFyZXR1cm5fdCBrMV90c2Vuc29yX2lycV90aHJlYWQoaW50IGlycSwgdm9pZCAqZGF0YSkK Pj4gIAlyZXR1cm4gSVJRX0hBTkRMRUQ7Cj4+ICB9Cj4+Cj4+ICtzdGF0aWMgdm9pZCBrMV90c2Vu c29yX3NodXRkb3duKHN0cnVjdCBrMV90c2Vuc29yICp0cykKPj4gK3sKPj4gKwl1MzIgdmFsOwo+ PiArCj4+ICsJLyogRGlzYWJsZSBhbGwgaW50ZXJydXB0cyAqLwo+PiArCXdyaXRlbCgweGZmZmZm ZmZmLCB0cy0+YmFzZSArIEsxX1RTRU5TT1JfSU5UX0VOX1JFRyk7Cj4+ICsKPj4gKwkvKiBEaXNh YmxlIGFsbCBzZW5zb3JzICovCj4+ICsJdmFsID0gcmVhZGwodHMtPmJhc2UgKyBLMV9UU0VOU09S X0VOX1JFRyk7Cj4+ICsJdmFsICY9IH5LMV9UU0VOU09SX0VOX0FMTDsKPj4gKwl3cml0ZWwodmFs LCB0cy0+YmFzZSArIEsxX1RTRU5TT1JfRU5fUkVHKTsKPj4gKwo+PiArCS8qIENsZWFyIHRoZSBz YW1wbGluZyBjb25maWd1cmF0aW9uIHNldCBieSBrMV90c2Vuc29yX2luaXQoKS4gKi8KPj4gKwl2 YWwgPSByZWFkbCh0cy0+YmFzZSArIEsxX1RTRU5TT1JfVElNRV9SRUcpOwo+PiArCXZhbCAmPSB+ KEsxX1RTRU5TT1JfVElNRV9GSUxURVJfUEVSSU9EIHwKPj4gKwkJIEsxX1RTRU5TT1JfVElNRV9B RENfQ05UX1JTVCB8Cj4+ICsJCSBLMV9UU0VOU09SX1RJTUVfV0FJVF9SRUZfQ05UKTsKPj4gKwl3 cml0ZWwodmFsLCB0cy0+YmFzZSArIEsxX1RTRU5TT1JfVElNRV9SRUcpOwo+PiArCj4+ICsJLyog Q2xlYXIgdGhlIGNvbnRyb2wgYml0cyBjb25maWd1cmVkIGJ5IGsxX3RzZW5zb3JfaW5pdCgpLiAq Lwo+PiArCXZhbCA9IHJlYWRsKHRzLT5iYXNlICsgSzFfVFNFTlNPUl9QQ1RSTF9SRUcpOwo+PiAr CXZhbCAmPSB+KEsxX1RTRU5TT1JfUENUUkxfUkFXX1NFTCB8Cj4+ICsJCSBLMV9UU0VOU09SX1BD VFJMX1RFTVBfTU9ERSB8Cj4+ICsJCSBLMV9UU0VOU09SX1BDVFJMX0hXX0FVVE9fTU9ERSB8Cj4+ ICsJCSBLMV9UU0VOU09SX1BDVFJMX0VOQUJMRSk7Cj4+ICsJd3JpdGVsKHZhbCwgdHMtPmJhc2Ug KyBLMV9UU0VOU09SX1BDVFJMX1JFRyk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIGRldm1f azFfdHNlbnNvcl9zaHV0ZG93bih2b2lkICpkYXRhKQo+PiArewo+PiArCWsxX3RzZW5zb3Jfc2h1 dGRvd24oZGF0YSk7Cj4+ICt9Cj4+ICsKPj4gIHN0YXRpYyBpbnQgazFfdHNlbnNvcl9wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+PiAgewo+PiAgCXN0cnVjdCBkZXZpY2UgKmRl diA9ICZwZGV2LT5kZXY7Cj4+IEBAIC0yMjksMzQgKzI1NSw0OCBAQCBzdGF0aWMgaW50IGsxX3Rz ZW5zb3JfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4KPj4gIAlrMV90c2Vu c29yX2luaXQodHMpOwo+Pgo+PiAtCWlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7Cj4+ IC0JaWYgKGlycSA8IDApCj4+IC0JCXJldHVybiBpcnE7Cj4+IC0KPj4gLQlyZXQgPSBkZXZtX3Jl cXVlc3RfdGhyZWFkZWRfaXJxKGRldiwgaXJxLCBOVUxMLAo+PiAtCQkJCQlrMV90c2Vuc29yX2ly cV90aHJlYWQsCj4+IC0JCQkJCUlSUUZfT05FU0hPVCwgImsxX3RzZW5zb3IiLCB0cyk7Cj4+IC0J aWYgKHJldCA8IDApCj4+IC0JCXJldHVybiByZXQ7Cj4+IC0KPj4gIAlmb3IgKGkgPSAwOyBpIDwg TUFYX1NFTlNPUl9OVU1CRVI7ICsraSkgewo+PiAgCQl0cy0+Y2hbaV0uaWQgPSBpOwo+PiAgCQl0 cy0+Y2hbaV0udHMgPSB0czsKPj4gIAkJdHMtPmNoW2ldLnR6ZCA9IGRldm1fdGhlcm1hbF9vZl96 b25lX3JlZ2lzdGVyKGRldiwgaSwgdHMtPmNoICsgaSwgJmsxX3RzZW5zb3Jfb3BzKTsKPj4gLQkJ aWYgKElTX0VSUih0cy0+Y2hbaV0udHpkKSkKPj4gLQkJCXJldHVybiBQVFJfRVJSKHRzLT5jaFtp XS50emQpOwo+PiArCQlpZiAoSVNfRVJSKHRzLT5jaFtpXS50emQpKSB7Cj4+ICsJCQlyZXQgPSBQ VFJfRVJSKHRzLT5jaFtpXS50emQpOwo+PiArCQkJZ290byBlcnJfc2h1dGRvd247Cj4+ICsJCX0K Pj4KPj4gIAkJLyogQXR0YWNoIHN5c2ZzIGh3bW9uIGF0dHJpYnV0ZXMgZm9yIHVzZXJzcGFjZSBt b25pdG9yaW5nICovCj4+ICAJCXJldCA9IGRldm1fdGhlcm1hbF9hZGRfaHdtb25fc3lzZnMoZGV2 LCB0cy0+Y2hbaV0udHpkKTsKPj4gIAkJaWYgKHJldCkKPj4gIAkJCWRldl93YXJuKGRldiwgIkZh aWxlZCB0byBhZGQgaHdtb24gc3lzZnMgYXR0cmlidXRlc1xuIik7Cj4+ICsJfQo+Pgo+PiAtCQlr MV90c2Vuc29yX2VuYWJsZV9pcnEodHMtPmNoICsgaSk7Cj4+ICsJcmV0ID0gcGxhdGZvcm1fZ2V0 X2lycShwZGV2LCAwKTsKPj4gKwlpZiAocmV0IDwgMCkgewo+PiArCQlnb3RvIGVycl9zaHV0ZG93 bjsKPj4gIAl9Cj4gaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAwKTsgaWYgKGlycSA8IDAp IHsgcmV0ID0gaXJxOyBnb3RvCj4gZXJyX3NodXRkb3duOyB9wqAgwqDCoAoKYWdyZWVkLgoKPgo+ Pgo+PiArCXJldCA9IGRldm1fcmVxdWVzdF90aHJlYWRlZF9pcnEoZGV2LCBpcnEsIE5VTEwsCj4+ ICsJCQkJCWsxX3RzZW5zb3JfaXJxX3RocmVhZCwKPj4gKwkJCQkJSVJRRl9PTkVTSE9ULCAiazFf dHNlbnNvciIsIHRzKTsKPj4gKwlpZiAocmV0IDwgMCkKPj4gKwkJZ290byBlcnJfc2h1dGRvd247 Cj4+ICsKPj4gKwlyZXQgPSBkZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoZGV2LCBkZXZtX2sxX3Rz ZW5zb3Jfc2h1dGRvd24sIHRzKTsKPiAqRG8gd2UgbmVlZCB0byByZW5hbWXCoHxkZXZtX2sxX3Rz ZW5zb3Jfc2h1dGRvd258wqB0byBhIGZ1bmN0aW9uIG5hbWXCoAo+IHdpdGhvdXQgdGhlwqB8ZGV2 bXzCoHByZWZpeD8gSSBmZWVsIHRoZcKgfGRldm18wqBwcmVmaXggaXMgYSBiaXQgcmVkdW5kYW50 LgoKeWVzLCBrMV90c2Vuc29yX3NodXRkb3duX2FjdGlvbigpIHdvdWxkIGJlIGEgY2xlYXJlciBu YW1lLgoKPgo+ICoKPj4gKwlpZiAocmV0KQo+PiArCQlyZXR1cm4gcmV0Owo+PiArCj4+ICsJLyog RW5hYmxlIGludGVycnVwdHMgb25seSBhZnRlciBhbGwgem9uZXMgYW5kIHRoZSBoYW5kbGVyIGFy ZSByZWFkeS4gKi8KPj4gKwlmb3IgKGkgPSAwOyBpIDwgTUFYX1NFTlNPUl9OVU1CRVI7ICsraSkK Pj4gKwkJazFfdHNlbnNvcl9lbmFibGVfaXJxKHRzLT5jaCArIGkpOwo+PiArCj4+ICAJcGxhdGZv cm1fc2V0X2RydmRhdGEocGRldiwgdHMpOwo+Pgo+PiAgCXJldHVybiAwOwo+PiArCj4+ICtlcnJf c2h1dGRvd246Cj4+ICsJazFfdHNlbnNvcl9zaHV0ZG93bih0cyk7Cj4+ICsJcmV0dXJuIHJldDsK Pj4gIH0KPj4KPj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGsxX3RzZW5zb3Jf ZHRfaWRzW10gPSB7Cj4+CgotLSAKQmVzdCByZWdhcmRzLApTaHV3ZWkgV3UKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcg bGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK