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: [v2] usb: introduce usb_ep_type_string() function From: Chunfeng Yun Message-Id: <1552982059.10179.143.camel@mhfsdcap03> Date: Tue, 19 Mar 2019 15:54:19 +0800 To: Greg Kroah-Hartman Cc: Felipe Balbi , Mathias Nyman , Joel Stanley , Andrew Jeffery , Matthias Brugger , Yoshihiro Shimoda , Arnd Bergmann , Roger Quadros , Alan Stern , "Gustavo A. R. Silva" , Martin Blumenstingl , Sebastian Andrzej Siewior , Miquel Raynal , Dmitry Torokhov , Johan Hovold , Benjamin Herrenschmidt , Colin Ian King , Matteo Croce , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-mediatek@lists.infradead.org List-ID: SGkgRmVsaXBlICYgTWF0aGlhcywKCkNvdWxkIHlvdSBwbGVhc2UgY29tbWVudCB0aGlzIHBhdGNo LCBpZiB0aGVyZSBpcyBzb21lLWVmZmVjdCBvbiBkd2MzIGFuZAp4aGNpLCBJJ2xsIHJlbW92ZSBp dHMgY2hhbmdlLgoKU29ycnkgZm9yIGJvdGhlcmluZyB5b3UKCgpPbiBUdWUsIDIwMTktMDMtMTkg YXQgMTU6NDQgKzA4MDAsIENodW5mZW5nIFl1biB3cm90ZToKPiBJbiBzb21lIHBsYWNlcywgdGhl IGNvZGUgcHJpbnRzIGEgaHVtYW4tcmVhZGFibGUgVVNCIGVuZHBvaW50Cj4gdHJhbnNmZXIgdHlw ZSAoZS5nLiAiQnVsayIpLiBUaGlzIGludm9sdmVzIGEgc3dpdGNoIHN0YXRlbWVudAo+IHNvbWV0 aW1lcyB3cmFwcGVkIGFyb3VuZCBpbiAoeyAuLi4gfSkgYmxvY2sgbGVhZGluZyB0byBjb2RlCj4g cmVwZXRpdGlvbi4KPiBUbyBtYWtlIHRoaXMgc2NlbmFyaW8gZWFzaWVyLCBoZXJlIGludHJvZHVj ZXMgdXNiX2VwX3R5cGVfc3RyaW5nKCkKPiBmdW5jdGlvbiwgd2hpY2ggcmV0dXJucyBhIGh1bWFu LXJlYWRhYmxlIG5hbWUgb2YgcHJvdmlkZWQKPiBlbmRwb2ludCB0eXBlLgo+IEl0IGFsc28gY2hh bmdlcyBhIGZldyBwbGFjZXMgc3dpdGNoIHdhcyB1c2VkIHRvIHVzZSB0aGlzCj4gbmV3IGZ1bmN0 aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENodW5mZW5nIFl1biA8Y2h1bmZlbmcueXVuQG1lZGlh dGVrLmNvbT4KPiAtLS0KPiB2MiBjaGFuZ2VzOgo+ICAgICAxLiBrZWVwIHR5cGUgc3RyaW5nIGNv bnNpc3RlbnQgd2l0aCB0eXBlX3Nob3coKSB1c2VkIGluIGVuZHBvaW50LmMKPiAtLS0KPiAgZHJp dmVycy91c2IvY29tbW9uL2NvbW1vbi5jICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysr KysKPiAgZHJpdmVycy91c2IvY29yZS9lbmRwb2ludC5jICAgICAgICAgICAgICB8IDE4ICsrLS0t LS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL3VzYi9jb3JlL2hjZC5jICAgICAgICAgICAgICAgICAg IHwgMTcgKystLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy91c2IvZHdjMy9kZWJ1Z2ZzLmMgICAg ICAgICAgICAgICB8IDIzICsrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvdXNiL2dh ZGdldC91ZGMvYXNwZWVkLXZodWIvZXBuLmMgfCAgNiArLS0tLS0KPiAgZHJpdmVycy91c2IvZ2Fk Z2V0L3VkYy9kdW1teV9oY2QuYyAgICAgICB8IDE2ICstLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVy cy91c2IvaG9zdC94aGNpLXRyYWNlLmggICAgICAgICAgICB8IDE5ICsrLS0tLS0tLS0tLS0tLS0t LS0KPiAgaW5jbHVkZS9saW51eC91c2IvY2g5LmggICAgICAgICAgICAgICAgICB8ICA4ICsrKysr KysrCj4gIDggZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgODcgZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvbW1vbi9jb21tb24uYyBiL2RyaXZlcnMv dXNiL2NvbW1vbi9jb21tb24uYwo+IGluZGV4IDQ4Mjc3YmJjMTVlNC4uNTI5YjAxZTc4NmZkIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2NvbW1vbi9jb21tb24uYwo+ICsrKyBiL2RyaXZlcnMv dXNiL2NvbW1vbi9jb21tb24uYwo+IEBAIC0xNiw2ICsxNiwyMiBAQAo+ICAjaW5jbHVkZSA8bGlu dXgvdXNiL290Zy5oPgo+ICAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KPiAgCj4gK3N0 YXRpYyBjb25zdCBjaGFyICpjb25zdCBlcF90eXBlX25hbWVzW10gPSB7Cj4gKwlbVVNCX0VORFBP SU5UX1hGRVJfQ09OVFJPTF0gPSAiQ29udHJvbCIsCj4gKwlbVVNCX0VORFBPSU5UX1hGRVJfSVNP Q10gPSAiSXNvYyIsCj4gKwlbVVNCX0VORFBPSU5UX1hGRVJfQlVMS10gPSAiQnVsayIsCj4gKwlb VVNCX0VORFBPSU5UX1hGRVJfSU5UXSA9ICJJbnRlcnJ1cHQiLAo+ICt9Owo+ICsKPiArY29uc3Qg Y2hhciAqdXNiX2VwX3R5cGVfc3RyaW5nKGludCBlcF90eXBlKQo+ICt7Cj4gKwlpZiAoZXBfdHlw ZSA8IDAgfHwgZXBfdHlwZSA+PSBBUlJBWV9TSVpFKGVwX3R5cGVfbmFtZXMpKQo+ICsJCXJldHVy biAidW5rbm93biI7Cj4gKwo+ICsJcmV0dXJuIGVwX3R5cGVfbmFtZXNbZXBfdHlwZV07Cj4gK30K PiArRVhQT1JUX1NZTUJPTF9HUEwodXNiX2VwX3R5cGVfc3RyaW5nKTsKPiArCj4gIGNvbnN0IGNo YXIgKnVzYl9vdGdfc3RhdGVfc3RyaW5nKGVudW0gdXNiX290Z19zdGF0ZSBzdGF0ZSkKPiAgewo+ ICAJc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IG5hbWVzW10gPSB7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL2NvcmUvZW5kcG9pbnQuYyBiL2RyaXZlcnMvdXNiL2NvcmUvZW5kcG9pbnQuYwo+ IGluZGV4IDFjMmMwNDA3OTY3Ni4uYWZhNDNmOWE0N2IyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv dXNiL2NvcmUvZW5kcG9pbnQuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUvZW5kcG9pbnQuYwo+ IEBAIC02MCwyMyArNjAsOSBAQCBzdGF0aWMgc3NpemVfdCB0eXBlX3Nob3coc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKPiAgCQkJIGNoYXIgKmJ1ZikK PiAgewo+ICAJc3RydWN0IGVwX2RldmljZSAqZXAgPSB0b19lcF9kZXZpY2UoZGV2KTsKPiAtCWNo YXIgKnR5cGUgPSAidW5rbm93biI7Cj4gKwlpbnQgZXBfdHlwZSA9IHVzYl9lbmRwb2ludF90eXBl KGVwLT5kZXNjKTsKPiAgCj4gLQlzd2l0Y2ggKHVzYl9lbmRwb2ludF90eXBlKGVwLT5kZXNjKSkg ewo+IC0JY2FzZSBVU0JfRU5EUE9JTlRfWEZFUl9DT05UUk9MOgo+IC0JCXR5cGUgPSAiQ29udHJv bCI7Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lTT0M6Cj4gLQkJdHlw ZSA9ICJJc29jIjsKPiAtCQlicmVhazsKPiAtCWNhc2UgVVNCX0VORFBPSU5UX1hGRVJfQlVMSzoK PiAtCQl0eXBlID0gIkJ1bGsiOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBVU0JfRU5EUE9JTlRfWEZF Ul9JTlQ6Cj4gLQkJdHlwZSA9ICJJbnRlcnJ1cHQiOwo+IC0JCWJyZWFrOwo+IC0JfQo+IC0JcmV0 dXJuIHNwcmludGYoYnVmLCAiJXNcbiIsIHR5cGUpOwo+ICsJcmV0dXJuIHNwcmludGYoYnVmLCAi JXNcbiIsIHVzYl9lcF90eXBlX3N0cmluZyhlcF90eXBlKSk7Cj4gIH0KPiAgc3RhdGljIERFVklD RV9BVFRSX1JPKHR5cGUpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9oY2Qu YyBiL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKPiBpbmRleCAzMTg5MTgxYmI2MjguLjBjY2YyZWZl YjQwYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCj4gKysrIGIvZHJpdmVy cy91c2IvY29yZS9oY2QuYwo+IEBAIC0xODc4LDIzICsxODc4LDEwIEBAIHZvaWQgdXNiX2hjZF9m bHVzaF9lbmRwb2ludChzdHJ1Y3QgdXNiX2RldmljZSAqdWRldiwKPiAgCQkvKiBraWNrIGhjZCAq Lwo+ICAJCXVubGluazEoaGNkLCB1cmIsIC1FU0hVVERPV04pOwo+ICAJCWRldl9kYmcgKGhjZC0+ c2VsZi5jb250cm9sbGVyLAo+IC0JCQkic2h1dGRvd24gdXJiICVwSyBlcCVkJXMlc1xuIiwKPiAr CQkJInNodXRkb3duIHVyYiAlcEsgZXAlZCVzLSVzXG4iLAo+ICAJCQl1cmIsIHVzYl9lbmRwb2lu dF9udW0oJmVwLT5kZXNjKSwKPiAgCQkJaXNfaW4gPyAiaW4iIDogIm91dCIsCj4gLQkJCSh7CWNo YXIgKnM7Cj4gLQo+IC0JCQkJIHN3aXRjaCAodXNiX2VuZHBvaW50X3R5cGUoJmVwLT5kZXNjKSkg ewo+IC0JCQkJIGNhc2UgVVNCX0VORFBPSU5UX1hGRVJfQ09OVFJPTDoKPiAtCQkJCQlzID0gIiI7 IGJyZWFrOwo+IC0JCQkJIGNhc2UgVVNCX0VORFBPSU5UX1hGRVJfQlVMSzoKPiAtCQkJCQlzID0g Ii1idWxrIjsgYnJlYWs7Cj4gLQkJCQkgY2FzZSBVU0JfRU5EUE9JTlRfWEZFUl9JTlQ6Cj4gLQkJ CQkJcyA9ICItaW50ciI7IGJyZWFrOwo+IC0JCQkJIGRlZmF1bHQ6Cj4gLQkJCQkJcyA9ICItaXNv IjsgYnJlYWs7Cj4gLQkJCQl9Owo+IC0JCQkJczsKPiAtCQkJfSkpOwo+ICsJCQl1c2JfZXBfdHlw ZV9zdHJpbmcodXNiX2VuZHBvaW50X3R5cGUoJmVwLT5kZXNjKSkpOwo+ICAJCXVzYl9wdXRfdXJi ICh1cmIpOwo+ICAKPiAgCQkvKiBsaXN0IGNvbnRlbnRzIG1heSBoYXZlIGNoYW5nZWQgKi8KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL3VzYi9kd2Mz L2RlYnVnZnMuYwo+IGluZGV4IDFjNzkyNzEwMzQ4Zi4uZDllMmE2MzgzNWZlIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvdXNiL2R3YzMvZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy91c2IvZHdjMy9k ZWJ1Z2ZzLmMKPiBAQCAtNzUwLDI4ICs3NTAsMTMgQEAgc3RhdGljIGludCBkd2MzX3RyYW5zZmVy X3R5cGVfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnVudXNlZCkKPiAgCXVuc2lnbmVk IGxvbmcJCWZsYWdzOwo+ICAKPiAgCXNwaW5fbG9ja19pcnFzYXZlKCZkd2MtPmxvY2ssIGZsYWdz KTsKPiAtCWlmICghKGRlcC0+ZmxhZ3MgJiBEV0MzX0VQX0VOQUJMRUQpIHx8Cj4gLQkJCSFkZXAt PmVuZHBvaW50LmRlc2MpIHsKPiAtCQlzZXFfcHJpbnRmKHMsICItLVxuIik7Cj4gKwlpZiAoIShk ZXAtPmZsYWdzICYgRFdDM19FUF9FTkFCTEVEKSB8fCAhZGVwLT5lbmRwb2ludC5kZXNjKSB7Cj4g KwkJc2VxX3B1dHMocywgInVua25vd25cbiIpOwo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+ICAKPiAt CXN3aXRjaCAodXNiX2VuZHBvaW50X3R5cGUoZGVwLT5lbmRwb2ludC5kZXNjKSkgewo+IC0JY2Fz ZSBVU0JfRU5EUE9JTlRfWEZFUl9DT05UUk9MOgo+IC0JCXNlcV9wcmludGYocywgImNvbnRyb2xc biIpOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBVU0JfRU5EUE9JTlRfWEZFUl9JU09DOgo+IC0JCXNl cV9wcmludGYocywgImlzb2Nocm9ub3VzXG4iKTsKPiAtCQlicmVhazsKPiAtCWNhc2UgVVNCX0VO RFBPSU5UX1hGRVJfQlVMSzoKPiAtCQlzZXFfcHJpbnRmKHMsICJidWxrXG4iKTsKPiAtCQlicmVh azsKPiAtCWNhc2UgVVNCX0VORFBPSU5UX1hGRVJfSU5UOgo+IC0JCXNlcV9wcmludGYocywgImlu dGVycnVwdFxuIik7Cj4gLQkJYnJlYWs7Cj4gLQlkZWZhdWx0Ogo+IC0JCXNlcV9wcmludGYocywg Ii0tXG4iKTsKPiAtCX0KPiArCXNlcV9wcmludGYocywgIiVzXG4iLAo+ICsJCSAgIHVzYl9lcF90 eXBlX3N0cmluZyh1c2JfZW5kcG9pbnRfdHlwZShkZXAtPmVuZHBvaW50LmRlc2MpKSk7Cj4gIAo+ ICBvdXQ6Cj4gIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkd2MtPmxvY2ssIGZsYWdzKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L3VkYy9hc3BlZWQtdmh1Yi9lcG4uYyBiL2Ry aXZlcnMvdXNiL2dhZGdldC91ZGMvYXNwZWVkLXZodWIvZXBuLmMKPiBpbmRleCA4MzM0MGY0ZmRj NmUuLjM1OTQxZGMxMjVmOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2Fz cGVlZC12aHViL2Vwbi5jCj4gKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3VkYy9hc3BlZWQtdmh1 Yi9lcG4uYwo+IEBAIC01OTMsMTAgKzU5Myw2IEBAIHN0YXRpYyBpbnQgYXN0X3ZodWJfZXBuX2Rp c2FibGUoc3RydWN0IHVzYl9lcCogdV9lcCkKPiAgc3RhdGljIGludCBhc3Rfdmh1Yl9lcG5fZW5h YmxlKHN0cnVjdCB1c2JfZXAqIHVfZXAsCj4gIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgdXNiX2Vu ZHBvaW50X2Rlc2NyaXB0b3IgKmRlc2MpCj4gIHsKPiAtCXN0YXRpYyBjb25zdCBjaGFyICplcF90 eXBlX3N0cmluZ1tdIF9fbWF5YmVfdW51c2VkID0geyAiY3RybCIsCj4gLQkJCQkJCQkgICAgICAg Imlzb2MiLAo+IC0JCQkJCQkJICAgICAgICJidWxrIiwKPiAtCQkJCQkJCSAgICAgICAiaW50ciIg fTsKPiAgCXN0cnVjdCBhc3Rfdmh1Yl9lcCAqZXAgPSB0b19hc3RfZXAodV9lcCk7Cj4gIAlzdHJ1 Y3QgYXN0X3ZodWJfZGV2ICpkZXY7Cj4gIAlzdHJ1Y3QgYXN0X3ZodWIgKnZodWI7Cj4gQEAgLTY0 Niw3ICs2NDIsNyBAQCBzdGF0aWMgaW50IGFzdF92aHViX2Vwbl9lbmFibGUoc3RydWN0IHVzYl9l cCogdV9lcCwKPiAgCWVwLT5lcG4ud2VkZ2VkID0gZmFsc2U7Cj4gIAo+ICAJRVBEQkcoZXAsICJF bmFibGluZyBbJXNdICVzIG51bSAlZCBtYXhwYWNrZXQ9JWRcbiIsCj4gLQkgICAgICBlcC0+ZXBu LmlzX2luID8gImluIiA6ICJvdXQiLCBlcF90eXBlX3N0cmluZ1t0eXBlXSwKPiArCSAgICAgIGVw LT5lcG4uaXNfaW4gPyAiaW4iIDogIm91dCIsIHVzYl9lcF90eXBlX3N0cmluZyh0eXBlKSwKPiAg CSAgICAgIHVzYl9lbmRwb2ludF9udW0oZGVzYyksIG1heHBhY2tldCk7Cj4gIAo+ICAJLyogQ2Fu IHdlIHVzZSBETUEgZGVzY3JpcHRvciBtb2RlID8gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91 c2IvZ2FkZ2V0L3VkYy9kdW1teV9oY2QuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvZHVtbXlf aGNkLmMKPiBpbmRleCBiYWY3MmY5NWYwZjEuLjQwYzZhNDg0ZTIzMiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL3VzYi9nYWRnZXQvdWRjL2R1bW15X2hjZC5jCj4gKysrIGIvZHJpdmVycy91c2IvZ2Fk Z2V0L3VkYy9kdW1teV9oY2QuYwo+IEBAIC02MTcsMjEgKzYxNyw3IEBAIHN0YXRpYyBpbnQgZHVt bXlfZW5hYmxlKHN0cnVjdCB1c2JfZXAgKl9lcCwKPiAgCQlfZXAtPm5hbWUsCj4gIAkJZGVzYy0+ YkVuZHBvaW50QWRkcmVzcyAmIDB4MGYsCj4gIAkJKGRlc2MtPmJFbmRwb2ludEFkZHJlc3MgJiBV U0JfRElSX0lOKSA/ICJpbiIgOiAib3V0IiwKPiAtCQkoeyBjaGFyICp2YWw7Cj4gLQkJIHN3aXRj aCAodXNiX2VuZHBvaW50X3R5cGUoZGVzYykpIHsKPiAtCQkgY2FzZSBVU0JfRU5EUE9JTlRfWEZF Ul9CVUxLOgo+IC0JCQkgdmFsID0gImJ1bGsiOwo+IC0JCQkgYnJlYWs7Cj4gLQkJIGNhc2UgVVNC X0VORFBPSU5UX1hGRVJfSVNPQzoKPiAtCQkJIHZhbCA9ICJpc28iOwo+IC0JCQkgYnJlYWs7Cj4g LQkJIGNhc2UgVVNCX0VORFBPSU5UX1hGRVJfSU5UOgo+IC0JCQkgdmFsID0gImludHIiOwo+IC0J CQkgYnJlYWs7Cj4gLQkJIGRlZmF1bHQ6Cj4gLQkJCSB2YWwgPSAiY3RybCI7Cj4gLQkJCSBicmVh azsKPiAtCQkgfSB2YWw7IH0pLAo+ICsJCXVzYl9lcF90eXBlX3N0cmluZyh1c2JfZW5kcG9pbnRf dHlwZShkZXNjKSksCj4gIAkJbWF4LCBlcC0+c3RyZWFtX2VuID8gImVuYWJsZWQiIDogImRpc2Fi bGVkIik7Cj4gIAo+ICAJLyogYXQgdGhpcyBwb2ludCByZWFsIGhhcmR3YXJlIHNob3VsZCBiZSBO QUtpbmcgdHJhbnNmZXJzCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS10cmFj ZS5oIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXRyYWNlLmgKPiBpbmRleCA4OGI0Mjc0MzRiZDgu LmJhYzczZDY4OGYxMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktdHJhY2Uu aAo+ICsrKyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS10cmFjZS5oCj4gQEAgLTI4OSwyMyArMjg5 LDggQEAgREVDTEFSRV9FVkVOVF9DTEFTUyh4aGNpX2xvZ191cmIsCj4gIAkpLAo+ICAJVFBfcHJp bnRrKCJlcCVkJXMtJXM6IHVyYiAlcCBwaXBlICV1IHNsb3QgJWQgbGVuZ3RoICVkLyVkIHNncyAl ZC8lZCBzdHJlYW0gJWQgZmxhZ3MgJTA4eCIsCj4gIAkJCV9fZW50cnktPmVwbnVtLCBfX2VudHJ5 LT5kaXJfaW4gPyAiaW4iIDogIm91dCIsCj4gLQkJCSh7IGNoYXIgKnM7Cj4gLQkJCXN3aXRjaCAo X19lbnRyeS0+dHlwZSkgewo+IC0JCQljYXNlIFVTQl9FTkRQT0lOVF9YRkVSX0lOVDoKPiAtCQkJ CXMgPSAiaW50ciI7Cj4gLQkJCQlicmVhazsKPiAtCQkJY2FzZSBVU0JfRU5EUE9JTlRfWEZFUl9D T05UUk9MOgo+IC0JCQkJcyA9ICJjb250cm9sIjsKPiAtCQkJCWJyZWFrOwo+IC0JCQljYXNlIFVT Ql9FTkRQT0lOVF9YRkVSX0JVTEs6Cj4gLQkJCQlzID0gImJ1bGsiOwo+IC0JCQkJYnJlYWs7Cj4g LQkJCWNhc2UgVVNCX0VORFBPSU5UX1hGRVJfSVNPQzoKPiAtCQkJCXMgPSAiaXNvYyI7Cj4gLQkJ CQlicmVhazsKPiAtCQkJZGVmYXVsdDoKPiAtCQkJCXMgPSAiVU5LTk9XTiI7Cj4gLQkJCX0gczsg fSksIF9fZW50cnktPnVyYiwgX19lbnRyeS0+cGlwZSwgX19lbnRyeS0+c2xvdF9pZCwKPiArCQkJ dXNiX2VwX3R5cGVfc3RyaW5nKF9fZW50cnktPnR5cGUpLAo+ICsJCQlfX2VudHJ5LT51cmIsIF9f ZW50cnktPnBpcGUsIF9fZW50cnktPnNsb3RfaWQsCj4gIAkJCV9fZW50cnktPmFjdHVhbCwgX19l bnRyeS0+bGVuZ3RoLCBfX2VudHJ5LT5udW1fbWFwcGVkX3NncywKPiAgCQkJX19lbnRyeS0+bnVt X3NncywgX19lbnRyeS0+c3RyZWFtLCBfX2VudHJ5LT5mbGFncwo+ICAJCSkKPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9saW51eC91c2IvY2g5LmggYi9pbmNsdWRlL2xpbnV4L3VzYi9jaDkuaAo+IGlu ZGV4IDUyM2FhMDg4ZjZhYi4uZGE4MjYwNmJlNjA1IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGlu dXgvdXNiL2NoOS5oCj4gKysrIGIvaW5jbHVkZS9saW51eC91c2IvY2g5LmgKPiBAQCAtMzYsNiAr MzYsMTQgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgo+ICAjaW5jbHVkZSA8dWFwaS9s aW51eC91c2IvY2g5Lmg+Cj4gIAo+ICsvKioKPiArICogdXNiX2VwX3R5cGVfc3RyaW5nKCkgLSBS ZXR1cm5zIGh1bWFuIHJlYWRhYmxlLW5hbWUgb2YgdGhlIGVuZHBvaW50IHR5cGUuCj4gKyAqIEBl cF90eXBlOiBUaGUgZW5kcG9pbnQgdHlwZSB0byByZXR1cm4gaHVtYW4tcmVhZGFibGUgbmFtZSBm b3IuICBJZiBpdCdzIG5vdAo+ICsgKiAgIGFueSBvZiB0aGUgdHlwZXM6IFVTQl9FTkRQT0lOVF9Y RkVSX3tDT05UUk9MLCBJU09DLCBCVUxLLCBJTlR9LAo+ICsgKiAgIHVzdWFsbHkgZ290IGJ5IHVz Yl9lbmRwb2ludF90eXBlKCksIHRoZSBzdHJpbmcgJ3Vua25vd24nIHdpbGwgYmUgcmV0dXJuZWQu Cj4gKyAqLwo+ICtleHRlcm4gY29uc3QgY2hhciAqdXNiX2VwX3R5cGVfc3RyaW5nKGludCBlcF90 eXBlKTsKPiArCj4gIC8qKgo+ICAgKiB1c2Jfc3BlZWRfc3RyaW5nKCkgLSBSZXR1cm5zIGh1bWFu IHJlYWRhYmxlLW5hbWUgb2YgdGhlIHNwZWVkLgo+ICAgKiBAc3BlZWQ6IFRoZSBzcGVlZCB0byBy ZXR1cm4gaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IuICBJZiBpdCdzIG5vdAo=