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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EC001C433EF for ; Wed, 29 Sep 2021 06:38:27 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 87E9E613CD for ; Wed, 29 Sep 2021 06:38:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 87E9E613CD Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=aspeedtech.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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=/XvnI6jFIQXktcb3n9ZcuZ4yfEe5MRmV5EkmdYJOVcg=; b=JmX5x495iX46ky f+HCpRqsETeQ3JHLhWJixwrHxCHpZG3D28epInIYsI9sU58p5uBPXMgqHY33npM7W4j1/oJisLcgF pmVh+diHz46Dpq2j0PK83ltdxkpdypHY6snnMdGoX6j1S2DqmZIoQg1qxTpS9v9rxGquJEyVdP7Rk 50PJ7iUvJlQIvxIH+X/JRJKzyOy+kSnd16q/UUfvnnn+B0qB+bPbkGHStPO/10PdyT5po65Z9xBSN bOCG3PHabuC+qRBluFjVLPd+mqF9qIUWaZComFNKig/Ku2FRbssxVshd9YHKxFbqpPOQjrehfLu3u aA2+fxRMUrjSPdSRElww==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVTBs-00AArE-9e; Wed, 29 Sep 2021 06:35:40 +0000 Received: from twspam01.aspeedtech.com ([211.20.114.71]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mVTBn-00AAqd-Dg for linux-arm-kernel@lists.infradead.org; Wed, 29 Sep 2021 06:35:37 +0000 Received: from mail.aspeedtech.com ([192.168.0.24]) by twspam01.aspeedtech.com with ESMTP id 18T6EPnn024057; Wed, 29 Sep 2021 14:14:25 +0800 (GMT-8) (envelope-from jammy_huang@aspeedtech.com) Received: from [192.168.2.115] (192.168.2.115) by TWMBX02.aspeed.com (192.168.0.24) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 29 Sep 2021 14:35:10 +0800 Message-ID: <8143a6aa-743f-f00e-482f-ea280969e0c6@aspeedtech.com> Date: Wed, 29 Sep 2021 14:35:04 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.1.1 Subject: Re: [RESEND PATCH] media: aspeed: add debugfs Content-Language: en-US To: Zev Weiss CC: "eajames@linux.ibm.com" , "mchehab@kernel.org" , "joel@jms.id.au" , "andrew@aj.id.au" , "linux-media@vger.kernel.org" , "openbmc@lists.ozlabs.org" , "linux-arm-kernel@lists.infradead.org" , "linux-aspeed@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" , BMC-SW References: <20210929011652.1709-1-jammy_huang@aspeedtech.com> <20210929053049.GQ17315@packtop> From: Jammy Huang In-Reply-To: <20210929053049.GQ17315@packtop> X-Originating-IP: [192.168.2.115] X-ClientProxiedBy: TWMBX02.aspeed.com (192.168.0.24) To TWMBX02.aspeed.com (192.168.0.24) X-DNSRBL: X-MAIL: twspam01.aspeedtech.com 18T6EPnn024057 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210928_233535_747287_926E7C7C X-CRM114-Status: GOOD ( 28.32 ) 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 SGkgWmV2LAoKT24gMjAyMS85LzI5IOS4i+WNiCAwMTozMCwgWmV2IFdlaXNzIHdyb3RlOgo+IE9u IFR1ZSwgU2VwIDI4LCAyMDIxIGF0IDA2OjE2OjUzUE0gUERULCBKYW1teSBIdWFuZyB3cm90ZToK Pj4gVG8gc2hvdyB2aWRlbyByZWFsLXRpbWUgaW5mb3JtYXRpb24gYXMgYmVsb3c6Cj4+Cj4+ICAg ICBTaWduYWx8ICAgICAgICAgICBSZXNvbHV0aW9ufCAgICAgICBGUkMKPj4gICAgICAgICAgIHwg ICAgIFdpZHRoICAgICBIZWlnaHR8Cj4+ICAgICAgIExvY2t8ICAgICAgMTkyMCAgICAgICAxMDgw fCAgICAgICAgIDAKPj4KPj4gICAgIEZyYW1lI3wgICAgICAgRnJhbWUgRHVyYXRpb258ICAgICAg IEZQUwo+PiAgICAgICAgICAgfCAgICBOb3cgICAgTWluICAgIE1heHwKPj4gICAgICAgIDQ5Nnwg ICAgIDI2ICAgICAyNSAgICAgMzB8ICAgICAgICA0MAo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBKYW1t eSBIdWFuZyA8amFtbXlfaHVhbmdAYXNwZWVkdGVjaC5jb20+Cj4+IC0tLQo+PiBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL2FzcGVlZC12aWRlby5jIHwgMTAwICsrKysrKysrKysrKysrKysrKysrKysr KysrCj4+IDEgZmlsZSBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygrKQo+Pgo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hc3BlZWQtdmlkZW8uYyBiL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vYXNwZWVkLXZpZGVvLmMKPj4gaW5kZXggOGIzOTM5YjgwNTJkLi41Yjk4ZGM3Yjdi MTUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXNwZWVkLXZpZGVvLmMK Pj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hc3BlZWQtdmlkZW8uYwo+PiBAQCAtMjEs NiArMjEsOCBAQAo+PiAjaW5jbHVkZSA8bGludXgvdmlkZW9kZXYyLmg+Cj4+ICNpbmNsdWRlIDxs aW51eC93YWl0Lmg+Cj4+ICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KPj4gKyNpbmNsdWRl IDxsaW51eC9kZWJ1Z2ZzLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgva3RpbWUuaD4KPj4gI2luY2x1 ZGUgPG1lZGlhL3Y0bDItY3RybHMuaD4KPj4gI2luY2x1ZGUgPG1lZGlhL3Y0bDItZGV2Lmg+Cj4+ ICNpbmNsdWRlIDxtZWRpYS92NGwyLWRldmljZS5oPgo+PiBAQCAtMjAzLDYgKzIwNSwxNCBAQCBz dHJ1Y3QgYXNwZWVkX3ZpZGVvX2J1ZmZlciB7Cj4+IAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7Cj4+ IH07Cj4+Cj4+ICtzdHJ1Y3QgYXNwZWVkX3ZpZGVvX3BlcmYgewo+PiArCWt0aW1lX3QgbGFzdF9z YW1wbGU7Cj4+ICsJdTMyIHRvdGFsdGltZTsKPj4gKwl1MzIgZHVyYXRpb247Cj4+ICsJdTMyIGR1 cmF0aW9uX21pbjsKPj4gKwl1MzIgZHVyYXRpb25fbWF4Owo+PiArfTsKPj4gKwo+PiAjZGVmaW5l IHRvX2FzcGVlZF92aWRlb19idWZmZXIoeCkgXAo+PiAJY29udGFpbmVyX29mKCh4KSwgc3RydWN0 IGFzcGVlZF92aWRlb19idWZmZXIsIHZiKQo+Pgo+PiBAQCAtMjQxLDYgKzI1MSw4IEBAIHN0cnVj dCBhc3BlZWRfdmlkZW8gewo+PiAJdW5zaWduZWQgaW50IGZyYW1lX2xlZnQ7Cj4+IAl1bnNpZ25l ZCBpbnQgZnJhbWVfcmlnaHQ7Cj4+IAl1bnNpZ25lZCBpbnQgZnJhbWVfdG9wOwo+PiArCj4+ICsJ c3RydWN0IGFzcGVlZF92aWRlb19wZXJmIHBlcmY7Cj4+IH07Cj4+Cj4+ICNkZWZpbmUgdG9fYXNw ZWVkX3ZpZGVvKHgpIGNvbnRhaW5lcl9vZigoeCksIHN0cnVjdCBhc3BlZWRfdmlkZW8sIHY0bDJf ZGV2KQo+PiBAQCAtNDQ0LDYgKzQ1NiwxOCBAQCBzdGF0aWMgdm9pZCBhc3BlZWRfdmlkZW9fd3Jp dGUoc3RydWN0IGFzcGVlZF92aWRlbyAqdmlkZW8sIHUzMiByZWcsIHUzMiB2YWwpCj4+IAkJcmVh ZGwodmlkZW8tPmJhc2UgKyByZWcpKTsKPj4gfQo+Pgo+PiArc3RhdGljIHZvaWQgdXBkYXRlX3Bl cmYoc3RydWN0IGFzcGVlZF92aWRlbyAqdikKPj4gK3sKPj4gKwl2LT5wZXJmLmR1cmF0aW9uID0K Pj4gKwkJa3RpbWVfdG9fbXMoa3RpbWVfc3ViKGt0aW1lX2dldCgpLCAgdi0+cGVyZi5sYXN0X3Nh bXBsZSkpOwo+PiArCXYtPnBlcmYudG90YWx0aW1lICs9IHYtPnBlcmYuZHVyYXRpb247Cj4+ICsK Pj4gKwlpZiAoIXYtPnBlcmYuZHVyYXRpb25fbWF4IHx8IHYtPnBlcmYuZHVyYXRpb24gPiB2LT5w ZXJmLmR1cmF0aW9uX21heCkKPj4gKwkJdi0+cGVyZi5kdXJhdGlvbl9tYXggPSB2LT5wZXJmLmR1 cmF0aW9uOwo+IEhvdyBhYm91dAo+Cj4gICAgdi0+cGVyZi5kdXJhdGlvbl9tYXggPSBtYXgodi0+ cGVyZi5kdXJhdGlvbiwgdi0+cGVyZi5kdXJhdGlvbl9tYXgpOwo+Cj4gaW5zdGVhZCBvZiBtYW51 YWxseSB0ZXN0aW5nICYgYnJhbmNoaW5nPwpPSywgdGhpcyB3aWxsIGJlIGluY2x1ZGVkIGluIHRo ZSBuZXh0IHBhdGNoLgo+PiArCWlmICghdi0+cGVyZi5kdXJhdGlvbl9taW4gfHwgdi0+cGVyZi5k dXJhdGlvbiA8IHYtPnBlcmYuZHVyYXRpb25fbWluKQo+PiArCQl2LT5wZXJmLmR1cmF0aW9uX21p biA9IHYtPnBlcmYuZHVyYXRpb247Cj4gQW5kIGxpa2V3aXNlIHdpdGggbWluKC4uLikgaGVyZS4K Pgo+IEFzIGEgbWlub3Igc3R5bGUgdGhpbmcsIEkgbWlnaHQgc3VnZ2VzdCBhZGRpbmcgYSB2YXJp YWJsZSBkZWNsYXJhdGlvbgo+IGxpa2UKPgo+ICAgIHN0cnVjdCBhc3BlZWRfdmlkZW9fcGVyZiAq cCA9ICZ2LT5wZXJmOwo+Cj4gYW5kIHVzaW5nIHRoYXQgaW4gdGhlIHJlc3Qgb2YgdGhlIGZ1bmN0 aW9uIHRvIGN1dCBkb3duIG9uIHRoZQo+IHZlcmJvc2l0eS9yZXBldGl0aW9uIGEgYml0LiAgT3Ig YWN0dWFsbHksIHNpbmNlIGl0IGxvb2tzIGxpa2UgdGhlcmUKPiBhcmVuJ3QgYW55IG90aGVyIG1l bWJlcnMgb2Ygc3RydWN0IGFzcGVlZF92aWRlbyBhY2Nlc3NlZCBpbiB0aGlzCj4gZnVuY3Rpb24s IG1heWJlIGp1c3QgbWFrZSBzdHJ1Y3QgYXNwZWVkX3ZpZGVvX3BlcmYgYmUgdGhlIHBhcmFtZXRl cgo+IGluc3RlYWQ/Ck9LLCB0aGlzIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIG5leHQgcGF0Y2gu Cj4KPj4gK30KPj4gKwo+PiBzdGF0aWMgaW50IGFzcGVlZF92aWRlb19zdGFydF9mcmFtZShzdHJ1 Y3QgYXNwZWVkX3ZpZGVvICp2aWRlbykKPj4gewo+PiAJZG1hX2FkZHJfdCBhZGRyOwo+PiBAQCAt NDgyLDYgKzUwNiw4IEBAIHN0YXRpYyBpbnQgYXNwZWVkX3ZpZGVvX3N0YXJ0X2ZyYW1lKHN0cnVj dCBhc3BlZWRfdmlkZW8gKnZpZGVvKQo+PiAJYXNwZWVkX3ZpZGVvX3VwZGF0ZSh2aWRlbywgVkVf SU5URVJSVVBUX0NUUkwsIDAsCj4+IAkJCSAgICBWRV9JTlRFUlJVUFRfQ09NUF9DT01QTEVURSk7 Cj4+Cj4+ICsJdmlkZW8tPnBlcmYubGFzdF9zYW1wbGUgPSBrdGltZV9nZXQoKTsKPj4gKwo+PiAJ YXNwZWVkX3ZpZGVvX3VwZGF0ZSh2aWRlbywgVkVfU0VRX0NUUkwsIDAsCj4+IAkJCSAgICBWRV9T RVFfQ1RSTF9UUklHX0NBUFRVUkUgfCBWRV9TRVFfQ1RSTF9UUklHX0NPTVApOwo+Pgo+PiBAQCAt NjAwLDYgKzYyNiw4IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBhc3BlZWRfdmlkZW9faXJxKGludCBp cnEsIHZvaWQgKmFyZykKPj4gCQl1MzIgZnJhbWVfc2l6ZSA9IGFzcGVlZF92aWRlb19yZWFkKHZp ZGVvLAo+PiAJCQkJCQkgICBWRV9KUEVHX0NPTVBfU0laRV9SRUFEX0JBQ0spOwo+Pgo+PiArCQl1 cGRhdGVfcGVyZih2aWRlbyk7Cj4+ICsKPj4gCQlzcGluX2xvY2soJnZpZGVvLT5sb2NrKTsKPj4g CQljbGVhcl9iaXQoVklERU9fRlJBTUVfSU5QUkcsICZ2aWRlby0+ZmxhZ3MpOwo+PiAJCWJ1ZiA9 IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmdmlkZW8tPmJ1ZmZlcnMsCj4+IEBAIC03NjAsNiAr Nzg4LDcgQEAgc3RhdGljIHZvaWQgYXNwZWVkX3ZpZGVvX2dldF9yZXNvbHV0aW9uKHN0cnVjdCBh c3BlZWRfdmlkZW8gKnZpZGVvKQo+PiAJZGV0LT53aWR0aCA9IE1JTl9XSURUSDsKPj4gCWRldC0+ aGVpZ2h0ID0gTUlOX0hFSUdIVDsKPj4gCXZpZGVvLT52NGwyX2lucHV0X3N0YXR1cyA9IFY0TDJf SU5fU1RfTk9fU0lHTkFMOwo+PiArCW1lbXNldCgmdmlkZW8tPnBlcmYsIDAsIHNpemVvZih2aWRl by0+cGVyZikpOwo+Pgo+PiAJZG8gewo+PiAJCWlmICh0cmllcykgewo+PiBAQCAtMTUxNyw2ICsx NTQ2LDcxIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmIyX29wcyBhc3BlZWRfdmlkZW9fdmIyX29w cyA9IHsKPj4gCS5idWZfcXVldWUgPSAgYXNwZWVkX3ZpZGVvX2J1Zl9xdWV1ZSwKPj4gfTsKPj4K Pj4gKyNpZmRlZiBDT05GSUdfREVCVUdfRlMKPj4gK3N0YXRpYyBpbnQgYXNwZWVkX3ZpZGVvX2Rl YnVnZnNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCj4+ICt7Cj4+ICsJc3Ry dWN0IGFzcGVlZF92aWRlbyAqdiA9IHMtPnByaXZhdGU7Cj4+ICsKPj4gKwlzZXFfcHJpbnRmKHMs ICIlMTBzfCUyMXN8JTEwc1xuIiwKPj4gKwkJICAgIlNpZ25hbCIsICJSZXNvbHV0aW9uIiwgIkZS QyIpOwo+PiArCXNlcV9wcmludGYocywgIiUxMHN8JTEwcyUxMXN8JTEwc1xuIiwKPj4gKwkJICAg IiIsICJXaWR0aCIsICJIZWlnaHQiLCAiIik7Cj4+ICsJc2VxX3ByaW50ZihzLCAiJTEwc3wlMTBk JTExZHwlMTBkXG4iLAo+PiArCQkgICB2LT52NGwyX2lucHV0X3N0YXR1cyA/ICJVbmxvY2siIDog IkxvY2siLAo+PiArCQkgICB2LT5waXhfZm10LndpZHRoLCB2LT5waXhfZm10LmhlaWdodCwgdi0+ ZnJhbWVfcmF0ZSk7Cj4+ICsKPj4gKwlzZXFfcHV0cyhzLCAiXG4iKTsKPj4gKwo+PiArCXNlcV9w cmludGYocywgIiUxMHN8JTIxc3wlMTBzXG4iLAo+PiArCQkgICAiRnJhbWUjIiwgIkZyYW1lIER1 cmF0aW9uIiwgIkZQUyIpOwo+PiArCXNlcV9wcmludGYocywgIiUxMHN8JTdzJTdzJTdzfCUxMHNc biIsCj4+ICsJCSAgICIiLCAiTm93IiwgIk1pbiIsICJNYXgiLCAiIik7Cj4+ICsJc2VxX3ByaW50 ZihzLCAiJTEwZHwlN2QlN2QlN2R8JTEwZFxuIiwKPj4gKwkJICAgdi0+c2VxdWVuY2UsIHYtPnBl cmYuZHVyYXRpb24sIHYtPnBlcmYuZHVyYXRpb25fbWluLAo+PiArCQkgICB2LT5wZXJmLmR1cmF0 aW9uX21heCwgMTAwMC8odi0+cGVyZi50b3RhbHRpbWUvdi0+c2VxdWVuY2UpKTsKPj4gKwo+IFRo aXMgbG9va3MgbGlrZSBhIGNvbnZlbmllbnQgZm9ybWF0IGZvciBleWViYWxsaW5nIHdpdGggJ2Nh dCcsIGJ1dCBhbHNvCj4gbGlrZSBpdCB3b3VsZCBiZSBraW5kIG9mIGF3a3dhcmQgdG8gcGFyc2Ug aWYgeW91IHdhbnRlZCB0byBkbyBhbnkgc29ydAo+IG9mIGF1dG9tYXRlZCBhbmFseXNpcyBvZiB0 aGUgcGVyZm9ybWFuY2UgZGF0YSBpdCBwcm92aWRlcy4gIFdvdWxkIGEKPiBrZXk6dmFsdWUgdHlw ZSBmb3JtYXQgbGlrZQo+Cj4gICAgd2lkdGg6ICVkCj4gICAgaGVpZ2h0OiAlZAo+ICAgIGZyYW1l X3JhdGU6ICVkCj4gICAgZnJhbWVfbnVtYmVyOiAlZAo+ICAgICMgZXRjLgo+Cj4gbWF5YmUgcHJv dmlkZSBhIGRlY2VudCBjb21wcm9taXNlPyAgKEVhc2lseSBwYXJzZWFibGUsIGFsbW9zdCBhcyBl YXNpbHkKPiByZWFkYWJsZS4pCgpZb3VyIGNvbmNlcm4gaXMgcmVhc29uYWJsZSwgSSB3aWxsIGNo YW5nZSB0aGUgc3R5bGUgdG8gc2hvdyBpbmZvcm1hdGlvbi4KClRoaXMgd2lsbCBiZSBpbmNsdWRl ZCBpbiB0aGUgbmV4dCBwYXRjaC4KCj4KPj4gKwlyZXR1cm4gMDsKPj4gK30KPj4gKwo+PiAraW50 IGFzcGVlZF92aWRlb19wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUg KmZpbGUpCj4+ICt7Cj4+ICsJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGFzcGVlZF92aWRlb19k ZWJ1Z2ZzX3Nob3csIGlub2RlLT5pX3ByaXZhdGUpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgY29u c3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBhc3BlZWRfdmlkZW9fZGVidWdmc19vcHMgPSB7Cj4+ ICsJLm93bmVyICAgPSBUSElTX01PRFVMRSwKPj4gKwkub3BlbiAgICA9IGFzcGVlZF92aWRlb19w cm9jX29wZW4sCj4+ICsJLnJlYWQgICAgPSBzZXFfcmVhZCwKPj4gKwkubGxzZWVrICA9IHNlcV9s c2VlaywKPj4gKwkucmVsZWFzZSA9IHNpbmdsZV9yZWxlYXNlLAo+PiArfTsKPj4gKwo+PiArc3Rh dGljIHN0cnVjdCBkZW50cnkgKmRlYnVnZnNfZW50cnk7Cj4gSSBkb24ndCBrbm93IGhvdyByZWFs aXN0aWMgdGhlIG9kZHMgYXJlIG9mIGEgc3lzdGVtIGV2ZXIgaGF2aW5nIG11bHRpcGxlCj4gYXNw ZWVkLXZpZGVvIGRldmljZXMsIGJ1dCBzdHJ1Y3R1cmFsbHkgd291bGQgdGhpcyBtYWtlIG1vcmUg c2Vuc2UgYXMKPiBwYXJ0IG9mIHN0cnVjdCBhc3BlZWRfdmlkZW8gaW5zdGVhZCBvZiBiZWluZyBh IHNpbmdsZSBnbG9iYWw/CgpTaW5jZSB0aGlzIGlzIHRoZSBkcml2ZXIgZm9yIGFzcGVlZC12aWRl byBpcCBvZiBTb0MsIGl0IGNvdWxkbid0IGhhdmUgCm11bHRpcGxlIGRldmljZXMuCgo+PiArCj4+ ICtzdGF0aWMgdm9pZCBhc3BlZWRfdmlkZW9fZGVidWdmc19yZW1vdmUoc3RydWN0IGFzcGVlZF92 aWRlbyAqdmlkZW8pCj4+ICt7Cj4+ICsJZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKGRlYnVnZnNf ZW50cnkpOwo+PiArCWRlYnVnZnNfZW50cnkgPSBOVUxMOwo+PiArfQo+PiArCj4+ICtzdGF0aWMg aW50IGFzcGVlZF92aWRlb19kZWJ1Z2ZzX2NyZWF0ZShzdHJ1Y3QgYXNwZWVkX3ZpZGVvICp2aWRl bykKPj4gK3sKPj4gKwlkZWJ1Z2ZzX2VudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZShERVZJQ0Vf TkFNRSwgMDQ0NCwgTlVMTCwKPj4gKwkJCQkJCSAgIHZpZGVvLAo+PiArCQkJCQkJICAgJmFzcGVl ZF92aWRlb19kZWJ1Z2ZzX29wcyk7Cj4+ICsJaWYgKCFkZWJ1Z2ZzX2VudHJ5KQo+PiArCQlhc3Bl ZWRfdmlkZW9fZGVidWdmc19yZW1vdmUodmlkZW8pOwo+PiArCj4+ICsJcmV0dXJuIGRlYnVnZnNf ZW50cnkgPT0gTlVMTCA/IC1FSU8gOiAwOwo+PiArfQo+PiArI2Vsc2UKPj4gK3N0YXRpYyB2b2lk IGFzcGVlZF92aWRlb19kZWJ1Z2ZzX3JlbW92ZShzdHJ1Y3QgYXNwZWVkX3ZpZGVvICp2aWRlbykg eyB9Cj4+ICtzdGF0aWMgaW50IGFzcGVlZF92aWRlb19kZWJ1Z2ZzX2NyZWF0ZShzdHJ1Y3QgYXNw ZWVkX3ZpZGVvICp2aWRlbykKPj4gK3sKPj4gKwlyZXR1cm4gMDsKPj4gK30KPj4gKyNlbmRpZiAv KiBDT05GSUdfREVCVUdfRlMgKi8KPj4gKwo+PiBzdGF0aWMgaW50IGFzcGVlZF92aWRlb19zZXR1 cF92aWRlbyhzdHJ1Y3QgYXNwZWVkX3ZpZGVvICp2aWRlbykKPj4gewo+PiAJY29uc3QgdTY0IG1h c2sgPSB+KEJJVChWNEwyX0pQRUdfQ0hST01BX1NVQlNBTVBMSU5HXzQ0NCkgfAo+PiBAQCAtMTcw OCw2ICsxODAyLDEwIEBAIHN0YXRpYyBpbnQgYXNwZWVkX3ZpZGVvX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4+IAkJcmV0dXJuIHJjOwo+PiAJfQo+Pgo+PiArCXJjID0gYXNw ZWVkX3ZpZGVvX2RlYnVnZnNfY3JlYXRlKHZpZGVvKTsKPj4gKwlpZiAocmMpCj4+ICsJCWRldl9l cnIodmlkZW8tPmRldiwgImRlYnVnZnMgY3JlYXRlIGZhaWxlZFxuIik7Cj4+ICsKPj4gCXJldHVy biAwOwo+PiB9Cj4+Cj4+IEBAIC0xNzE5LDYgKzE4MTcsOCBAQCBzdGF0aWMgaW50IGFzcGVlZF92 aWRlb19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4KPj4gCWFzcGVlZF92 aWRlb19vZmYodmlkZW8pOwo+Pgo+PiArCWFzcGVlZF92aWRlb19kZWJ1Z2ZzX3JlbW92ZSh2aWRl byk7Cj4+ICsKPj4gCWNsa191bnByZXBhcmUodmlkZW8tPnZjbGspOwo+PiAJY2xrX3VucHJlcGFy ZSh2aWRlby0+ZWNsayk7Cj4+Cj4+IC0tIAo+PiAyLjI1LjEKPj4KCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBs aXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK