From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: dmaengine: remove DBGFS_FUNC_DECL() From: Vinod Koul Message-Id: <20181205082719.GF2847@vkoul-mobl> Date: Wed, 5 Dec 2018 13:57:19 +0530 To: Yangtao Li Cc: dan.j.williams@intel.com, sudeep.dutt@intel.com, ashutosh.dixit@intel.com, daniel@zonque.org, haojian.zhuang@gmail.com, robert.jarzmik@free.fr, okaya@kernel.org, andy.gross@linaro.org, david.brown@linaro.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org List-ID: T24gMzAtMTEtMTgsIDEwOjQyLCBZYW5ndGFvIExpIHdyb3RlOgo+IFdlIGFscmVhZHkgaGF2ZSB0 aGUgREVGSU5FX1NIT1dfQVRUUklCVVRFLFRoZXJlIGlzIG5vIG5lZWQgdG8gZGVmaW5lCj4gc3Vj aCBhIG1hY3JvLHNvIHJlbW92ZSBEQkdGU19GVU5DX0RFQ0wuQWxzbyB1c2UgbWFjcm8gdG8gc2lt cGxpZnkgc29tZQo+IGNvZGUuCgpTcGFjZXMgYWZ0ZXIgZnVsbCBzdG9wIGFuZCBjb21tYSBwbGVh c2UKCj4gCj4gU2lnbmVkLW9mZi1ieTogWWFuZ3RhbyBMaSA8dGlueS53aW5kenpAZ21haWwuY29t Pgo+IC0tLQo+ICBkcml2ZXJzL2RtYS9hbWJhLXBsMDh4LmMgICAgIHwgMTQgKystLS0tLS0tLS0t LS0KPiAgZHJpdmVycy9kbWEvbWljX3gxMDBfZG1hLmMgICB8IDIyICsrKy0tLS0tLS0tLS0tLS0t LS0tLS0KPiAgZHJpdmVycy9kbWEvcHhhX2RtYS5jICAgICAgICB8IDI0ICsrKysrKysrKysrKy0t LS0tLS0tLS0tLQo+ICBkcml2ZXJzL2RtYS9xY29tL2hpZG1hX2RiZy5jIHwgMzMgKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpEbyB5b3UgbWluZCBzcGxpdHRpbmcgaXQgcGVyIGZp bGUuCgo+ICA0IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDcwIGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9hbWJhLXBsMDh4LmMgYi9kcml2ZXJzL2Rt YS9hbWJhLXBsMDh4LmMKPiBpbmRleCA5NzQ4M2RmMWY4MmUuLmZjOGMyYmFiNTYzYyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2RtYS9hbWJhLXBsMDh4LmMKPiArKysgYi9kcml2ZXJzL2RtYS9hbWJh LXBsMDh4LmMKPiBAQCAtMjUwNSwyNCArMjUwNSwxNCBAQCBzdGF0aWMgaW50IHBsMDh4X2RlYnVn ZnNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCj4gIAlyZXR1cm4gMDsKPiAg fQo+ICAKPiAtc3RhdGljIGludCBwbDA4eF9kZWJ1Z2ZzX29wZW4oc3RydWN0IGlub2RlICppbm9k ZSwgc3RydWN0IGZpbGUgKmZpbGUpCj4gLXsKPiAtCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBw bDA4eF9kZWJ1Z2ZzX3Nob3csIGlub2RlLT5pX3ByaXZhdGUpOwo+IC19Cj4gLQo+IC1zdGF0aWMg Y29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBwbDA4eF9kZWJ1Z2ZzX29wZXJhdGlvbnMgPSB7 Cj4gLQkub3BlbgkJPSBwbDA4eF9kZWJ1Z2ZzX29wZW4sCj4gLQkucmVhZAkJPSBzZXFfcmVhZCwK PiAtCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAo+IC0JLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwK PiAtfTsKPiArREVGSU5FX1NIT1dfQVRUUklCVVRFKHBsMDh4X2RlYnVnZnMpOwo+ICAKPiAgc3Rh dGljIHZvaWQgaW5pdF9wbDA4eF9kZWJ1Z2ZzKHN0cnVjdCBwbDA4eF9kcml2ZXJfZGF0YSAqcGww OHgpCj4gIHsKPiAgCS8qIEV4cG9zZSBhIHNpbXBsZSBkZWJ1Z2ZzIGludGVyZmFjZSB0byB2aWV3 IGFsbCBjbG9ja3MgKi8KPiAgCSh2b2lkKSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKGRldl9uYW1lKCZw bDA4eC0+YWRldi0+ZGV2KSwKPiAgCQkJU19JRlJFRyB8IFNfSVJVR08sIE5VTEwsIHBsMDh4LAo+ IC0JCQkmcGwwOHhfZGVidWdmc19vcGVyYXRpb25zKTsKPiArCQkJJnBsMDh4X2RlYnVnZnNfZm9w cyk7Cj4gIH0KPiAgCj4gICNlbHNlCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hL21pY194MTAw X2RtYS5jIGIvZHJpdmVycy9kbWEvbWljX3gxMDBfZG1hLmMKPiBpbmRleCBhZGZkMzE2ZGIxYTgu LjZhOTFlMjhkNTM3ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2RtYS9taWNfeDEwMF9kbWEuYwo+ ICsrKyBiL2RyaXZlcnMvZG1hL21pY194MTAwX2RtYS5jCj4gQEAgLTY3Niw3ICs2NzYsNyBAQCBz dGF0aWMgdm9pZCBtaWNfZG1hX2Rldl91bnJlZyhzdHJ1Y3QgbWljX2RtYV9kZXZpY2UgKm1pY19k bWFfZGV2KQo+ICB9Cj4gIAo+ICAvKiBERUJVR0ZTIENPREUgKi8KPiAtc3RhdGljIGludCBtaWNf ZG1hX3JlZ19zZXFfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnBvcykKPiArc3RhdGlj IGludCBtaWNfZG1hX3JlZ19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqcG9zKQo+ICB7 Cj4gIAlzdHJ1Y3QgbWljX2RtYV9kZXZpY2UgKm1pY19kbWFfZGV2ID0gcy0+cHJpdmF0ZTsKPiAg CWludCBpLCBjaGFuX251bSwgZmlyc3RfY2hhbiA9IG1pY19kbWFfZGV2LT5zdGFydF9jaDsKPiBA QCAtNzA3LDIzICs3MDcsNyBAQCBzdGF0aWMgaW50IG1pY19kbWFfcmVnX3NlcV9zaG93KHN0cnVj dCBzZXFfZmlsZSAqcywgdm9pZCAqcG9zKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0YXRp YyBpbnQgbWljX2RtYV9yZWdfZGVidWdfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3Qg ZmlsZSAqZmlsZSkKPiAtewo+IC0JcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIG1pY19kbWFfcmVn X3NlcV9zaG93LCBpbm9kZS0+aV9wcml2YXRlKTsKPiAtfQo+IC0KPiAtc3RhdGljIGludCBtaWNf ZG1hX3JlZ19kZWJ1Z19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpm aWxlKQo+IC17Cj4gLQlyZXR1cm4gc2luZ2xlX3JlbGVhc2UoaW5vZGUsIGZpbGUpOwo+IC19Cj4g LQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBtaWNfZG1hX3JlZ19vcHMg PSB7Cj4gLQkub3duZXIgICA9IFRISVNfTU9EVUxFLAo+IC0JLm9wZW4gICAgPSBtaWNfZG1hX3Jl Z19kZWJ1Z19vcGVuLAo+IC0JLnJlYWQgICAgPSBzZXFfcmVhZCwKPiAtCS5sbHNlZWsgID0gc2Vx X2xzZWVrLAo+IC0JLnJlbGVhc2UgPSBtaWNfZG1hX3JlZ19kZWJ1Z19yZWxlYXNlCj4gLX07Cj4g K0RFRklORV9TSE9XX0FUVFJJQlVURShtaWNfZG1hX3JlZyk7Cj4gIAo+ICAvKiBEZWJ1Z2ZzIHBh cmVudCBkaXIgKi8KPiAgc3RhdGljIHN0cnVjdCBkZW50cnkgKm1pY19kbWFfZGJnOwo+IEBAIC03 NDcsNyArNzMxLDcgQEAgc3RhdGljIGludCBtaWNfZG1hX2RyaXZlcl9wcm9iZShzdHJ1Y3QgbWJ1 c19kZXZpY2UgKm1iZGV2KQo+ICAJCWlmIChtaWNfZG1hX2Rldi0+ZGJnX2RpcikKPiAgCQkJZGVi dWdmc19jcmVhdGVfZmlsZSgibWljX2RtYV9yZWciLCAwNDQ0LAo+ICAJCQkJCSAgICBtaWNfZG1h X2Rldi0+ZGJnX2RpciwgbWljX2RtYV9kZXYsCj4gLQkJCQkJICAgICZtaWNfZG1hX3JlZ19vcHMp Owo+ICsJCQkJCSAgICAmbWljX2RtYV9yZWdfZm9wcyk7Cj4gIAl9Cj4gIAlyZXR1cm4gMDsKPiAg fQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9weGFfZG1hLmMgYi9kcml2ZXJzL2RtYS9weGFf ZG1hLmMKPiBpbmRleCA4MjU3MjUwNTdlMDAuLjhlMWUxYjA3ZDMyZiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2RtYS9weGFfZG1hLmMKPiArKysgYi9kcml2ZXJzL2RtYS9weGFfZG1hLmMKPiBAQCAt MTg5LDcgKzE4OSw3IEBAIGJvb2wgcHhhZF9maWx0ZXJfZm4oc3RydWN0IGRtYV9jaGFuICpjaGFu LCB2b2lkICpwYXJhbSk7Cj4gICNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Cj4gICNpbmNsdWRl IDxsaW51eC9zZXFfZmlsZS5oPgo+ICAKPiAtc3RhdGljIGludCBkYmdfc2hvd19yZXF1ZXN0ZXJf Y2hhbihzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnApCj4gK3N0YXRpYyBpbnQgcmVxdWVzdGVy X2NoYW5fc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnApCj4gIHsKPiAgCXN0cnVjdCBw eGFkX3BoeSAqcGh5ID0gcy0+cHJpdmF0ZTsKPiAgCWludCBpOwo+IEBAIC0yMjAsNyArMjIwLDcg QEAgc3RhdGljIGludCBpc19waHlzX3ZhbGlkKHVuc2lnbmVkIGxvbmcgYWRkcikKPiAgI2RlZmlu ZSBQWEFfRENTUl9TVFIoZmxhZykgKGRjc3IgJiBQWEFfRENTUl8jI2ZsYWcgPyAjZmxhZyIgIiA6 ICIiKQo+ICAjZGVmaW5lIFBYQV9EQ01EX1NUUihmbGFnKSAoZGNtZCAmIFBYQV9EQ01EXyMjZmxh ZyA/ICNmbGFnIiAiIDogIiIpCj4gIAo+IC1zdGF0aWMgaW50IGRiZ19zaG93X2Rlc2NyaXB0b3Jz KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqcCkKPiArc3RhdGljIGludCBkZXNjcmlwdG9yc19z aG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqcCkKPiAgewo+ICAJc3RydWN0IHB4YWRfcGh5 ICpwaHkgPSBzLT5wcml2YXRlOwo+ICAJaW50IGksIG1heF9zaG93ID0gMjAsIGJ1cnN0LCB3aWR0 aDsKPiBAQCAtMjYzLDcgKzI2Myw3IEBAIHN0YXRpYyBpbnQgZGJnX3Nob3dfZGVzY3JpcHRvcnMo c3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpwKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gLXN0 YXRpYyBpbnQgZGJnX3Nob3dfY2hhbl9zdGF0ZShzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnAp Cj4gK3N0YXRpYyBpbnQgY2hhbl9zdGF0ZV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAq cCkKPiAgewo+ICAJc3RydWN0IHB4YWRfcGh5ICpwaHkgPSBzLT5wcml2YXRlOwo+ICAJdTMyIGRj c3IsIGRjbWQ7Cj4gQEAgLTMwNiw3ICszMDYsNyBAQCBzdGF0aWMgaW50IGRiZ19zaG93X2NoYW5f c3RhdGUoc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpwKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAg Cj4gLXN0YXRpYyBpbnQgZGJnX3Nob3dfc3RhdGUoc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpw KQo+ICtzdGF0aWMgaW50IHN0YXRlX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpwKQo+ ICB7Cj4gIAlzdHJ1Y3QgcHhhZF9kZXZpY2UgKnBkZXYgPSBzLT5wcml2YXRlOwo+ICAKPiBAQCAt MzI5LDEwICszMjksMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZGJn X2ZvcHNfIyNuYW1lID0geyBcCj4gIAkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLCBcCj4gIH0K PiAgCj4gLURCR0ZTX0ZVTkNfREVDTChzdGF0ZSk7Cj4gLURCR0ZTX0ZVTkNfREVDTChjaGFuX3N0 YXRlKTsKPiAtREJHRlNfRlVOQ19ERUNMKGRlc2NyaXB0b3JzKTsKPiAtREJHRlNfRlVOQ19ERUNM KHJlcXVlc3Rlcl9jaGFuKTsKPiArREVGSU5FX1NIT1dfQVRUUklCVVRFKHN0YXRlKTsKPiArREVG SU5FX1NIT1dfQVRUUklCVVRFKGNoYW5fc3RhdGUpOwo+ICtERUZJTkVfU0hPV19BVFRSSUJVVEUo ZGVzY3JpcHRvcnMpOwo+ICtERUZJTkVfU0hPV19BVFRSSUJVVEUocmVxdWVzdGVyX2NoYW4pOwo+ ICAKPiAgc3RhdGljIHN0cnVjdCBkZW50cnkgKnB4YWRfZGJnX2FsbG9jX2NoYW4oc3RydWN0IHB4 YWRfZGV2aWNlICpwZGV2LAo+ICAJCQkJCSAgICAgaW50IGNoLCBzdHJ1Y3QgZGVudHJ5ICpjaGFu ZGlyKQo+IEBAIC0zNDgsMTMgKzM0OCwxMyBAQCBzdGF0aWMgc3RydWN0IGRlbnRyeSAqcHhhZF9k YmdfYWxsb2NfY2hhbihzdHJ1Y3QgcHhhZF9kZXZpY2UgKnBkZXYsCj4gIAo+ICAJaWYgKGNoYW4p Cj4gIAkJY2hhbl9zdGF0ZSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInN0YXRlIiwgMDQwMCwgY2hh biwgZHQsCj4gLQkJCQkJCSAmZGJnX2ZvcHNfY2hhbl9zdGF0ZSk7Cj4gKwkJCQkJCSAmY2hhbl9z dGF0ZV9mb3BzKTsKPiAgCWlmIChjaGFuX3N0YXRlKQo+ICAJCWNoYW5fZGVzY3IgPSBkZWJ1Z2Zz X2NyZWF0ZV9maWxlKCJkZXNjcmlwdG9ycyIsIDA0MDAsIGNoYW4sIGR0LAo+IC0JCQkJCQkgJmRi Z19mb3BzX2Rlc2NyaXB0b3JzKTsKPiArCQkJCQkJICZkZXNjcmlwdG9yc19mb3BzKTsKPiAgCWlm IChjaGFuX2Rlc2NyKQo+ICAJCWNoYW5fcmVxcyA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInJlcXVl c3RlcnMiLCAwNDAwLCBjaGFuLCBkdCwKPiAtCQkJCQkJJmRiZ19mb3BzX3JlcXVlc3Rlcl9jaGFu KTsKPiArCQkJCQkJJnJlcXVlc3Rlcl9jaGFuX2ZvcHMpOwo+ICAJaWYgKCFjaGFuX3JlcXMpCj4g IAkJZ290byBlcnJfc3RhdGU7Cj4gIAo+IEBAIC0zNzUsNyArMzc1LDcgQEAgc3RhdGljIHZvaWQg cHhhZF9pbml0X2RlYnVnZnMoc3RydWN0IHB4YWRfZGV2aWNlICpwZGV2KQo+ICAJCWdvdG8gZXJy X3Jvb3Q7Cj4gIAo+ICAJcGRldi0+ZGJnZnNfc3RhdGUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJz dGF0ZSIsIDA0MDAsIHBkZXYtPmRiZ2ZzX3Jvb3QsCj4gLQkJCQkJCXBkZXYsICZkYmdfZm9wc19z dGF0ZSk7Cj4gKwkJCQkJCXBkZXYsICZzdGF0ZV9mb3BzKTsKPiAgCWlmICghcGRldi0+ZGJnZnNf c3RhdGUpCj4gIAkJZ290byBlcnJfc3RhdGU7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Rt YS9xY29tL2hpZG1hX2RiZy5jIGIvZHJpdmVycy9kbWEvcWNvbS9oaWRtYV9kYmcuYwo+IGluZGV4 IDNiZGNiODA1NmEzNi4uOTUyM2ZhZjdhY2RjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZG1hL3Fj b20vaGlkbWFfZGJnLmMKPiArKysgYi9kcml2ZXJzL2RtYS9xY29tL2hpZG1hX2RiZy5jCj4gQEAg LTg1LDExICs4NSwxMSBAQCBzdGF0aWMgdm9pZCBoaWRtYV9sbF9kZXZzdGF0cyhzdHJ1Y3Qgc2Vx X2ZpbGUgKnMsIHZvaWQgKmxsaG5kbCkKPiAgfQo+ICAKPiAgLyoKPiAtICogaGlkbWFfY2hhbl9z dGF0czogZGlzcGxheSBISURNQSBjaGFubmVsIHN0YXRpc3RpY3MKPiArICogaGlkbWFfY2hhbl9z aG93OiBkaXNwbGF5IEhJRE1BIGNoYW5uZWwgc3RhdGlzdGljcwo+ICAgKgo+ICAgKiBEaXNwbGF5 IHRoZSBzdGF0aXN0aWNzIGZvciB0aGUgY3VycmVudCBISURNQSB2aXJ0dWFsIGNoYW5uZWwgZGV2 aWNlLgo+ICAgKi8KPiAtc3RhdGljIGludCBoaWRtYV9jaGFuX3N0YXRzKHN0cnVjdCBzZXFfZmls ZSAqcywgdm9pZCAqdW51c2VkKQo+ICtzdGF0aWMgaW50IGhpZG1hX2NoYW5fc2hvdyhzdHJ1Y3Qg c2VxX2ZpbGUgKnMsIHZvaWQgKnVudXNlZCkKPiAgewo+ICAJc3RydWN0IGhpZG1hX2NoYW4gKm1j aGFuID0gcy0+cHJpdmF0ZTsKPiAgCXN0cnVjdCBoaWRtYV9kZXNjICptZGVzYzsKPiBAQCAtMTE3 LDExICsxMTcsMTEgQEAgc3RhdGljIGludCBoaWRtYV9jaGFuX3N0YXRzKHN0cnVjdCBzZXFfZmls ZSAqcywgdm9pZCAqdW51c2VkKQo+ICB9Cj4gIAo+ICAvKgo+IC0gKiBoaWRtYV9kbWFfaW5mbzog ZGlzcGxheSBISURNQSBkZXZpY2UgaW5mbwo+ICsgKiBoaWRtYV9kbWFfc2hvdzogZGlzcGxheSBI SURNQSBkZXZpY2UgaW5mbwo+ICAgKgo+ICAgKiBEaXNwbGF5IHRoZSBpbmZvIGZvciB0aGUgY3Vy cmVudCBISURNQSBkZXZpY2UuCj4gICAqLwo+IC1zdGF0aWMgaW50IGhpZG1hX2RtYV9pbmZvKHN0 cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdW51c2VkKQo+ICtzdGF0aWMgaW50IGhpZG1hX2RtYV9z aG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdW51c2VkKQo+ICB7Cj4gIAlzdHJ1Y3QgaGlk bWFfZGV2ICpkbWFkZXYgPSBzLT5wcml2YXRlOwo+ICAJcmVzb3VyY2Vfc2l6ZV90IHN6Owo+IEBA IC0xMzgsMjkgKzEzOCw4IEBAIHN0YXRpYyBpbnQgaGlkbWFfZG1hX2luZm8oc3RydWN0IHNlcV9m aWxlICpzLCB2b2lkICp1bnVzZWQpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RhdGljIGlu dCBoaWRtYV9jaGFuX3N0YXRzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUg KmZpbGUpCj4gLXsKPiAtCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBoaWRtYV9jaGFuX3N0YXRz LCBpbm9kZS0+aV9wcml2YXRlKTsKPiAtfQo+IC0KPiAtc3RhdGljIGludCBoaWRtYV9kbWFfaW5m b19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQo+IC17Cj4gLQly ZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgaGlkbWFfZG1hX2luZm8sIGlub2RlLT5pX3ByaXZhdGUp Owo+IC19Cj4gLQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBoaWRtYV9j aGFuX2ZvcHMgPSB7Cj4gLQkub3BlbiA9IGhpZG1hX2NoYW5fc3RhdHNfb3BlbiwKPiAtCS5yZWFk ID0gc2VxX3JlYWQsCj4gLQkubGxzZWVrID0gc2VxX2xzZWVrLAo+IC0JLnJlbGVhc2UgPSBzaW5n bGVfcmVsZWFzZSwKPiAtfTsKPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRp b25zIGhpZG1hX2RtYV9mb3BzID0gewo+IC0JLm9wZW4gPSBoaWRtYV9kbWFfaW5mb19vcGVuLAo+ IC0JLnJlYWQgPSBzZXFfcmVhZCwKPiAtCS5sbHNlZWsgPSBzZXFfbHNlZWssCj4gLQkucmVsZWFz ZSA9IHNpbmdsZV9yZWxlYXNlLAo+IC19Owo+ICtERUZJTkVfU0hPV19BVFRSSUJVVEUoaGlkbWFf Y2hhbik7Cj4gK0RFRklORV9TSE9XX0FUVFJJQlVURShoaWRtYV9kbWEpOwo+ICAKPiAgdm9pZCBo aWRtYV9kZWJ1Z191bmluaXQoc3RydWN0IGhpZG1hX2RldiAqZG1hZGV2KQo+ICB7Cj4gLS0gCj4g Mi4xNy4wCg==