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 905AAC5321D for ; Mon, 26 Aug 2024 11:32:34 +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:References:In-Reply-To:From:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Nw+4vAWwdlPkTtXeXtlz7Xn2HvuFjh4fztdmgHsYw0E=; b=jhZnagZs8Zk1A8 QVQkLzDTLzqiNu3uIU48yLLba/AJABLuHbFYDQkLID+UlwmmTt1i3hDstz6VDFmpSG5E/WXqdk0hR +3wnaPZRzutRPD5dgp+sD17/ZWUtMP8S3h5OB+AxtdnBt3RkpmzGBIX4wWpHdaKMlUHRBOht9+JVu V9cJHXwlATQbDAS7yMXzUYZTGn/uQeRG93tFjTBA1gTnU556PJ5YYma34NP8ABafVPVxs8+JCOzAA UIO4ySy4W9HC6CCnfLHx3Ri6SZJg0esXx7hw1lrBgo+7YgmjTow8zcei2WTA9GX5HhXSRh+ysxUlz qvpx9cs50kDRlx3dcWMg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1siXxT-000000079GF-0QJv; Mon, 26 Aug 2024 11:32:27 +0000 Received: from mailout1.w1.samsung.com ([210.118.77.11]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1siXx1-0000000798o-3FOp for linux-amlogic@lists.infradead.org; Mon, 26 Aug 2024 11:32:02 +0000 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20240826113154euoutp017ad4d473240d07316683a195848f5f7e~vQ-gNp5D82982429824euoutp014 for ; Mon, 26 Aug 2024 11:31:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20240826113154euoutp017ad4d473240d07316683a195848f5f7e~vQ-gNp5D82982429824euoutp014 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1724671915; bh=J0TRlNzlQxarkx8fTMeGEK/wTpXLvUaZJK/z/pLCxpw=; h=Date:Subject:To:Cc:From:In-Reply-To:References:From; b=rJBfiGmSk+lPz4XKUeekfGjWXQg21ihOGBXbxmTqCXDlQznDFJosmUuBkv5Y2EK4e om5jIi+FIx3mCGkr35nMyBEcMJcd6bYCWLuu3/ChsNUiPMzeU5UU1GAchTdg8h8e+g O7gUgjhnNHsZ2JO9rIgMRhhWlyahbbv1X45Nd9NM= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20240826113154eucas1p215e61cae3ea247a4f0be7236770b3a88~vQ-f2_jZr2099320993eucas1p2z; Mon, 26 Aug 2024 11:31:54 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id D7.E2.09875.AA76CC66; Mon, 26 Aug 2024 12:31:54 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20240826113153eucas1p110e90b4cd98aa70601770fe93d7aa1e5~vQ-fTt_Vw2403124031eucas1p1B; Mon, 26 Aug 2024 11:31:53 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20240826113153eusmtrp1cc3868864f5e0b54f42078487d53aaf1~vQ-fSYEWr0936009360eusmtrp1P; Mon, 26 Aug 2024 11:31:53 +0000 (GMT) X-AuditID: cbfec7f4-11bff70000002693-01-66cc67aac0e3 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id D3.9C.09010.9A76CC66; Mon, 26 Aug 2024 12:31:53 +0100 (BST) Received: from [106.210.134.192] (unknown [106.210.134.192]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20240826113152eusmtip19dda6fdfcaddae49e386f803f2530b50~vQ-eKSvr02755627556eusmtip1c; Mon, 26 Aug 2024 11:31:52 +0000 (GMT) Message-ID: Date: Mon, 26 Aug 2024 13:31:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 12/14] thermal/of: Use the .should_bind() thermal zone callback To: "Rafael J. Wysocki" , Linux PM Cc: LKML , Daniel Lezcano , Lukasz Luba , Zhang Rui , Krzysztof Kozlowski , 'Linux Samsung SOC' , 'Mateusz Majewski' , linux-amlogic@lists.infradead.org Content-Language: en-US From: Marek Szyprowski In-Reply-To: <2236794.NgBsaNRSFp@rjwysocki.net> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKKsWRmVeSWpSXmKPExsWy7djPc7qr0s+kGUx5J2wx77Osxd7XW9kt Fszmtri8aw6bxefeI4wWM87vY7JY2NTCbjHx2GRmizOnL7FaPHnYx+bA5bFm3hpGj8V7XjJ5 3Lm2h81j85J6jy1X21k8+rasYvT4vEkugD2KyyYlNSezLLVI3y6BK+NYWwtLwb0WxoozM8+y NzC+yeli5OSQEDCR2Ha6k7mLkYtDSGAFo8Sxhe2sEM4XRom+p+/ZIJzPjBJTlr9nhml52t7K BGILCSxnlOj5ywNR9JFRYtrEr+wgCV4BO4kL7WfAGlgEVCWmrD7FCBEXlDg58wkLiC0qIC9x /9YMsHphgQiJFY8msoHYIgJBEmvnzgLbzCxwn0ni2/+3YIOYBcQlbj2ZD7aZTcBQouttF1gD p4C+xP/1yxghauQlmrfOBntIQqCZU+LM1TtA2ziAHBeJtpdREB8IS7w6voUdwpaROD25hwWi vp1RYsHv+0wQzgRGiYbntxghqqwl7pz7xQYyiFlAU2L9Ln2IsKNE16GjzBDz+SRuvBWEuIFP YtK26VBhXomONiGIajWJWcfXwa09eOES8wRGpVlIwTILyZezkHwzC2HvAkaWVYziqaXFuemp xUZ5qeV6xYm5xaV56XrJ+bmbGIEp6/S/4192MC5/9VHvECMTB+MhRgkOZiURXrnLJ9OEeFMS K6tSi/Lji0pzUosPMUpzsCiJ86qmyKcKCaQnlqRmp6YWpBbBZJk4OKUamNrilxmzGKVOEtD/ Ih24Zq/KftZTHxc6NNxb2h54vnKt8aPsrXMLCxeu/Rmvo7JtQeDBLa7p6YH9k7V+ifXJXPwz RVBuksnvOL8pbk8tuY9ckUhMVinyYy3aEhGTHP8lR63+5sZFi5Lld9lXbn2RVtZyVtGWJ/T4 ny/1LOUZP2ZFpW0/MV926fx3ayJ+vPhxYG2h9YOla3/1XEsuUIyMkz818/gO3zU8hfbVnye0 v7x0zD3E7rab6s2/iwVPhX9pveQp8XfxncnfuXd8W9T317VyesmmNGOnsDkyy5jDCtwcS7w4 pKLm6dx5Uupz5fHLjvnnlibOEG0tnP3sXTLjXqW6Jtmv2+f1lYtPsLv+/6MSS3FGoqEWc1Fx IgDZz/r8yAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrBIsWRmVeSWpSXmKPExsVy+t/xu7or08+kGbz9qmIx77Osxd7XW9kt Fszmtri8aw6bxefeI4wWM87vY7JY2NTCbjHx2GRmizOnL7FaPHnYx+bA5bFm3hpGj8V7XjJ5 3Lm2h81j85J6jy1X21k8+rasYvT4vEkugD1Kz6Yov7QkVSEjv7jEVina0MJIz9DSQs/IxFLP 0Ng81srIVEnfziYlNSezLLVI3y5BL+NYWwtLwb0WxoozM8+yNzC+yeli5OSQEDCReNreytTF yMUhJLCUUeLknD1MEAkZiZPTGlghbGGJP9e62CCK3jNKbL82B6yIV8BO4kL7GWYQm0VAVWLK 6lOMEHFBiZMzn7CA2KIC8hL3b81gB7GFBSIk2t82g8VFBIIk7s/7wwIylFngMZPEhqmPwYqE BIIlfj4/BraAWUBc4taT+WA2m4ChRNdbkCs4OTgF9CX+r1/GCFFjJtG1tQvKlpdo3jqbeQKj 0Cwkd8xCMmoWkpZZSFoWMLKsYhRJLS3OTc8tNtIrTswtLs1L10vOz93ECIzSbcd+btnBuPLV R71DjEwcjIcYJTiYlUR45S6fTBPiTUmsrEotyo8vKs1JLT7EaAoMjInMUqLJ+cA0kVcSb2hm YGpoYmZpYGppZqwkzutZ0JEoJJCeWJKanZpakFoE08fEwSnVwLT+e9SHzc5LPH5nSudPVN56 SthR4Hx0z8yTzN9irvg+ztZpWzm5Xd//ndNLW56a0s/r7jU6TG4UynA86lP8Qf/hMa20PRGu D3bV3Fgy+zjrtyPTrxoqKW4rXHpAVHLPxh9TZ/Xb/WksUTuQteuItG99Erduw7HHmf9aF7lF t7p8WGWu2XTGZl/05XuTDl89rlB8ZFNagfCNjx+UD29Xy7IWWzNZLm5vVPDcI3rzwlb3X9jw 4eOkd74NvMe4NlnfOuETmHZ48mGBjUvbODqTGcSKlp94ceZostnKTcuzc1xaOr0y+yROZyb6 vPsacD60TEB60qOI67sPr4t7GdSc3bct9MYHT7t57CfEjU8c3OChxFKckWioxVxUnAgAZTRw rFsDAAA= X-CMS-MailID: 20240826113153eucas1p110e90b4cd98aa70601770fe93d7aa1e5 X-Msg-Generator: CA X-RootMTR: 20240826113153eucas1p110e90b4cd98aa70601770fe93d7aa1e5 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20240826113153eucas1p110e90b4cd98aa70601770fe93d7aa1e5 References: <2205737.irdbgypaU6@rjwysocki.net> <2236794.NgBsaNRSFp@rjwysocki.net> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240826_043200_527612_78487960 X-CRM114-Status: GOOD ( 25.94 ) 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 T24gMTkuMDguMjAyNCAxODozMCwgUmFmYWVsIEouIFd5c29ja2kgd3JvdGU6Cj4gRnJvbTogUmFm YWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29tPgo+Cj4gTWFrZSB0aGUg dGhlcm1hbF9vZiBkcml2ZXIgdXNlIHRoZSAuc2hvdWxkX2JpbmQoKSB0aGVybWFsIHpvbmUgY2Fs bGJhY2sKPiB0byBwcm92aWRlIHRoZSB0aGVybWFsIGNvcmUgd2l0aCB0aGUgaW5mb3JtYXRpb24g b24gd2hldGhlciBvciBub3QgdG8KPiBiaW5kIHRoZSBnaXZlbiBjb29saW5nIGRldmljZSB0byB0 aGUgZ2l2ZW4gdHJpcCBwb2ludCBpbiB0aGUgZ2l2ZW4KPiB0aGVybWFsIHpvbmUuICBJZiBpdCBy ZXR1cm5zICd0cnVlJywgdGhlIHRoZXJtYWwgY29yZSB3aWxsIGJpbmQgdGhlCj4gY29vbGluZyBk ZXZpY2UgdG8gdGhlIHRyaXAgYW5kIHRoZSBjb3JyZXNwb25kaW5nIHVuYmluZGluZyB3aWxsIGJl Cj4gdGFrZW4gY2FyZSBvZiBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBjb3JlIG9uIHRoZSByZW1vdmFs IG9mIHRoZSBpbnZvbHZlZAo+IHRoZXJtYWwgem9uZSBvciBjb29saW5nIGRldmljZS4KPgo+IFRo aXMgcmVwbGFjZXMgdGhlIC5iaW5kKCkgYW5kIC51bmJpbmQoKSB0aGVybWFsIHpvbmUgY2FsbGJh Y2tzIHdoaWNoCj4gYXNzdW1lZCB0aGUgc2FtZSB0cmlwIHBvaW50cyBvcmRlcmluZyBpbiB0aGUg ZHJpdmVyIGFuZCBpbiB0aGUgdGhlcm1hbAo+IGNvcmUgKHRoYXQgbWF5IG5vdCBiZSB0cnVlIGFu eSBtb3JlIGluIHRoZSBmdXR1cmUpLiAgVGhlIC5iaW5kKCkKPiBjYWxsYmFjayB3b3VsZCB3YWxr IHRoZSBnaXZlbiB0aGVybWFsIHpvbmUncyBjb29saW5nIG1hcHMgdG8gZmluZCBhbGwKPiBvZiB0 aGUgdmFsaWQgdHJpcCBwb2ludCBjb21iaW5hdGlvbnMgd2l0aCB0aGUgZ2l2ZW4gY29vbGluZyBk ZXZpY2UgYW5kCj4gaXQgd291bGQgY2FsbCB0aGVybWFsX3pvbmVfYmluZF9jb29saW5nX2Rldmlj ZSgpIGZvciBhbGwgb2YgdGhlbSB1c2luZwo+IHRyaXAgcG9pbnQgaW5kaWNlcyByZWZsZWN0aW5n IHRoZSBvcmRlcmluZyBvZiB0aGUgdHJpcHMgaW4gdGhlIERULgo+Cj4gVGhlIC5zaG91bGRfYmlu ZCgpIGNhbGxiYWNrIHN0aWxsIHdhbGtzIHRoZSB0aGVybWFsIHpvbmUncyBjb29saW5nIG1hcHMs Cj4gYnV0IGl0IGNhbiB1c2UgdGhlIHRyaXAgb2JqZWN0IHBhc3NlZCB0byBpdCBieSB0aGUgdGhl cm1hbCBjb3JlIHRvIGZpbmQKPiB0aGUgdHJpcCBpbiBxdWVzdGlvbiBpbiB0aGUgZmlyc3QgcGxh Y2UgYW5kIHRoZW4gaXQgdXNlcyB0aGUKPiBjb3JyZXNwb25kaW5nICdjb29saW5nLWRldmljZScg ZW50cmllcyB0byBsb29rIHVwIHRoZSBnaXZlbiBjb29saW5nCj4gZGV2aWNlLiAgVG8gYmUgYWJs ZSB0byBtYXRjaCB0aGUgdHJpcCBvYmplY3QgcHJvdmlkZWQgYnkgdGhlIHRoZXJtYWwKPiBjb3Jl IHRvIGEgc3BlY2lmaWMgZGV2aWNlIG5vZGUsIHRoZSBkcml2ZXIgc2V0cyB0aGUgJ3ByaXYnIGZp ZWxkIG9mIGVhY2gKPiB0cmlwIHRvIHRoZSBjb3JyZXNwb25kaW5nIGRldmljZSBub2RlIHBvaW50 ZXIgZHVyaW5nIGluaXRpYWxpemF0aW9uLgo+Cj4gU2lnbmVkLW9mZi1ieTogUmFmYWVsIEouIFd5 c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29tPgoKVGhpcyBwYXRjaCBsYW5kZWQgcmVj ZW50bHkgaW4gbGludXgtbmV4dCBhcyBjb21taXQgNmQ3MWQ1NWMzYjEyIAooInRoZXJtYWwvb2Y6 IFVzZSB0aGUgLnNob3VsZF9iaW5kKCkgdGhlcm1hbCB6b25lIGNhbGxiYWNrIikuIEluIG15IAp0 ZXN0cyBJIGZvdW5kIHRoYXQgaXQgYnJlYWtzIGJvb3Rpbmcgc29tZSBvbiBteSB0ZXN0IGJvYXJz OiBFeHlub3MtYmFzZWQgCihPZHJvaWRYVTQgd2l0aCBBUk0zMiBiaXQga2VybmVsIGZyb20gbXVs dGlfdjdfZGVmY29uZmlnKSBhbmQgQW1sb2dpYyAKTWVzb24gYmFzZWQgYm9hcmRzIChPZHJvaWRD NCwgVklNMyB3aXRoIEFSTTY0IGRlZmNvbmZpZytzb21lIGRlYnVnIApvcHRpb25zKS4gUmV2ZXJ0 aW5nICRzdWJqZWN0IG9uIHRvcCBvZiBuZXh0LTIwMjQwODIzIHRvZ2V0aGVyIHdpdGggCmMxZWU2 ZTFmNjhmNSAoInRoZXJtYWw6IGNvcmU6IENsZWFuIHVwIHRyaXAgYmluZC91bmJpbmQgZnVuY3Rp b25zIikgYW5kIAo1MjY5NTQ5MDA0NjUgKCJ0aGVybWFsOiBjb3JlOiBEcm9wIHVudXNlZCBiaW5k L3VuYmluZCBmdW5jdGlvbnMgYW5kIApjYWxsYmFja3MiKSBkdWUgdG8gY29tcGlsZSBkZXBlbmRl bmNpZXMgZml4ZXMgdGhlIGlzc3VlLgoKT24gT2Ryb2lkIEM0IEkgc2VlIHRoZSBmb2xsb3dpbmcg d2FybmluZ3MgYmVmb3JlIHRoZSBib2FyZHMgaGFuZ3M6CgpCVUc6IHNsZWVwaW5nIGZ1bmN0aW9u IGNhbGxlZCBmcm9tIGludmFsaWQgY29udGV4dCBhdCAKa2VybmVsL2xvY2tpbmcvcndzZW0uYzox NTc4CmluX2F0b21pYygpOiAxLCBpcnFzX2Rpc2FibGVkKCk6IDEsIG5vbl9ibG9jazogMCwgcGlk OiAyNjMsIG5hbWU6IApzeXN0ZW1kLXVkZXZkCnByZWVtcHRfY291bnQ6IDEsIGV4cGVjdGVkOiAw ClJDVSBuZXN0IGRlcHRoOiAwLCBleHBlY3RlZDogMAo0IGxvY2tzIGhlbGQgYnkgc3lzdGVtZC11 ZGV2ZC8yNjM6CiDCoCMwOiBmZmZmMDAwMDAxMzc2OGY4ICgmZGV2LT5tdXRleCl7Li4uLn0tezM6 M30sIGF0OiAKX19kcml2ZXJfYXR0YWNoKzB4OTAvMHgxYWMKIMKgIzE6IGZmZmY4MDAwODM0OWUx YTAgKHRoZXJtYWxfbGlzdF9sb2NrKXsrLisufS17MzozfSwgYXQ6IApfX3RoZXJtYWxfY29vbGlu Z19kZXZpY2VfcmVnaXN0ZXIucGFydC4wKzB4MTU0LzB4MmY0CiDCoCMyOiBmZmZmMDAwMDAwOTg4 NzAwICgmdHotPmxvY2speysuKy59LXszOjN9LCBhdDogCnRoZXJtYWxfem9uZV9jZGV2X2JpbmRp bmcrMHg4NC8weDFlNAogwqAjMzogZmZmZjgwMDA4MzRiOGE5OCAoZGV2dHJlZV9sb2NrKXsuLi4u fS17MjoyfSwgYXQ6IApvZl9nZXRfbmV4dF9jaGlsZCsweDJjLzB4ODAKaXJxIGV2ZW50IHN0YW1w OiA3OTM2CmhhcmRpcnFzIGxhc3TCoCBlbmFibGVkIGF0ICg3OTM1KTogWzxmZmZmODAwMDgxMmIx NzAwPl0gCl9yYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDc0LzB4NzgKaGFyZGlycXMgbGFz dCBkaXNhYmxlZCBhdCAoNzkzNik6IFs8ZmZmZjgwMDA4MTJiMGIxND5dIApfcmF3X3NwaW5fbG9j a19pcnFzYXZlKzB4ODQvMHg4OApzb2Z0aXJxcyBsYXN0wqAgZW5hYmxlZCBhdCAoNzMwMik6IFs8 ZmZmZjgwMDA4MDBiMTNkYz5dIApoYW5kbGVfc29mdGlycXMrMHg0Y2MvMHg0ZTQKc29mdGlycXMg bGFzdCBkaXNhYmxlZCBhdCAoNzI5NSk6IFs8ZmZmZjgwMDA4MDAxMDViMD5dIApfX2RvX3NvZnRp cnErMHgxNC8weDIwCkNQVTogMyBVSUQ6IDAgUElEOiAyNjMgQ29tbTogc3lzdGVtZC11ZGV2ZCBO b3QgdGFpbnRlZCA2LjExLjAtcmMzKyAjMTUyNjQKSGFyZHdhcmUgbmFtZTogSGFyZGtlcm5lbCBP RFJPSUQtQzQgKERUKQpDYWxsIHRyYWNlOgogwqBkdW1wX2JhY2t0cmFjZSsweDk0LzB4ZWMKIMKg c2hvd19zdGFjaysweDE4LzB4MjQKIMKgZHVtcF9zdGFja19sdmwrMHg5MC8weGQwCiDCoGR1bXBf c3RhY2srMHgxOC8weDI0CiDCoF9fbWlnaHRfcmVzY2hlZCsweDE0NC8weDI0OAogwqBfX21pZ2h0 X3NsZWVwKzB4NDgvMHg5OAogwqBkb3duX3dyaXRlKzB4MjgvMHhlOAogwqBrZXJuZnNfcmVtb3Zl KzB4MzQvMHg1OAogwqBzeXNmc19yZW1vdmVfZGlyKzB4NTQvMHg3MAogwqBfX2tvYmplY3RfZGVs KzB4NDAvMHhiOAogwqBrb2JqZWN0X3B1dCsweDEwNC8weDEyNAogwqBvZl9ub2RlX3B1dCsweDE4 LzB4MjgKIMKgb2ZfZ2V0X25leHRfY2hpbGQrMHg0Yy8weDgwCiDCoHRoZXJtYWxfb2Zfc2hvdWxk X2JpbmQrMHhlYy8weDI4YwogwqB0aGVybWFsX3pvbmVfY2Rldl9iaW5kaW5nKzB4MTA0LzB4MWU0 CiDCoF9fdGhlcm1hbF9jb29saW5nX2RldmljZV9yZWdpc3Rlci5wYXJ0LjArMHgxOTQvMHgyZjQK IMKgdGhlcm1hbF9vZl9jb29saW5nX2RldmljZV9yZWdpc3RlcisweDNjLzB4NTQKIMKgb2ZfZGV2 ZnJlcV9jb29saW5nX3JlZ2lzdGVyX3Bvd2VyKzB4MjIwLzB4Mjk4CiDCoGRldmZyZXFfY29vbGlu Z19lbV9yZWdpc3RlcisweDQ4LzB4YTgKIMKgcGFuZnJvc3RfZGV2ZnJlcV9pbml0KzB4Mjk0LzB4 MzIwIFtwYW5mcm9zdF0KIMKgcGFuZnJvc3RfZGV2aWNlX2luaXQrMHgxNmMvMHg1YzggW3BhbmZy b3N0XQogwqBwYW5mcm9zdF9wcm9iZSsweGJjLzB4MTk0IFtwYW5mcm9zdF0KIMKgcGxhdGZvcm1f cHJvYmUrMHg2OC8weGRjCiDCoHJlYWxseV9wcm9iZSsweGJjLzB4Mjk4CiDCoF9fZHJpdmVyX3By b2JlX2RldmljZSsweDc4LzB4MTJjCiDCoGRyaXZlcl9wcm9iZV9kZXZpY2UrMHg0MC8weDE2NAog wqBfX2RyaXZlcl9hdHRhY2grMHg5Yy8weDFhYwogwqBidXNfZm9yX2VhY2hfZGV2KzB4NzQvMHhk NAogwqBkcml2ZXJfYXR0YWNoKzB4MjQvMHgzMAogwqBidXNfYWRkX2RyaXZlcisweGU0LzB4MjA4 CiDCoGRyaXZlcl9yZWdpc3RlcisweDYwLzB4MTI4CiDCoF9fcGxhdGZvcm1fZHJpdmVyX3JlZ2lz dGVyKzB4MjgvMHgzNAogwqBwYW5mcm9zdF9kcml2ZXJfaW5pdCsweDIwLzB4MTAwMCBbcGFuZnJv c3RdCiDCoGRvX29uZV9pbml0Y2FsbCsweDY4LzB4MzAwCiDCoGRvX2luaXRfbW9kdWxlKzB4NjAv MHgyMjQKIMKgbG9hZF9tb2R1bGUrMHgxYjBjLzB4MWNiMAogwqBpbml0X21vZHVsZV9mcm9tX2Zp bGUrMHg4NC8weGM0CiDCoGlkZW1wb3RlbnRfaW5pdF9tb2R1bGUrMHgxOGMvMHgyODQKIMKgX19h cm02NF9zeXNfZmluaXRfbW9kdWxlKzB4NjQvMHhhMAogwqBpbnZva2Vfc3lzY2FsbCsweDQ4LzB4 MTEwCiDCoGVsMF9zdmNfY29tbW9uLmNvbnN0cHJvcC4wKzB4NDAvMHhlOAogwqBkb19lbDBfc3Zj X2NvbXBhdCsweDIwLzB4M2MKIMKgZWwwX3N2Y19jb21wYXQrMHg0NC8weGUwCiDCoGVsMHRfMzJf c3luY19oYW5kbGVyKzB4OTgvMHgxNDgKIMKgZWwwdF8zMl9zeW5jKzB4MTk0LzB4MTk4Cgo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpbIEJVRzogSW52YWxpZCB3YWl0IGNvbnRleHQgXQo2 LjExLjAtcmMzKyAjMTUyNjQgVGFpbnRlZDogR8KgwqDCoMKgwqDCoMKgIFcKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0Kc3lzdGVtZC11ZGV2ZC8yNjMgaXMgdHJ5aW5nIHRvIGxvY2s6CmZm ZmYwMDAwMDAwZTU5NDggKCZyb290LT5rZXJuZnNfcndzZW0peysrKyt9LXszOjN9LCBhdDogCmtl cm5mc19yZW1vdmUrMHgzNC8weDU4Cm90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVn IHRoaXM6CmNvbnRleHQtezQ6NH0KNCBsb2NrcyBoZWxkIGJ5IHN5c3RlbWQtdWRldmQvMjYzOgog wqAjMDogZmZmZjAwMDAwMTM3NjhmOCAoJmRldi0+bXV0ZXgpey4uLi59LXszOjN9LCBhdDogCl9f ZHJpdmVyX2F0dGFjaCsweDkwLzB4MWFjCiDCoCMxOiBmZmZmODAwMDgzNDllMWEwICh0aGVybWFs X2xpc3RfbG9jayl7Ky4rLn0tezM6M30sIGF0OiAKX190aGVybWFsX2Nvb2xpbmdfZGV2aWNlX3Jl Z2lzdGVyLnBhcnQuMCsweDE1NC8weDJmNAogwqAjMjogZmZmZjAwMDAwMDk4ODcwMCAoJnR6LT5s b2NrKXsrLisufS17MzozfSwgYXQ6IAp0aGVybWFsX3pvbmVfY2Rldl9iaW5kaW5nKzB4ODQvMHgx ZTQKIMKgIzM6IGZmZmY4MDAwODM0YjhhOTggKGRldnRyZWVfbG9jayl7Li4uLn0tezI6Mn0sIGF0 OiAKb2ZfZ2V0X25leHRfY2hpbGQrMHgyYy8weDgwCnN0YWNrIGJhY2t0cmFjZToKQ1BVOiAzIFVJ RDogMCBQSUQ6IDI2MyBDb21tOiBzeXN0ZW1kLXVkZXZkIFRhaW50ZWQ6IEcgV8KgwqDCoMKgwqDC oMKgwqDCoCAKNi4xMS4wLXJjMysgIzE1MjY0ClRhaW50ZWQ6IFtXXT1XQVJOCkhhcmR3YXJlIG5h bWU6IEhhcmRrZXJuZWwgT0RST0lELUM0IChEVCkKQ2FsbCB0cmFjZToKIMKgZHVtcF9iYWNrdHJh Y2UrMHg5NC8weGVjCiDCoHNob3dfc3RhY2srMHgxOC8weDI0CiDCoGR1bXBfc3RhY2tfbHZsKzB4 OTAvMHhkMAogwqBkdW1wX3N0YWNrKzB4MTgvMHgyNAogwqBfX2xvY2tfYWNxdWlyZSsweDlmYy8w eDIxYTAKIMKgbG9ja19hY3F1aXJlKzB4MjAwLzB4MzQwCiDCoGRvd25fd3JpdGUrMHg1MC8weGU4 CiDCoGtlcm5mc19yZW1vdmUrMHgzNC8weDU4CiDCoHN5c2ZzX3JlbW92ZV9kaXIrMHg1NC8weDcw CiDCoF9fa29iamVjdF9kZWwrMHg0MC8weGI4CiDCoGtvYmplY3RfcHV0KzB4MTA0LzB4MTI0CiDC oG9mX25vZGVfcHV0KzB4MTgvMHgyOAogwqBvZl9nZXRfbmV4dF9jaGlsZCsweDRjLzB4ODAKIMKg dGhlcm1hbF9vZl9zaG91bGRfYmluZCsweGVjLzB4MjhjCiDCoHRoZXJtYWxfem9uZV9jZGV2X2Jp bmRpbmcrMHgxMDQvMHgxZTQKIMKgX190aGVybWFsX2Nvb2xpbmdfZGV2aWNlX3JlZ2lzdGVyLnBh cnQuMCsweDE5NC8weDJmNAogwqB0aGVybWFsX29mX2Nvb2xpbmdfZGV2aWNlX3JlZ2lzdGVyKzB4 M2MvMHg1NAogwqBvZl9kZXZmcmVxX2Nvb2xpbmdfcmVnaXN0ZXJfcG93ZXIrMHgyMjAvMHgyOTgK IMKgZGV2ZnJlcV9jb29saW5nX2VtX3JlZ2lzdGVyKzB4NDgvMHhhOAogwqBwYW5mcm9zdF9kZXZm cmVxX2luaXQrMHgyOTQvMHgzMjAgW3BhbmZyb3N0XQogwqBwYW5mcm9zdF9kZXZpY2VfaW5pdCsw eDE2Yy8weDVjOCBbcGFuZnJvc3RdCiDCoHBhbmZyb3N0X3Byb2JlKzB4YmMvMHgxOTQgW3BhbmZy b3N0XQogwqBwbGF0Zm9ybV9wcm9iZSsweDY4LzB4ZGMKIMKgcmVhbGx5X3Byb2JlKzB4YmMvMHgy OTgKIMKgX19kcml2ZXJfcHJvYmVfZGV2aWNlKzB4NzgvMHgxMmMKIMKgZHJpdmVyX3Byb2JlX2Rl dmljZSsweDQwLzB4MTY0CiDCoF9fZHJpdmVyX2F0dGFjaCsweDljLzB4MWFjCiDCoGJ1c19mb3Jf ZWFjaF9kZXYrMHg3NC8weGQ0CiDCoGRyaXZlcl9hdHRhY2grMHgyNC8weDMwCiDCoGJ1c19hZGRf ZHJpdmVyKzB4ZTQvMHgyMDgKIMKgZHJpdmVyX3JlZ2lzdGVyKzB4NjAvMHgxMjgKIMKgX19wbGF0 Zm9ybV9kcml2ZXJfcmVnaXN0ZXIrMHgyOC8weDM0CiDCoHBhbmZyb3N0X2RyaXZlcl9pbml0KzB4 MjAvMHgxMDAwIFtwYW5mcm9zdF0KIMKgZG9fb25lX2luaXRjYWxsKzB4NjgvMHgzMDAKIMKgZG9f aW5pdF9tb2R1bGUrMHg2MC8weDIyNAogwqBsb2FkX21vZHVsZSsweDFiMGMvMHgxY2IwCiDCoGlu aXRfbW9kdWxlX2Zyb21fZmlsZSsweDg0LzB4YzQKIMKgaWRlbXBvdGVudF9pbml0X21vZHVsZSsw eDE4Yy8weDI4NAogwqBfX2FybTY0X3N5c19maW5pdF9tb2R1bGUrMHg2NC8weGEwCiDCoGludm9r ZV9zeXNjYWxsKzB4NDgvMHgxMTAKIMKgZWwwX3N2Y19jb21tb24uY29uc3Rwcm9wLjArMHg0MC8w eGU4CiDCoGRvX2VsMF9zdmNfY29tcGF0KzB4MjAvMHgzYwogwqBlbDBfc3ZjX2NvbXBhdCsweDQ0 LzB4ZTAKIMKgZWwwdF8zMl9zeW5jX2hhbmRsZXIrMHg5OC8weDE0OAogwqBlbDB0XzMyX3N5bmMr MHgxOTQvMHgxOTgKcmN1OiBJTkZPOiByY3VfcHJlZW1wdCBkZXRlY3RlZCBzdGFsbHMgb24gQ1BV cy90YXNrczoKcmN1OsKgwqDCoMKgIDItLi4uITogKDAgdGlja3MgdGhpcyBHUCkgaWRsZT0yYWFj LzEvMHg0MDAwMDAwMDAwMDAwMDAwIApzb2Z0aXJxPTc5OC83OTggZnFzPTQKcmN1OsKgwqDCoMKg IDMtLi4uITogKDAgdGlja3MgdGhpcyBHUCkgaWRsZT0yOGE0LzEvMHg0MDAwMDAwMDAwMDAwMDAw IApzb2Z0aXJxPTEwMDcvMTAwNyBmcXM9NApyY3U6wqDCoMKgwqAgKGRldGVjdGVkIGJ5IDAsIHQ9 NjUwNSBqaWZmaWVzLCBnPTM0OSwgcT00NiBuY3B1cz00KQpTZW5kaW5nIE5NSSBmcm9tIENQVSAw IHRvIENQVXMgMjoKU2VuZGluZyBOTUkgZnJvbSBDUFUgMCB0byBDUFVzIDM6CnJjdTogcmN1X3By ZWVtcHQga3RocmVhZCB0aW1lciB3YWtldXAgZGlkbid0IGhhcHBlbiBmb3IgNjQ4MyBqaWZmaWVz ISAKZzM0OSBmMHgwIFJDVV9HUF9XQUlUX0ZRUyg1KSAtPnN0YXRlPTB4NDAyCnJjdTrCoMKgwqDC oCBQb3NzaWJsZSB0aW1lciBoYW5kbGluZyBpc3N1ZSBvbiBjcHU9MSB0aW1lci1zb2Z0aXJxPTI2 MApyY3U6IHJjdV9wcmVlbXB0IGt0aHJlYWQgc3RhcnZlZCBmb3IgNjQ4NCBqaWZmaWVzISBnMzQ5 IGYweDAgClJDVV9HUF9XQUlUX0ZRUyg1KSAtPnN0YXRlPTB4NDAyIC0+Y3B1PTEKcmN1OsKgwqDC oMKgIFVubGVzcyByY3VfcHJlZW1wdCBrdGhyZWFkIGdldHMgc3VmZmljaWVudCBDUFUgdGltZSwg T09NIGlzIG5vdyAKZXhwZWN0ZWQgYmVoYXZpb3IuCnJjdTogUkNVIGdyYWNlLXBlcmlvZCBrdGhy ZWFkIHN0YWNrIGR1bXA6CnRhc2s6cmN1X3ByZWVtcHTCoMKgwqDCoCBzdGF0ZTpJIHN0YWNrOjDC oMKgwqDCoCBwaWQ6MTbCoMKgwqAgdGdpZDoxNiBwcGlkOjLCoMKgwqDCoMKgIApmbGFnczoweDAw MDAwMDA4CkNhbGwgdHJhY2U6CiDCoF9fc3dpdGNoX3RvKzB4ZTAvMHgxMjQKIMKgX19zY2hlZHVs ZSsweDMxOC8weGMzMAogwqBzY2hlZHVsZSsweDUwLzB4MTVjCiDCoHNjaGVkdWxlX3RpbWVvdXQr MHhhYy8weDEzNAogwqByY3VfZ3BfZnFzX2xvb3ArMHgxNmMvMHg4YjQKIMKgcmN1X2dwX2t0aHJl YWQrMHgyODAvMHgzMTQKIMKga3RocmVhZCsweDEyNC8weDEyOAogwqByZXRfZnJvbV9mb3JrKzB4 MTAvMHgyMApyY3U6IFN0YWNrIGR1bXAgd2hlcmUgUkNVIEdQIGt0aHJlYWQgbGFzdCByYW46ClNl bmRpbmcgTk1JIGZyb20gQ1BVIDAgdG8gQ1BVcyAxOgpyY3U6IElORk86IHJjdV9wcmVlbXB0IGRl dGVjdGVkIHN0YWxscyBvbiBDUFVzL3Rhc2tzOgpyY3U6wqDCoMKgwqAgMi0uLi4hOiAoMCB0aWNr cyB0aGlzIEdQKSBpZGxlPTJhYWMvMS8weDQwMDAwMDAwMDAwMDAwMDAgCnNvZnRpcnE9Nzk4Lzc5 OCBmcXM9NApyY3U6wqDCoMKgwqAgMy0uLi4hOiAoMCB0aWNrcyB0aGlzIEdQKSBpZGxlPTI4YTQv MS8weDQwMDAwMDAwMDAwMDAwMDAgCnNvZnRpcnE9MTAwNy8xMDA3IGZxcz00CnJjdTrCoMKgwqDC oCAoZGV0ZWN0ZWQgYnkgMCwgdD0yNjAxMyBqaWZmaWVzLCBnPTM0OSwgcT00NiBuY3B1cz00KQpT ZW5kaW5nIE5NSSBmcm9tIENQVSAwIHRvIENQVXMgMjoKU2VuZGluZyBOTUkgZnJvbSBDUFUgMCB0 byBDUFVzIDM6CgpMZXQgbWUga25vdyBpZiBJIGNhbiBoZWxwIGRlYnVnZ2luZyB0aGlzIGlzc3Vl IGZ1cnRoZXIuCgo+IC0tLQo+Cj4gdjIgLT4gdjM6IFJlb3JkZXIgKHByZXZpb3VzbHkgWzE0LzE3 XSkKPgo+IHYxIC0+IHYyOgo+ICAgICAqIEZpeCBhIGJ1aWxkIGlzc3VlICh1bmRlZmluZWQgc3lt Ym9sKQo+Cj4gVGhpcyBwYXRjaCBvbmx5IGRlcGVuZHMgb24gdGhlIFswNi8xNF0gaW50cm9kdWNp bmcgdGhlIC5zaG91bGRfYmluZCgpCj4gdGhlcm1hbCB6b25lIGNhbGxiYWNrOgo+Cj4gaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtcG0vOTMzNDQwMy5DREprS2NWR0VmQHJqd3lzb2NraS5u ZXQvCj4KPiAtLS0KPiAgIGRyaXZlcnMvdGhlcm1hbC90aGVybWFsX29mLmMgfCAgMTcxICsrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFuZ2Vk LCA0MSBpbnNlcnRpb25zKCspLCAxMzAgZGVsZXRpb25zKC0pCj4KPiBJbmRleDogbGludXgtcG0v ZHJpdmVycy90aGVybWFsL3RoZXJtYWxfb2YuYwo+ID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAtLS0gbGludXgtcG0u b3JpZy9kcml2ZXJzL3RoZXJtYWwvdGhlcm1hbF9vZi5jCj4gKysrIGxpbnV4LXBtL2RyaXZlcnMv dGhlcm1hbC90aGVybWFsX29mLmMKPiBAQCAtMjAsMzcgKzIwLDYgQEAKPiAgIAo+ICAgLyoqKiAg IGZ1bmN0aW9ucyBwYXJzaW5nIGRldmljZSB0cmVlIG5vZGVzICAgKioqLwo+ICAgCj4gLXN0YXRp YyBpbnQgb2ZfZmluZF90cmlwX2lkKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIHN0cnVjdCBkZXZp Y2Vfbm9kZSAqdHJpcCkKPiAtewo+IC0Jc3RydWN0IGRldmljZV9ub2RlICp0cmlwczsKPiAtCXN0 cnVjdCBkZXZpY2Vfbm9kZSAqdDsKPiAtCWludCBpID0gMDsKPiAtCj4gLQl0cmlwcyA9IG9mX2dl dF9jaGlsZF9ieV9uYW1lKG5wLCAidHJpcHMiKTsKPiAtCWlmICghdHJpcHMpIHsKPiAtCQlwcl9l cnIoIkZhaWxlZCB0byBmaW5kICd0cmlwcycgbm9kZVxuIik7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7 Cj4gLQl9Cj4gLQo+IC0JLyoKPiAtCSAqIEZpbmQgdGhlIHRyaXAgaWQgcG9pbnQgYXNzb2NpYXRl ZCB3aXRoIHRoZSBjb29saW5nIGRldmljZSBtYXAKPiAtCSAqLwo+IC0JZm9yX2VhY2hfY2hpbGRf b2Zfbm9kZSh0cmlwcywgdCkgewo+IC0KPiAtCQlpZiAodCA9PSB0cmlwKSB7Cj4gLQkJCW9mX25v ZGVfcHV0KHQpOwo+IC0JCQlnb3RvIG91dDsKPiAtCQl9Cj4gLQkJaSsrOwo+IC0JfQo+IC0KPiAt CWkgPSAtRU5YSU87Cj4gLW91dDoKPiAtCW9mX25vZGVfcHV0KHRyaXBzKTsKPiAtCj4gLQlyZXR1 cm4gaTsKPiAtfQo+IC0KPiAgIC8qCj4gICAgKiBJdCBtYXBzICdlbnVtIHRoZXJtYWxfdHJpcF90 eXBlJyBmb3VuZCBpbiBpbmNsdWRlL2xpbnV4L3RoZXJtYWwuaAo+ICAgICogaW50byB0aGUgZGV2 aWNlIHRyZWUgYmluZGluZyBvZiAndHJpcCcsIHByb3BlcnR5IHR5cGUuCj4gQEAgLTExOSw2ICs4 OCw4IEBAIHN0YXRpYyBpbnQgdGhlcm1hbF9vZl9wb3B1bGF0ZV90cmlwKHN0cnUKPiAgIAo+ICAg CXRyaXAtPmZsYWdzID0gVEhFUk1BTF9UUklQX0ZMQUdfUldfVEVNUDsKPiAgIAo+ICsJdHJpcC0+ cHJpdiA9IG5wOwo+ICsKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAgIAo+IEBAIC0yOTAsMzkgKzI2 MSw5IEBAIHN0YXRpYyBzdHJ1Y3QgZGV2aWNlX25vZGUgKnRoZXJtYWxfb2Zfem8KPiAgIAlyZXR1 cm4gdHpfbnA7Cj4gICB9Cj4gICAKPiAtc3RhdGljIGludCBfX3RoZXJtYWxfb2ZfdW5iaW5kKHN0 cnVjdCBkZXZpY2Vfbm9kZSAqbWFwX25wLCBpbnQgaW5kZXgsIGludCB0cmlwX2lkLAo+IC0JCQkg ICAgICAgc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2UgKnR6LCBzdHJ1Y3QgdGhlcm1hbF9jb29s aW5nX2RldmljZSAqY2RldikKPiAtewo+IC0Jc3RydWN0IG9mX3BoYW5kbGVfYXJncyBjb29saW5n X3NwZWM7Cj4gLQlpbnQgcmV0Owo+IC0KPiAtCXJldCA9IG9mX3BhcnNlX3BoYW5kbGVfd2l0aF9h cmdzKG1hcF9ucCwgImNvb2xpbmctZGV2aWNlIiwgIiNjb29saW5nLWNlbGxzIiwKPiAtCQkJCQkg aW5kZXgsICZjb29saW5nX3NwZWMpOwo+IC0KPiAtCWlmIChyZXQgPCAwKSB7Cj4gLQkJcHJfZXJy KCJJbnZhbGlkIGNvb2xpbmctZGV2aWNlIGVudHJ5XG4iKTsKPiAtCQlyZXR1cm4gcmV0Owo+IC0J fQo+IC0KPiAtCW9mX25vZGVfcHV0KGNvb2xpbmdfc3BlYy5ucCk7Cj4gLQo+IC0JaWYgKGNvb2xp bmdfc3BlYy5hcmdzX2NvdW50IDwgMikgewo+IC0JCXByX2Vycigid3JvbmcgcmVmZXJlbmNlIHRv IGNvb2xpbmcgZGV2aWNlLCBtaXNzaW5nIGxpbWl0c1xuIik7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7 Cj4gLQl9Cj4gLQo+IC0JaWYgKGNvb2xpbmdfc3BlYy5ucCAhPSBjZGV2LT5ucCkKPiAtCQlyZXR1 cm4gMDsKPiAtCj4gLQlyZXQgPSB0aGVybWFsX3pvbmVfdW5iaW5kX2Nvb2xpbmdfZGV2aWNlKHR6 LCB0cmlwX2lkLCBjZGV2KTsKPiAtCWlmIChyZXQpCj4gLQkJcHJfZXJyKCJGYWlsZWQgdG8gdW5i aW5kICclcycgd2l0aCAnJXMnOiAlZFxuIiwgdHotPnR5cGUsIGNkZXYtPnR5cGUsIHJldCk7Cj4g LQo+IC0JcmV0dXJuIHJldDsKPiAtfQo+IC0KPiAtc3RhdGljIGludCBfX3RoZXJtYWxfb2ZfYmlu ZChzdHJ1Y3QgZGV2aWNlX25vZGUgKm1hcF9ucCwgaW50IGluZGV4LCBpbnQgdHJpcF9pZCwKPiAt CQkJICAgICBzdHJ1Y3QgdGhlcm1hbF96b25lX2RldmljZSAqdHosIHN0cnVjdCB0aGVybWFsX2Nv b2xpbmdfZGV2aWNlICpjZGV2KQo+ICtzdGF0aWMgYm9vbCB0aGVybWFsX29mX2dldF9jb29saW5n X3NwZWMoc3RydWN0IGRldmljZV9ub2RlICptYXBfbnAsIGludCBpbmRleCwKPiArCQkJCQlzdHJ1 Y3QgdGhlcm1hbF9jb29saW5nX2RldmljZSAqY2RldiwKPiArCQkJCQlzdHJ1Y3QgY29vbGluZ19z cGVjICpjKQo+ICAgewo+ICAgCXN0cnVjdCBvZl9waGFuZGxlX2FyZ3MgY29vbGluZ19zcGVjOwo+ ICAgCWludCByZXQsIHdlaWdodCA9IFRIRVJNQUxfV0VJR0hUX0RFRkFVTFQ7Cj4gQEAgLTMzNCwx MDQgKzI3NSw3NSBAQCBzdGF0aWMgaW50IF9fdGhlcm1hbF9vZl9iaW5kKHN0cnVjdCBkZXZpCj4g ICAKPiAgIAlpZiAocmV0IDwgMCkgewo+ICAgCQlwcl9lcnIoIkludmFsaWQgY29vbGluZy1kZXZp Y2UgZW50cnlcbiIpOwo+IC0JCXJldHVybiByZXQ7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAgCX0K PiAgIAo+ICAgCW9mX25vZGVfcHV0KGNvb2xpbmdfc3BlYy5ucCk7Cj4gICAKPiAgIAlpZiAoY29v bGluZ19zcGVjLmFyZ3NfY291bnQgPCAyKSB7Cj4gICAJCXByX2Vycigid3JvbmcgcmVmZXJlbmNl IHRvIGNvb2xpbmcgZGV2aWNlLCBtaXNzaW5nIGxpbWl0c1xuIik7Cj4gLQkJcmV0dXJuIC1FSU5W QUw7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAgCX0KPiAgIAo+ICAgCWlmIChjb29saW5nX3NwZWMu bnAgIT0gY2Rldi0+bnApCj4gLQkJcmV0dXJuIDA7Cj4gLQo+IC0JcmV0ID0gdGhlcm1hbF96b25l X2JpbmRfY29vbGluZ19kZXZpY2UodHosIHRyaXBfaWQsIGNkZXYsIGNvb2xpbmdfc3BlYy5hcmdz WzFdLAo+IC0JCQkJCSAgICAgICBjb29saW5nX3NwZWMuYXJnc1swXSwKPiAtCQkJCQkgICAgICAg d2VpZ2h0KTsKPiAtCWlmIChyZXQpCj4gLQkJcHJfZXJyKCJGYWlsZWQgdG8gYmluZCAnJXMnIHdp dGggJyVzJzogJWRcbiIsIHR6LT50eXBlLCBjZGV2LT50eXBlLCByZXQpOwo+IC0KPiAtCXJldHVy biByZXQ7Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbnQgdGhlcm1hbF9vZl9mb3JfZWFjaF9jb29saW5n X2RldmljZShzdHJ1Y3QgZGV2aWNlX25vZGUgKnR6X25wLCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm1h cF9ucCwKPiAtCQkJCQkgICAgICBzdHJ1Y3QgdGhlcm1hbF96b25lX2RldmljZSAqdHosIHN0cnVj dCB0aGVybWFsX2Nvb2xpbmdfZGV2aWNlICpjZGV2LAo+IC0JCQkJCSAgICAgIGludCAoKmFjdGlv bikoc3RydWN0IGRldmljZV9ub2RlICosIGludCwgaW50LAo+IC0JCQkJCQkJICAgIHN0cnVjdCB0 aGVybWFsX3pvbmVfZGV2aWNlICosIHN0cnVjdCB0aGVybWFsX2Nvb2xpbmdfZGV2aWNlICopKQo+ IC17Cj4gLQlzdHJ1Y3QgZGV2aWNlX25vZGUgKnRyX25wOwo+IC0JaW50IGNvdW50LCBpLCB0cmlw X2lkOwo+IC0KPiAtCXRyX25wID0gb2ZfcGFyc2VfcGhhbmRsZShtYXBfbnAsICJ0cmlwIiwgMCk7 Cj4gLQlpZiAoIXRyX25wKQo+IC0JCXJldHVybiAtRU5PREVWOwo+IC0KPiAtCXRyaXBfaWQgPSBv Zl9maW5kX3RyaXBfaWQodHpfbnAsIHRyX25wKTsKPiAtCWlmICh0cmlwX2lkIDwgMCkKPiAtCQly ZXR1cm4gdHJpcF9pZDsKPiAtCj4gLQljb3VudCA9IG9mX2NvdW50X3BoYW5kbGVfd2l0aF9hcmdz KG1hcF9ucCwgImNvb2xpbmctZGV2aWNlIiwgIiNjb29saW5nLWNlbGxzIik7Cj4gLQlpZiAoY291 bnQgPD0gMCkgewo+IC0JCXByX2VycigiQWRkIGEgY29vbGluZ19kZXZpY2UgcHJvcGVydHkgd2l0 aCBhdCBsZWFzdCBvbmUgZGV2aWNlXG4iKTsKPiAtCQlyZXR1cm4gLUVOT0VOVDsKPiAtCX0KPiAr CQlyZXR1cm4gZmFsc2U7Cj4gICAKPiAtCS8qCj4gLQkgKiBBdCB0aGlzIHBvaW50LCB3ZSBkb24n dCB3YW50IHRvIGJhaWwgb3V0IHdoZW4gdGhlcmUgaXMgYW4KPiAtCSAqIGVycm9yLCB3ZSB3aWxs IHRyeSB0byBiaW5kL3VuYmluZCBhcyBtYW55IGFzIHBvc3NpYmxlCj4gLQkgKiBjb29saW5nIGRl dmljZXMKPiAtCSAqLwo+IC0JZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspCj4gLQkJYWN0aW9u KG1hcF9ucCwgaSwgdHJpcF9pZCwgdHosIGNkZXYpOwo+ICsJYy0+bG93ZXIgPSBjb29saW5nX3Nw ZWMuYXJnc1swXTsKPiArCWMtPnVwcGVyID0gY29vbGluZ19zcGVjLmFyZ3NbMV07Cj4gKwljLT53 ZWlnaHQgPSB3ZWlnaHQ7Cj4gICAKPiAtCXJldHVybiAwOwo+ICsJcmV0dXJuIHRydWU7Cj4gICB9 Cj4gICAKPiAtc3RhdGljIGludCB0aGVybWFsX29mX2Zvcl9lYWNoX2Nvb2xpbmdfbWFwcyhzdHJ1 Y3QgdGhlcm1hbF96b25lX2RldmljZSAqdHosCj4gLQkJCQkJICAgIHN0cnVjdCB0aGVybWFsX2Nv b2xpbmdfZGV2aWNlICpjZGV2LAo+IC0JCQkJCSAgICBpbnQgKCphY3Rpb24pKHN0cnVjdCBkZXZp Y2Vfbm9kZSAqLCBpbnQsIGludCwKPiAtCQkJCQkJCSAgc3RydWN0IHRoZXJtYWxfem9uZV9kZXZp Y2UgKiwgc3RydWN0IHRoZXJtYWxfY29vbGluZ19kZXZpY2UgKikpCj4gK3N0YXRpYyBib29sIHRo ZXJtYWxfb2Zfc2hvdWxkX2JpbmQoc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2UgKnR6LAo+ICsJ CQkJICAgY29uc3Qgc3RydWN0IHRoZXJtYWxfdHJpcCAqdHJpcCwKPiArCQkJCSAgIHN0cnVjdCB0 aGVybWFsX2Nvb2xpbmdfZGV2aWNlICpjZGV2LAo+ICsJCQkJICAgc3RydWN0IGNvb2xpbmdfc3Bl YyAqYykKPiAgIHsKPiAgIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKnR6X25wLCAqY21fbnAsICpjaGls ZDsKPiAtCWludCByZXQgPSAwOwo+ICsJYm9vbCByZXN1bHQgPSBmYWxzZTsKPiAgIAo+ICAgCXR6 X25wID0gdGhlcm1hbF9vZl96b25lX2dldF9ieV9uYW1lKHR6KTsKPiAgIAlpZiAoSVNfRVJSKHR6 X25wKSkgewo+ICAgCQlwcl9lcnIoIkZhaWxlZCB0byBnZXQgbm9kZSB0eiBieSBuYW1lXG4iKTsK PiAtCQlyZXR1cm4gUFRSX0VSUih0el9ucCk7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAgCX0KPiAg IAo+ICAgCWNtX25wID0gb2ZfZ2V0X2NoaWxkX2J5X25hbWUodHpfbnAsICJjb29saW5nLW1hcHMi KTsKPiAgIAlpZiAoIWNtX25wKQo+ICAgCQlnb3RvIG91dDsKPiAgIAo+ICsJLyogTG9vayB1cCB0 aGUgdHJpcCBhbmQgdGhlIGNkZXYgaW4gdGhlIGNvb2xpbmcgbWFwcy4gKi8KPiAgIAlmb3JfZWFj aF9jaGlsZF9vZl9ub2RlKGNtX25wLCBjaGlsZCkgewo+IC0JCXJldCA9IHRoZXJtYWxfb2ZfZm9y X2VhY2hfY29vbGluZ19kZXZpY2UodHpfbnAsIGNoaWxkLCB0eiwgY2RldiwgYWN0aW9uKTsKPiAt CQlpZiAocmV0KSB7Cj4gKwkJc3RydWN0IGRldmljZV9ub2RlICp0cl9ucDsKPiArCQlpbnQgY291 bnQsIGk7Cj4gKwo+ICsJCXRyX25wID0gb2ZfcGFyc2VfcGhhbmRsZShjaGlsZCwgInRyaXAiLCAw KTsKPiArCQlpZiAodHJfbnAgIT0gdHJpcC0+cHJpdikgewo+ICAgCQkJb2Zfbm9kZV9wdXQoY2hp bGQpOwo+IC0JCQlicmVhazsKPiArCQkJY29udGludWU7Cj4gKwkJfQo+ICsKPiArCQkvKiBUaGUg dHJpcCBoYXMgYmVlbiBmb3VuZCwgbG9vayB1cCB0aGUgY2Rldi4gKi8KPiArCQljb3VudCA9IG9m X2NvdW50X3BoYW5kbGVfd2l0aF9hcmdzKGNoaWxkLCAiY29vbGluZy1kZXZpY2UiLCAiI2Nvb2xp bmctY2VsbHMiKTsKPiArCQlpZiAoY291bnQgPD0gMCkKPiArCQkJcHJfZXJyKCJBZGQgYSBjb29s aW5nX2RldmljZSBwcm9wZXJ0eSB3aXRoIGF0IGxlYXN0IG9uZSBkZXZpY2VcbiIpOwo+ICsKPiAr CQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewo+ICsJCQlyZXN1bHQgPSB0aGVybWFsX29m X2dldF9jb29saW5nX3NwZWMoY2hpbGQsIGksIGNkZXYsIGMpOwo+ICsJCQlpZiAocmVzdWx0KQo+ ICsJCQkJYnJlYWs7Cj4gICAJCX0KPiArCj4gKwkJb2Zfbm9kZV9wdXQoY2hpbGQpOwo+ICsJCWJy ZWFrOwo+ICAgCX0KPiAgIAo+ICAgCW9mX25vZGVfcHV0KGNtX25wKTsKPiAgIG91dDoKPiAgIAlv Zl9ub2RlX3B1dCh0el9ucCk7Cj4gICAKPiAtCXJldHVybiByZXQ7Cj4gLX0KPiAtCj4gLXN0YXRp YyBpbnQgdGhlcm1hbF9vZl9iaW5kKHN0cnVjdCB0aGVybWFsX3pvbmVfZGV2aWNlICp0eiwKPiAt CQkJICAgc3RydWN0IHRoZXJtYWxfY29vbGluZ19kZXZpY2UgKmNkZXYpCj4gLXsKPiAtCXJldHVy biB0aGVybWFsX29mX2Zvcl9lYWNoX2Nvb2xpbmdfbWFwcyh0eiwgY2RldiwgX190aGVybWFsX29m X2JpbmQpOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IHRoZXJtYWxfb2ZfdW5iaW5kKHN0cnVjdCB0 aGVybWFsX3pvbmVfZGV2aWNlICp0eiwKPiAtCQkJICAgICBzdHJ1Y3QgdGhlcm1hbF9jb29saW5n X2RldmljZSAqY2RldikKPiAtewo+IC0JcmV0dXJuIHRoZXJtYWxfb2ZfZm9yX2VhY2hfY29vbGlu Z19tYXBzKHR6LCBjZGV2LCBfX3RoZXJtYWxfb2ZfdW5iaW5kKTsKPiArCXJldHVybiByZXN1bHQ7 Cj4gICB9Cj4gICAKPiAgIC8qKgo+IEBAIC01MDIsOCArNDE0LDcgQEAgc3RhdGljIHN0cnVjdCB0 aGVybWFsX3pvbmVfZGV2aWNlICp0aGVybQo+ICAgCj4gICAJdGhlcm1hbF9vZl9wYXJhbWV0ZXJz X2luaXQobnAsICZ0enApOwo+ICAgCj4gLQlvZl9vcHMuYmluZCA9IHRoZXJtYWxfb2ZfYmluZDsK PiAtCW9mX29wcy51bmJpbmQgPSB0aGVybWFsX29mX3VuYmluZDsKPiArCW9mX29wcy5zaG91bGRf YmluZCA9IHRoZXJtYWxfb2Zfc2hvdWxkX2JpbmQ7Cj4gICAKPiAgIAlyZXQgPSBvZl9wcm9wZXJ0 eV9yZWFkX3N0cmluZyhucCwgImNyaXRpY2FsLWFjdGlvbiIsICZhY3Rpb24pOwo+ICAgCWlmICgh cmV0KQo+Cj4KPgo+CkJlc3QgcmVnYXJkcwotLSAKTWFyZWsgU3p5cHJvd3NraSwgUGhEClNhbXN1 bmcgUiZEIEluc3RpdHV0ZSBQb2xhbmQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2lj QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hbWxvZ2ljCg==