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: [RFC,v1,01/14] usb:cdns3: add pci to platform driver wrapper. From: Roger Quadros Message-Id: <5BE19BB5.3030006@ti.com> Date: Tue, 6 Nov 2018 15:48:37 +0200 To: Pawel Laszczak , gregkh@linuxfoundation.org Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, adouglas@cadence.com, jbergsagel@ti.com, peter.chen@nxp.com, pjez@cadence.com, kurahul@cadence.com List-ID: SGkgUGF3ZWwsCgpPbiAwMy8xMS8xOCAxOTo1MSwgUGF3ZWwgTGFzemN6YWsgd3JvdGU6Cj4gUGF0 Y2ggYWRkcyBQQ0kgc3BlY2lmaWMgZ2x1ZSBkcml2aWVyIHRoYXQgY3JlYXRpZXMgYW5kIHJlZ2lz dGVycyBpbgoKcy9kcml2aWVyL2RyaXZlcgpzL2NyZWF0aWVzL2NyZWF0ZXMKcy9pbiBzeXN0ZW0v aW4tc3lzdGVtCgo+IHN5c3RlbSBjZG5zLXVzYjMgcGxhdGZvcm0gZGV2aWNlLiBUaGFua3MgdG8g dGhhdCB3ZSB3aWxsIGJlIGFibGUgdG8gdXNlCj4gdGhlIGNkbnMtdXNiMyBwbGF0Zm9ybSBkcml2 ZXIgZm9yIFVTQlNTLURFViBjb250cm9sbGVyCj4gYnVpbGQgb24gUENJIGJvYXJkCj4gCj4gU2ln bmVkLW9mZi1ieTogUGF3ZWwgTGFzemN6YWsgPHBhd2VsbEBjYWRlbmNlLmNvbT4KPiAtLS0KPiAg ZHJpdmVycy91c2IvS2NvbmZpZyAgICAgICAgICAgICAgICB8ICAgMiArCj4gIGRyaXZlcnMvdXNi L01ha2VmaWxlICAgICAgICAgICAgICAgfCAgIDIgKwo+ICBkcml2ZXJzL3VzYi9jZG5zMy9LY29u ZmlnICAgICAgICAgIHwgIDI0ICsrKysrCj4gIGRyaXZlcnMvdXNiL2NkbnMzL01ha2VmaWxlICAg ICAgICAgfCAgIDMgKwo+ICBkcml2ZXJzL3VzYi9jZG5zMy9jZG5zMy1wY2ktd3JhcC5jIHwgMTYy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDUgZmlsZXMgY2hhbmdlZCwgMTkzIGlu c2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdXNiL2NkbnMzL0tjb25m aWcKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdXNiL2NkbnMzL01ha2VmaWxlCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3VzYi9jZG5zMy9jZG5zMy1wY2ktd3JhcC5jCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL0tjb25maWcgYi9kcml2ZXJzL3VzYi9LY29uZmlnCj4g aW5kZXggOTg3ZmM1YmE2MzIxLi41ZjkzMzQwMTlkMDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91 c2IvS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvdXNiL0tjb25maWcKPiBAQCAtMTEyLDYgKzExMiw4 IEBAIHNvdXJjZSAiZHJpdmVycy91c2IvdXNiaXAvS2NvbmZpZyIKPiAgCj4gIGVuZGlmCj4gIAo+ ICtzb3VyY2UgImRyaXZlcnMvdXNiL2NkbnMzL0tjb25maWciCj4gKwo+ICBzb3VyY2UgImRyaXZl cnMvdXNiL210dTMvS2NvbmZpZyIKPiAgCj4gIHNvdXJjZSAiZHJpdmVycy91c2IvbXVzYi9LY29u ZmlnIgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9NYWtlZmlsZSBiL2RyaXZlcnMvdXNiL01h a2VmaWxlCj4gaW5kZXggN2QxYjhjODJiMjA4Li44MjA5M2E2MGVhMmMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy91c2IvTWFrZWZpbGUKPiArKysgYi9kcml2ZXJzL3VzYi9NYWtlZmlsZQo+IEBAIC04 LDYgKzgsOCBAQAo+ICBvYmotJChDT05GSUdfVVNCKQkJKz0gY29yZS8KPiAgb2JqLSQoQ09ORklH X1VTQl9TVVBQT1JUKQkrPSBwaHkvCj4gIAo+ICtvYmotJChDT05GSUdfVVNCX0NETlMzKQkJKz0g Y2RuczMvCj4gKwo+ICBvYmotJChDT05GSUdfVVNCX0RXQzMpCQkrPSBkd2MzLwo+ICBvYmotJChD T05GSUdfVVNCX0RXQzIpCQkrPSBkd2MyLwo+ICBvYmotJChDT05GSUdfVVNCX0lTUDE3NjApCSs9 IGlzcDE3NjAvCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NkbnMzL0tjb25maWcgYi9kcml2 ZXJzL3VzYi9jZG5zMy9LY29uZmlnCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAw MDAwMDAwMDAuLjg4ODQ1ODM3MmFkYgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL3Vz Yi9jZG5zMy9LY29uZmlnCj4gQEAgLTAsMCArMSwyNCBAQAo+ICtjb25maWcgVVNCX0NETlMzCj4g Kwl0cmlzdGF0ZSAiQ2FkZW5jZSBVU0IzIER1YWwtUm9sZSBDb250cm9sbGVyIgo+ICsJZGVwZW5k cyBvbiAoKFVTQl9YSENJX0hDRCAmJiBVU0JfR0FER0VUKSB8fCAoVVNCX1hIQ0lfSENEICYmICFV U0JfR0FER0VUKSB8fCAoIVVTQl9YSENJX0hDRCAmJiBVU0JfR0FER0VUKSkgJiYgSEFTX0RNQQoK V2h5IG5vdCBkZXBlbmQgb24gVVNCIGluc3RlYWQgb2YgVVNCX1hIQ0lfSENEPwoKPiArCWhlbHAK PiArCSAgU2F5IFkgaGVyZSBpZiB5b3VyIHN5c3RlbSBoYXMgYSBjYWRlbmNlIFVTQjMgZHVhbC1y b2xlIGNvbnRyb2xsZXIuCj4gKwkgIEl0IHN1cHBvcnRzOiBkdWFsLXJvbGUgc3dpdGNoIEhvc3Qt b25seSwgYW5kIFBlcmlwaGVyYWwtb25seS4KCk5lZWQgYSBjb21hIGJldHdlZW4gc3dpdGNoIGFu ZCBIb3N0LW9ubHkuCgo+ICsKPiArCSAgSWYgeW91IGNob29zZSB0byBidWlsZCB0aGlzIGRyaXZl ciBpcyBhIGR5bmFtaWNhbGx5IGxpbmtlZAo+ICsJICBtb2R1bGUsIHRoZSBtb2R1bGUgd2lsbCBi ZSBjYWxsZWQgY2RuczMua28uCj4gKwo+ICtpZiBVU0JfQ0ROUzMKPiArCj4gK2NvbmZpZyBVU0Jf Q0ROUzNfUENJX1dSQVAKPiArCXRyaXN0YXRlICJQQ0llLWJhc2VkIFBsYXRmb3JtcyIKPiArCWRl cGVuZHMgb24gVVNCX1BDSSAmJiBBQ1BJCj4gKwlkZWZhdWx0IFVTQl9DRE5TMwo+ICsJaGVscAo+ ICsJICBJZiB5b3UncmUgdXNpbmcgdGhlIFVTQlNTIENvcmUgSVAgd2l0aCBhIFBDSWUsIHBsZWFz ZSBzYXkKPiArCSAgJ1knIG9yICdNJyBoZXJlLgo+ICsKPiArCSAgSWYgeW91IGNob29zZSB0byBi dWlsZCB0aGlzIGRyaXZlciBhcyBtb2R1bGUgaXQgd2lsbAo+ICsJICBiZSBkeW5hbWljYWxseSBs aW5rZWQgYW5kIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBjZG5zMy1wY2kua28KPiArCj4gK2VuZGlm Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NkbnMzL01ha2VmaWxlIGIvZHJpdmVycy91c2Iv Y2RuczMvTWFrZWZpbGUKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAw MC4uZGNkZDYyMDAzYzZhCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvdXNiL2NkbnMz L01ha2VmaWxlCj4gQEAgLTAsMCArMSwzIEBACj4gK29iai0kKENPTkZJR19VU0JfQ0ROUzNfUENJ X1dSQVApCSs9IGNkbnMzLXBjaS5vCj4gKwo+ICtjZG5zMy1wY2kteQkJIAkJOj0gY2RuczMtcGNp LXdyYXAubwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jZG5zMy9jZG5zMy1wY2ktd3JhcC5j IGIvZHJpdmVycy91c2IvY2RuczMvY2RuczMtcGNpLXdyYXAuYwo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi42YzIyOWFiNmRmZmIKPiAtLS0gL2Rldi9udWxsCj4g KysrIGIvZHJpdmVycy91c2IvY2RuczMvY2RuczMtcGNpLXdyYXAuYwo+IEBAIC0wLDAgKzEsMTYy IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKy8qCj4gKyAqIENh ZGVuY2UgVVNCU1MgUENJIEdsdWUgZHJpdmVyCj4gKyAqCj4gKyAqIENvcHlyaWdodCAoQykgMjAx OCBDYWRlbmNlLgo+ICsgKgo+ICsgKiBBdXRob3I6IFBhd2VsIExhc3pjemFrIDxwYXdlbGxAY2Fk ZW5jZS5jb20+Cj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgo+ICsjaW5j bHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KPiArI2luY2x1 ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBp bmcuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiArCj4gK3N0cnVjdCBjZG5zM193cmFw IHsKPiArCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRfZGV2Owo+ICsJc3RydWN0IHBjaV9k ZXYgKmhnX2RldjsKPiArCXN0cnVjdCByZXNvdXJjZSBkZXZfcmVzWzRdOwo+ICt9Owo+ICsKPiAr c3RydWN0IGNkbnMzX3dyYXAgd3JhcDsKPiArCj4gKyNkZWZpbmUgUkVTX0lSUV9JRAkJMAo+ICsj ZGVmaW5lIFJFU19IT1NUX0lECQkxCj4gKyNkZWZpbmUgUkVTX0RFVl9JRAkJMgo+ICsjZGVmaW5l IFJFU19EUkRfSUQJCTMKPiArCj4gKyNkZWZpbmUgUENJX0JBUl9IT1NUCQkwCj4gKyNkZWZpbmUg UENJX0JBUl9ERVYJCTIKPiArI2RlZmluZSBQQ0lfQkFSX09URwkJNAo+ICsKPiArI2RlZmluZSBQ Q0lfREVWX0ZOX0hPU1RfREVWSUNFCTAKPiArI2RlZmluZSBQQ0lfREVWX0ZOX09URwkJMQo+ICsK PiArI2RlZmluZSBQQ0lfRFJJVkVSX05BTUUJCSJjZG5zMy1wY2ktdXNic3MiCj4gKyNkZWZpbmUg UExBVF9EUklWRVJfTkFNRQkiY2Rucy11c2IzIgo+ICsKPiArI2RlZmluZSBDRE5TX1ZFTkRPUl9J RCAweDE3Y2QKPiArI2RlZmluZSBDRE5TX0RFVklDRV9JRCAweDAxMDAKPiArCj4gKy8qKgo+ICsg KiBjZG5zM19wY2lfcHJvYmUgLSBQcm9iZSBmdW5jdGlvbiBmb3IgQ2FkZW5jZSBVU0Igd3JhcHBl ciBkcml2ZXIKPiArICogQHBkZXY6IHBsYXRmb3JtIGRldmljZSBvYmplY3QKPiArICogQGlkOiBw Y2kgZGV2aWNlIGlkCj4gKyAqCj4gKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzIG90aGVyd2lzZSBu ZWdhdGl2ZSBlcnJubwo+ICsgKi8KPiArc3RhdGljIGludCBjZG5zM19wY2lfcHJvYmUoc3RydWN0 IHBjaV9kZXYgKnBkZXYsCj4gKwkJCSAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICppZCkK PiArewo+ICsJc3RydWN0IHBsYXRmb3JtX2RldmljZV9pbmZvIHBsYXRfaW5mbzsKPiArCXN0cnVj dCBjZG5zM193cmFwICp3cmFwOwo+ICsJc3RydWN0IHJlc291cmNlICpyZXM7Cj4gKwlpbnQgZXJy Owo+ICsKPiArCS8qCj4gKwkgKiBmb3IgR0FER0VUL0hPU1QgUENJIChkZXZmbikgZnVuY3Rpb24g bnVtYmVyIGlzIDAsCj4gKwkgKiBmb3IgT1RHIFBDSSAoZGV2Zm4pIGZ1bmN0aW9uIG51bWJlciBp cyAxCj4gKwkgKi8KPiArCWlmICghaWQgfHwgcGRldi0+ZGV2Zm4gIT0gUENJX0RFVl9GTl9IT1NU X0RFVklDRSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwllcnIgPSBwY2ltX2VuYWJsZV9k ZXZpY2UocGRldik7Cj4gKwlpZiAoZXJyKSB7Cj4gKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiRW5h YmxpbmcgUENJIGRldmljZSBoYXMgZmFpbGVkICVkXG4iLCBlcnIpOwo+ICsJCXJldHVybiBlcnI7 Cj4gKwl9Cj4gKwo+ICsJcGNpX3NldF9tYXN0ZXIocGRldik7Cj4gKwl3cmFwID0gZGV2bV9remFs bG9jKCZwZGV2LT5kZXYsIHNpemVvZigqd3JhcCksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCF3cmFw KSB7Cj4gKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiRmFpbGVkIHRvIGxvYWQgUENJIG1vZHVsZVxu Iik7Cj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwl9Cj4gKwo+ICsJLyogZnVuY3Rpb24gMDogaG9z dChCQVJfMCkgKyBkZXZpY2UoQkFSXzEpICsgb3RnKEJBUl8yKSkuICovCj4gKwltZW1zZXQod3Jh cC0+ZGV2X3JlcywgMHgwMCwKPiArCSAgICAgICBzaXplb2Yoc3RydWN0IHJlc291cmNlKSAqIEFS UkFZX1NJWkUod3JhcC0+ZGV2X3JlcykpOwo+ICsJZGV2X2luZm8oJnBkZXYtPmRldiwgIkluaXRp YWxpemUgRGV2aWNlIHJlc291cmNlc1xuIik7Cj4gKwlyZXMgPSB3cmFwLT5kZXZfcmVzOwo+ICsK PiArI2lmIElTX0VOQUJMRUQoQ09ORklHX1VTQl9DRE5TM19HQURHRVQpCgpXaHkgZGVwZW5kIG9u IENvbmZpZyBvcHRpb25zIHRvIHBvcHVsYXRlIHJlc291cmNlcz8gVGhlIHJlc291cmNlcyBzaG91 bGQgYmUgdGhlcmUgcmVnYXJkbGVzcy4KSXQgaXMgYSBsb3Qgc2ltcGxlciB0aGF0IHdheSBhcyBp dCByZWZsZWN0cyB0aGUgaGFyZHdhcmUgYXMtaXMuCgo+ICsJcmVzW1JFU19ERVZfSURdLnN0YXJ0 ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBkZXYsIFBDSV9CQVJfREVWKTsKPiArCXJlc1tSRVNfREVW X0lEXS5lbmQgPSAgIHBjaV9yZXNvdXJjZV9lbmQocGRldiwgUENJX0JBUl9ERVYpOwo+ICsJcmVz W1JFU19ERVZfSURdLm5hbWUgPSAiY2RuczMtZGV2LXJlZ3MiOwo+ICsJcmVzW1JFU19ERVZfSURd LmZsYWdzID0gSU9SRVNPVVJDRV9NRU07Cj4gKwlkZXZfaW5mbygmcGRldi0+ZGV2LCAiVVNCU1Mt REVWIHBoeXNpY2FsIGJhc2UgYWRkcjogJXBhXG4iLAo+ICsJCSAmcmVzW1JFU19ERVZfSURdLnN0 YXJ0KTsKPiArCgpkZXZfZGJnKCkgZm9yIHRoaXMgYW5kIGFsbCBvY2N1cnJlbmNlcyBiZWxvdz8K Cj4gKyNlbmRpZgo+ICsKPiArI2lmIElTX0VOQUJMRUQoQ09ORklHX1VTQl9DRE5TM19IT1NUKQo+ ICsJcmVzW1JFU19IT1NUX0lEXS5zdGFydCA9IHBjaV9yZXNvdXJjZV9zdGFydChwZGV2LCBQQ0lf QkFSX0hPU1QpOwo+ICsJcmVzW1JFU19IT1NUX0lEXS5lbmQgPSBwY2lfcmVzb3VyY2VfZW5kKHBk ZXYsIFBDSV9CQVJfSE9TVCk7Cj4gKwlyZXNbUkVTX0hPU1RfSURdLm5hbWUgPSAiY2RuczMteGhj aS1yZWdzIjsKPiArCXJlc1tSRVNfSE9TVF9JRF0uZmxhZ3MgPSBJT1JFU09VUkNFX01FTTsKPiAr CWRldl9pbmZvKCZwZGV2LT5kZXYsICJVU0JTUy1YSENJIHBoeXNpY2FsIGJhc2UgYWRkcjogJXBh XG4iLAo+ICsJCSAmcmVzW1JFU19IT1NUX0lEXS5zdGFydCk7Cj4gKyNlbmRpZgo+ICsKPiArCXJl c1tSRVNfRFJEX0lEXS5zdGFydCA9IHBjaV9yZXNvdXJjZV9zdGFydChwZGV2LCBQQ0lfQkFSX09U Ryk7Cj4gKwlyZXNbUkVTX0RSRF9JRF0uZW5kID0gICBwY2lfcmVzb3VyY2VfZW5kKHBkZXYsIFBD SV9CQVJfT1RHKTsKPiArCXJlc1tSRVNfRFJEX0lEXS5uYW1lID0gImNkbnMzLW90ZyI7Cj4gKwly ZXNbUkVTX0RSRF9JRF0uZmxhZ3MgPSBJT1JFU09VUkNFX01FTTsKPiArCWRldl9pbmZvKCZwZGV2 LT5kZXYsICJVU0JTUy1EUkQgcGh5c2ljYWwgYmFzZSBhZGRyOiAlcGFcbiIsCj4gKwkJICZyZXNb UkVTX0RSRF9JRF0uc3RhcnQpOwo+ICsKPiArCS8qIEludGVycnVwdCBjb21tb24gZm9yIGJvdGgg ZGV2aWNlIGFuZCBYSENJICovCj4gKwl3cmFwLT5kZXZfcmVzW1JFU19JUlFfSURdLnN0YXJ0ID0g cGRldi0+aXJxOwo+ICsJd3JhcC0+ZGV2X3Jlc1tSRVNfSVJRX0lEXS5uYW1lID0gImNkbnMzLWly cSI7Cj4gKwl3cmFwLT5kZXZfcmVzW1JFU19JUlFfSURdLmZsYWdzID0gSU9SRVNPVVJDRV9JUlE7 Cj4gKwo+ICsJLyogc2V0IHVwIHBsYXRmb3JtIGRldmljZSBpbmZvICovCj4gKwltZW1zZXQoJnBs YXRfaW5mbywgMCwgc2l6ZW9mKHBsYXRfaW5mbykpOwo+ICsJcGxhdF9pbmZvLnBhcmVudCA9ICZw ZGV2LT5kZXY7Cj4gKwlwbGF0X2luZm8uZndub2RlID0gcGRldi0+ZGV2LmZ3bm9kZTsKPiArCXBs YXRfaW5mby5uYW1lID0gUExBVF9EUklWRVJfTkFNRTsKPiArCXBsYXRfaW5mby5pZCA9IHBkZXYt PmRldmZuOwo+ICsJcGxhdF9pbmZvLnJlcyA9IHdyYXAtPmRldl9yZXM7Cj4gKwlwbGF0X2luZm8u bnVtX3JlcyA9IEFSUkFZX1NJWkUod3JhcC0+ZGV2X3Jlcyk7Cj4gKwlwbGF0X2luZm8uZG1hX21h c2sgPSBwZGV2LT5kbWFfbWFzazsKPiArCj4gKwkvKiByZWdpc3RlciBwbGF0Zm9ybSBkZXZpY2Ug Ki8KPiArCXdyYXAtPnBsYXRfZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoJnBs YXRfaW5mbyk7Cj4gKwlpZiAoSVNfRVJSKHdyYXAtPnBsYXRfZGV2KSkgewo+ICsJCWVyciA9IFBU Ul9FUlIod3JhcC0+cGxhdF9kZXYpOwo+ICsJCXJldHVybiBlcnI7Cj4gKwl9Cj4gKwo+ICsJcGNp X3NldF9kcnZkYXRhKHBkZXYsIHdyYXApOwo+ICsKPiArCXJldHVybiBlcnI7Cj4gK30KPiArCj4g K3ZvaWQgY2RuczNfcGNpX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGRldikKPiArewo+ICsJc3Ry dWN0IGNkbnMzX3dyYXAgKndyYXAgPSAoc3RydWN0IGNkbnMzX3dyYXAgKilwY2lfZ2V0X2RydmRh dGEocGRldik7Cj4gKwo+ICsJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIod3JhcC0+cGxhdF9k ZXYpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgY2RuczNf cGNpX2lkc1tdID0gewo+ICsJeyBQQ0lfREVWSUNFKENETlNfVkVORE9SX0lELCBDRE5TX0RFVklD RV9JRCksIH0sCj4gKwl7IDAsIH0KPiArfTsKPiArCj4gK3N0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZl ciBjZG5zM19wY2lfZHJpdmVyID0gewo+ICsJLm5hbWUgPSBQQ0lfRFJJVkVSX05BTUUsCj4gKwku aWRfdGFibGUgPSBjZG5zM19wY2lfaWRzLAo+ICsJLnByb2JlID0gY2RuczNfcGNpX3Byb2JlLAo+ ICsJLnJlbW92ZSA9IGNkbnMzX3BjaV9yZW1vdmUsCj4gK307Cj4gKwo+ICttb2R1bGVfcGNpX2Ry aXZlcihjZG5zM19wY2lfZHJpdmVyKTsKPiArTU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIGNkbnMz X3BjaV9pZHMpOwo+ICsKPiArTU9EVUxFX0FVVEhPUigiUGF3ZWwgTGFzemN6YWsgPHBhd2VsbEBj YWRlbmNlLmNvbT4iKTsKPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwo+ICtNT0RVTEVfREVT Q1JJUFRJT04oIkNhZGVuY2UgVVNCU1MgUENJIHdyYXBwZXJyIik7Cj4gKwo+IAoKY2hlZXJzLAot cm9nZXIK