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 21931C433EF for ; Wed, 2 Feb 2022 15:47:56 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References: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=9ALPpBbXACpsAP9YqOjQ9nG+L/dFvHCoYXiMw1BK9Fw=; b=tmkvOOJAJ3sKYT 1A1F7x3MLoPkkLmhEsCm4/SiD3RFvRizDhZiTT9TZWV8OfqbjGSnHtYfKXUiIjrxQqCznB9Tz/tnS 3X0soYgLQhtBHMDMSR+jBwrjZvDia6/6VidsYHcYKEiHdin/MSW6EsujMZ2DIoZOl4xMiapQ5Ghx8 ZcGQgGonU6QJQ7kZnevo+Vg/kvGNOxiRi/Bw+AAISELH2TACfFL43nMfqCYHooKFStxvI7fgTDeRS IQBfEOxGlJ2BpYf1WKThHsAUZXZ5SZlR+Wt4EfOX+0n3awFvyMWsqx3sNTbZb8gNwJ8Mu28jYDDy4 YNmWYOrBNuBYMNX8q8Zw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nFHpW-00G3Uo-FI; Wed, 02 Feb 2022 15:45:59 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nFHaq-00Fzgy-16; Wed, 02 Feb 2022 15:30:50 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7D586113E; Wed, 2 Feb 2022 07:30:46 -0800 (PST) Received: from [192.168.122.164] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1971E3F73B; Wed, 2 Feb 2022 07:30:46 -0800 (PST) Message-ID: Date: Wed, 2 Feb 2022 09:30:45 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: [PATCH] serial: 8250_bcm2835aux: Add ACPI support Content-Language: en-US To: Florian Fainelli , Adrien Thierry , linux-serial@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , Jiri Slaby , Nicolas Saenz Julienne , Ray Jui , Scott Branden , bcm-kernel-feedback-list@broadcom.com References: <20220201185001.926338-1-athierry@redhat.com> <412a456d-7294-a124-8a01-f052915348b4@gmail.com> <1ed6d576-63cb-fdd5-eaee-cc4154d25e0d@arm.com> <4502f052-9740-4e1e-0466-ddc92ff1fc0f@gmail.com> From: Jeremy Linton In-Reply-To: <4502f052-9740-4e1e-0466-ddc92ff1fc0f@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220202_073048_230174_F9BCE9DE X-CRM114-Status: GOOD ( 31.93 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCgpPbiAyLzEvMjIgMjE6MzksIEZsb3JpYW4gRmFpbmVsbGkgd3JvdGU6Cj4gCj4gCj4gT24g Mi8xLzIwMjIgMTI6NDIgUE0sIEplcmVteSBMaW50b24gd3JvdGU6Cj4+IEhpLAo+Pgo+PiBPbiAy LzEvMjIgMTM6MjQsIEZsb3JpYW4gRmFpbmVsbGkgd3JvdGU6Cj4+Pgo+Pj4KPj4+IE9uIDIvMS8y MDIyIDEwOjUwIEFNLCBBZHJpZW4gVGhpZXJyeSB3cm90ZToKPj4+PiBBZGQgQUNQSSBzdXBwb3J0 IHRvIDgyNTBfYmNtMjgzNWF1eCBkcml2ZXIuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8KPj4+ PiB1c2UgdGhlIG1pbml1YXJ0IG9uIHRoZSBSYXNwYmVycnkgUGkgd2l0aCB0aGUgdGlhbm9jb3Jl L2VkazIgVUVGSQo+Pj4+IGZpcm13YXJlLgo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogQWRyaWVu IFRoaWVycnkgPGF0aGllcnJ5QHJlZGhhdC5jb20+Cj4+Pj4gLS0tCj4+Pj4gwqAgZHJpdmVycy90 dHkvc2VyaWFsLzgyNTAvODI1MF9iY20yODM1YXV4LmMgfCAxMDMgCj4+Pj4gKysrKysrKysrKysr KysrKystLS0tLQo+Pj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCAyMCBk ZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3R0eS9zZXJpYWwvODI1 MC84MjUwX2JjbTI4MzVhdXguYyAKPj4+PiBiL2RyaXZlcnMvdHR5L3NlcmlhbC84MjUwLzgyNTBf YmNtMjgzNWF1eC5jCj4+Pj4gaW5kZXggZmQ5NTg2MGNkLi5iOTA0YjMyMWUgMTAwNjQ0Cj4+Pj4g LS0tIGEvZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9iY20yODM1YXV4LmMKPj4+PiArKysg Yi9kcml2ZXJzL3R0eS9zZXJpYWwvODI1MC84MjUwX2JjbTI4MzVhdXguYwo+Pj4+IEBAIC0xMiw2 ICsxMiw3IEBACj4+Pj4gwqDCoCAqIHNpbXVsdGFuZW91c2x5IHRvIHJzNDg1Lgo+Pj4+IMKgwqAg Ki8KPj4+PiArI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KPj4+PiDCoCAjaW5jbHVkZSA8bGludXgv Y2xrLmg+Cj4+Pj4gwqAgI2luY2x1ZGUgPGxpbnV4L2lvLmg+Cj4+Pj4gwqAgI2luY2x1ZGUgPGxp bnV4L21vZHVsZS5oPgo+Pj4+IEBAIC00NCw2ICs0NSwxMCBAQCBzdHJ1Y3QgYmNtMjgzNWF1eF9k YXRhIHsKPj4+PiDCoMKgwqDCoMKgIHUzMiBjbnRsOwo+Pj4+IMKgIH07Cj4+Pj4gK3N0cnVjdCBi Y20yODM1X2F1eF9zZXJpYWxfYWNwaV9kcml2ZXJfZGF0YSB7Cj4+Pj4gK8KgwqDCoCByZXNvdXJj ZV9zaXplX3Qgb2Zmc2V0Owo+Pj4+ICt9Owo+Pj4+ICsKPj4+PiDCoCBzdGF0aWMgdm9pZCBiY20y ODM1YXV4X3JzNDg1X3N0YXJ0X3R4KHN0cnVjdCB1YXJ0XzgyNTBfcG9ydCAqdXApCj4+Pj4gwqAg ewo+Pj4+IMKgwqDCoMKgwqAgaWYgKCEodXAtPnBvcnQucnM0ODUuZmxhZ3MgJiBTRVJfUlM0ODVf UlhfRFVSSU5HX1RYKSkgewo+Pj4+IEBAIC04Miw4ICs4NywxMiBAQCBzdGF0aWMgaW50IGJjbTI4 MzVhdXhfc2VyaWFsX3Byb2JlKHN0cnVjdCAKPj4+PiBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ Pj4gwqAgewo+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IHVhcnRfODI1MF9wb3J0IHVwID0geyB9Owo+ Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGJjbTI4MzVhdXhfZGF0YSAqZGF0YTsKPj4+PiArwqDCoMKg IHN0cnVjdCBiY20yODM1X2F1eF9zZXJpYWxfYWNwaV9kcml2ZXJfZGF0YSAqYWNwaV9kYXRhOwo+ Pj4+IMKgwqDCoMKgwqAgc3RydWN0IHJlc291cmNlICpyZXM7Cj4+Pj4gwqDCoMKgwqDCoCBpbnQg cmV0Owo+Pj4+ICvCoMKgwqAgcmVzb3VyY2Vfc2l6ZV90IG1hcGJhc2U7Cj4+Pj4gK8KgwqDCoCBy ZXNvdXJjZV9zaXplX3QgbWFwc2l6ZTsKPj4+PiArwqDCoMKgIHVuc2lnbmVkIGludCB1YXJ0Y2xr Owo+Pj4+IMKgwqDCoMKgwqAgLyogYWxsb2NhdGUgdGhlIGN1c3RvbSBzdHJ1Y3R1cmUgKi8KPj4+ PiDCoMKgwqDCoMKgIGRhdGEgPSBkZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCpkYXRh KSwgR0ZQX0tFUk5FTCk7Cj4+Pj4gQEAgLTEwOCwxMCArMTE3LDEyIEBAIHN0YXRpYyBpbnQgYmNt MjgzNWF1eF9zZXJpYWxfcHJvYmUoc3RydWN0IAo+Pj4+IHBsYXRmb3JtX2RldmljZSAqcGRldikK Pj4+PiDCoMKgwqDCoMKgIHBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRhdGEpOwo+Pj4+IC3C oMKgwqAgLyogZ2V0IHRoZSBjbG9jayAtIHRoaXMgYWxzbyBlbmFibGVzIHRoZSBIVyAqLwo+Pj4+ IC3CoMKgwqAgZGF0YS0+Y2xrID0gZGV2bV9jbGtfZ2V0KCZwZGV2LT5kZXYsIE5VTEwpOwo+Pj4+ IC3CoMKgwqAgaWYgKElTX0VSUihkYXRhLT5jbGspKQo+Pj4+IC3CoMKgwqDCoMKgwqDCoCByZXR1 cm4gZGV2X2Vycl9wcm9iZSgmcGRldi0+ZGV2LCBQVFJfRVJSKGRhdGEtPmNsayksICJjb3VsZCAK Pj4+PiBub3QgZ2V0IGNsa1xuIik7Cj4+Pj4gK8KgwqDCoCBpZiAoZGV2X29mX25vZGUoJnBkZXYt PmRldikpIHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgLyogZ2V0IHRoZSBjbG9jayAtIHRoaXMgYWxz byBlbmFibGVzIHRoZSBIVyAqLwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkYXRhLT5jbGsgPSBkZXZt X2Nsa19nZXQoJnBkZXYtPmRldiwgTlVMTCk7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlmIChJU19F UlIoZGF0YS0+Y2xrKSkKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZGV2X2Vy cl9wcm9iZSgmcGRldi0+ZGV2LCBQVFJfRVJSKGRhdGEtPmNsayksIAo+Pj4+ICJjb3VsZCBub3Qg Z2V0IGNsa1xuIik7Cj4+Pj4gK8KgwqDCoCB9Cj4+Pgo+Pj4gVGhpcyBkb2VzIG5vdCBzZWVtIG5l Y2Vzc2FyeSwgaWYgdGhlIGNsayBpcyBOVUxMIHdoZW4gcHJvYmVkIHZpYSAKPj4+IEFDUEksIGFs bCBvZiB0aGUgY2xrXyogQVBJcyB3aWxsIGRlYWwgd2l0aCB0aGF0IGdyYWNlZnVsbHkuIElmIHlv dSAKPj4+IG5lZWQgbm90IHRvIHRyZWF0IC1FTk9FTlQgYXMgYSBoYXJkIGVycm9yIGhlcmUsIGNv bnNpZGVyIHN3aXRjaGluZyB0byAKPj4+IGRldm1fY2xrX2dldF9vcHRpb25hbCgpLiBHaXZlbiB0 aGF0IHlvdSBsb29rIGF0IHRoZSAnY2xvY2stZnJlcXVlbmN5JyAKPj4+IHByb3BlcnR5LCB5b3Ug Y2FuIHN0aWxsIGhhdmUgc29tZSBnZW5lcmljIGNvZGUsIHNvbWV0aGluZyBsaWtlOgo+Pj4KPj4+ IMKgwqDCoMKgwqBpZiAoSVNfRVJSKGRhdGEtPmNsaykpIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqAg cmV0ID0gZGV2aWNlX3Byb3BlcnR5X3JlYWRfdTMyKCZwZGV2LT5kZXYsIAo+Pj4gImNsb2NrLWZy ZXF1ZW5jeSIsICZ1YXJ0Y2xrKTsKPj4+IMKgwqDCoMKgwqDCoMKgwqAgaWYgKHJldCkKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZGV2X2Vycl9wcm9iZSgmcGRldi0+ZGV2LCBy ZXQsICJjb3VsZCBub3QgZ2V0IAo+Pj4gY2xrXG4iKTsKPj4+IMKgwqDCoMKgwqB9Cj4+Pgo+Pj4+ IMKgwqDCoMKgwqAgLyogZ2V0IHRoZSBpbnRlcnJ1cHQgKi8KPj4+PiDCoMKgwqDCoMKgIHJldCA9 IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7Cj4+Pj4gQEAgLTEyNSwyMCArMTM2LDU5IEBAIHN0 YXRpYyBpbnQgYmNtMjgzNWF1eF9zZXJpYWxfcHJvYmUoc3RydWN0IAo+Pj4+IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2VycigmcGRldi0+ZGV2LCAi bWVtb3J5IHJlc291cmNlIG5vdCBmb3VuZCIpOwo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gLUVJTlZBTDsKPj4+PiDCoMKgwqDCoMKgIH0KPj4+PiAtwqDCoMKgIHVwLnBvcnQubWFwYmFz ZSA9IHJlcy0+c3RhcnQ7Cj4+Pj4gLcKgwqDCoCB1cC5wb3J0Lm1hcHNpemUgPSByZXNvdXJjZV9z aXplKHJlcyk7Cj4+Pj4gLQo+Pj4+IC3CoMKgwqAgLyogQ2hlY2sgZm9yIGEgZml4ZWQgbGluZSBu dW1iZXIgKi8KPj4+PiAtwqDCoMKgIHJldCA9IG9mX2FsaWFzX2dldF9pZChwZGV2LT5kZXYub2Zf bm9kZSwgInNlcmlhbCIpOwo+Pj4+IC3CoMKgwqAgaWYgKHJldCA+PSAwKQo+Pj4+IC3CoMKgwqDC oMKgwqDCoCB1cC5wb3J0LmxpbmUgPSByZXQ7Cj4+Pj4gLQo+Pj4+IC3CoMKgwqAgLyogZW5hYmxl IHRoZSBjbG9jayBhcyBhIGxhc3Qgc3RlcCAqLwo+Pj4+IC3CoMKgwqAgcmV0ID0gY2xrX3ByZXBh cmVfZW5hYmxlKGRhdGEtPmNsayk7Cj4+Pj4gLcKgwqDCoCBpZiAocmV0KSB7Cj4+Pj4gLcKgwqDC oMKgwqDCoMKgIGRldl9lcnIoJnBkZXYtPmRldiwgInVuYWJsZSB0byBlbmFibGUgdWFydCBjbG9j ayAtICVkXG4iLAo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldCk7Cj4+Pj4gLcKgwqDC oMKgwqDCoMKgIHJldHVybiByZXQ7Cj4+Pgo+Pj4gQWxsIG9mIHRoYXQgcGF0aCBjYW4gYmUgY29t bW9uLCBhbmQgeW91IGNhbiBqdXN0IGRlZmluZSBhbiBvZmZzZXQgdG8gCj4+PiBhcHBseSB0byB0 aGUgcmVzb3VyY2UgYXQgdGhlIHRvcCBhZnRlciB5b3UgZmV0Y2hlZCB0aGUgbWVtb3J5IAo+Pj4g cmVzb3VyY2UuIFRoZSBvZmZzZXQgd2lsbCBiZSBub24tMCBmb3IgQUNQSSBhbmQgMCBmb3Igbm9u LUFDUEkuIFRoYXQgCj4+PiBpcywgbm8gbmVlZCBmb3IgdGhlIGludGVybWVkaWF0ZSB2YXJpYWJs ZXMgYW5kIGNvbmRpdGlvbmFsIHBhdGhzIAo+Pj4gd2hldGhlciB0aGlzIGlzIEFDUEkgYXBwbHkg dGhpcyBvZmZzZXQsIG9yIG5vdC4KPj4+Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgbWFwYmFzZSA9IHJl cy0+c3RhcnQ7Cj4+Pj4gK8KgwqDCoCBtYXBzaXplID0gcmVzb3VyY2Vfc2l6ZShyZXMpOwo+Pj4+ ICsKPj4+PiArwqDCoMKgIGlmIChoYXNfYWNwaV9jb21wYW5pb24oJnBkZXYtPmRldikpIHsKPj4+ PiArwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGFjcGlfZGV2aWNlX2lkICptYXRjaDsKPj4+ PiArCj4+Pj4gK8KgwqDCoMKgwqDCoMKgIG1hdGNoID0gCj4+Pj4gYWNwaV9tYXRjaF9kZXZpY2Uo cGRldi0+ZGV2LmRyaXZlci0+YWNwaV9tYXRjaF90YWJsZSwgJnBkZXYtPmRldik7Cj4+Pj4gK8Kg wqDCoMKgwqDCoMKgIGlmICghbWF0Y2gpCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0 dXJuIC1FTk9ERVY7Cj4+Pj4gKwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBhY3BpX2RhdGEgPSAoc3Ry dWN0IGJjbTI4MzVfYXV4X3NlcmlhbF9hY3BpX2RyaXZlcl9kYXRhIAo+Pj4+ICopbWF0Y2gtPmRy aXZlcl9kYXRhOwo+Pj4+ICsKPj4+PiArwqDCoMKgwqDCoMKgwqAgLyogU29tZSBVRUZJIGltcGxl bWVudGF0aW9ucyAoZS5nLiB0aWFub2NvcmUvZWRrMiBmb3IgdGhlIAo+Pj4+IFJhc3BiZXJyeSBQ aSkKPj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIGRlc2NyaWJlIHRoZSBtaW5pdWFydCB3aXRoIGEg YmFzZSBhZGRyZXNzIHRoYXQgCj4+Pj4gZW5jb21wYXNzZXMgdGhlIGF1eGlsaWFyeQo+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgICogcmVnaXN0ZXJzIHNoYXJlZCBiZXR3ZWVuIHRoZSBtaW5pdWFydCBh bmQgc3BpLgo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgICoKPj4+PiArwqDCoMKgwqDCoMKgwqDCoCAq IFRoaXMgaXMgZHVlIHRvIGhpc3RvcmljYWwgcmVhc29ucywgc2VlIGRpc2N1c3Npb24gaGVyZSA6 Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwv dG9waWMvODc1MDEzNTcjODQzNDkKPj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqCj4+Pj4gK8KgwqDC oMKgwqDCoMKgwqAgKiBXZSBuZWVkIHRvIGFkZCB0aGUgb2Zmc2V0IGJldHdlZW4gdGhlIG1pbml1 YXJ0IGFuZCAKPj4+PiBhdXhpbGlhcnkKPj4+PiArwqDCoMKgwqDCoMKgwqDCoCAqIHJlZ2lzdGVy cyB0byBnZXQgdGhlIHJlYWwgbWluaXVhcnQgYmFzZSBhZGRyZXNzLgo+Pj4KPj4+IEFuZCBBQ1BJ IG9uIHRoZSBQaTQgaXMgc28gd2lkZWx5IGRlcGxveWVkIHRoYXQgZml4aW5nIHRoZSBtaW5pdWFy dCAKPj4+IHJlc291cmNlcyBpcyBub3QgYW4gb3B0aW9uIGF0IGFsbD8gVGhpcyByZWFsbHkgcmVh bGx5IGNvbnRpbnVlcyB0byAKPj4+IGNvbnRyaWJ1dGUgdG8gbXkgaW1wcmVzc2lvbiB0aGF0IEFD UEkgb24gdGhlIFBpNCBpcyBhIGZhZCBtb3JlIHRoYW4gYSAKPj4+IHJlYWwgdGhpbmcsIHNvcnJ5 Lgo+Pgo+PiBUaGUgcHJvYmxlbSBhZ2FpbiwgaXMgdGhhdCB0aGlzIHJlc291cmNlIGlzIGxlZ2Fj eSBhbmQgdXNlZCBieSAKPj4gd2luZG93cy92bXdhcmUvZXRjIG9uIGJvdGggdGhlIHJwaTMgYW5k IHJwaTQuIFNvLCB1bmZvcnR1bmF0ZWx5IGl0IAo+PiBjYW5ub3QgcmVhbGx5IGJlIGNoYW5nZWQg d2l0aG91dCBicmVha2luZyBleGlzdGluZyBPU3MuCj4gCj4gQ2Fubm90IHdlIGNyZWF0ZSBhbm90 aGVyIGVudHJ5IHRoYXQgb25seSBMaW51eCB3b3VsZCBtYXRjaD8gVGhpcyBpcyB0aGUgCj4gZmly c3QgdGltZSB0aGF0IGFuIGF0dGVtcHQgZm9yIEFDUElmeWluZyB0aGUgODI1MF9iY20yODM1YXV4 IGlzIGRvbmUgYXMgCj4gZmFyIGFzIHVwc3RyZWFtIGlzIGNvbmNlcm5lZCBzbyBhbnkgY3J1ZnQg b2YgbGVnYWN5IHRoYXQgaXMgYXJ0aWZpY2lhbCAKPiBzaG91bGQgcmVhbGx5IGJlIGF2b2lkZWQg YW5kIHRoaXMgYXBwZWFyIHRvIGJlIHNvbWUuCgpXZWxsLCB0aGVuIHdlIHdvdWxkIGhhdmUgYSBT UENSK0RCRzIgbWlzbWF0Y2ggd2hlbiB1c2VkIGFzIGEgY29uc29sZSBvciAKZGVidWcgcG9ydCAo d2hpY2ggaXMgYW4gb3B0aW9uIGhlcmUgc2luY2UgdGhlIERUIGJlaW5nIHVzZWQgYnkgdGhlIGxv dyAKbGV2ZWwgdmM0IGZpcm13YXJlIHNlbGVjdHMgYmV0d2VlbiB0aGUgY29uc29sZSBvciBibHVl dG9vdGggZm9yIHRoZSAKc2VyaWFsIGRldmljZS4gQW5kIGluIHdpbmRvd3MgYW5kIGxpa2VseSBv dGhlciBPUydzIHRoZSB1bnVzZWQgZGV2aWNlIGlzIApnb2luZyB0byBjb25mdXNlIHBlb3BsZSB3 aGVuIGl0IHNob3dzIHVwIGJ1dCBpcyBtaXNzaW5nIGEgZHJpdmVyLiBTbyBpdHMgCm5vdCByZWFs bHkgd29ya2FibGUgd2l0aG91dCBkaXZlcmdpbmcgdGhlIEFDUEkgdGFibGVzIGJhc2VkIG9uIE9T LgoKTVMgYWN0dWFsbHkgd2VudCBhbmQgY3JlYXRlZCBhIG5ldyB1YXJ0IHR5cGUgZm9yIHRoaXMg ZGV2aWNlIGEgbnVtYmVyIG9mIAp5ZWFycyBhZ28gd2hlbiB0aGUgaW5pdGlhbCBlZGsyIHBvcnQg d2FzIG1hZGUsIGFuZCBhcHBhcmVudGx5IHRoYXQgCmRlZmluaXRpb24gd2FzIHNvbWV3aGF0IGlu Y29ycmVjdCBiZWNhdXNlIGl0IHVzZXMgdGhpcyBvZmZzZXQgdG8gY292ZXIgCnRoZSBlbnRpcmUg YmxvY2suIFNvIGl0IHB1dHMgdXMgaW4gYSBiaXQgb2YgYSBiaW5kLCB3aGVyZSB0aGVyZSB3ZXJl IAppc3N1ZXMgd2l0aCB0aGVpciBvcmlnaW5hbCBkZWZpbml0aW9ucyAobGlrZSB0aGlzKS4gRm9y IHRoZSBtb3N0IHBhcnQgCnRoZSBlZGsyIG1haW50YWluZXJzL3JwaSBPUyBjb21tdW5pdHkgdGVu ZCB0byB3b3JrIHRoZXNlIG91dCwgYnV0IApzb21ldGltZXMgdGhleSBsZWFrIHRocm91Z2ggdG8g YW4gT1MgYW5kIHJlcXVpcmUgY2hhbmdlcy4gSW4gdGhpcyBjYXNlIApBZHJpZW4gaW5pdGlhbGx5 IHRyaWVkIHRvIGNoYW5nZSB0aGUgdWFydCBkZWZpbml0aW9uLCBhbmQgaXQgd2FzIApzdHJvbmds eSBOQUtlZCBieSBvdGhlciBtZW1iZXJzIGJlY2F1c2UgbGludXggaXMgdGhlIG9kZCBvbmUgb3V0 IGhlcmUuCgpUaGFua3MKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK