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,usb-next,v2,1/2] usb: core: split usb_phy_roothub_{init,alloc} From: Chunfeng Yun Message-Id: <1522111848.3717.188.camel@mhfsdcap03> Date: Tue, 27 Mar 2018 08:50:48 +0800 To: Martin Blumenstingl Cc: linux-usb@vger.kernel.org, gregkh@linuxfoundation.org, matthias.bgg@gmail.com, stern@rowland.harvard.edu, rogerq@ti.com, linux-mediatek@lists.infradead.org, linux-amlogic@lists.infradead.org, j-keerthy@ti.com, d-gerlach@ti.com, kishon@ti.com List-ID: T24gTW9uLCAyMDE4LTAzLTI2IGF0IDIyOjMxICswMjAwLCBNYXJ0aW4gQmx1bWVuc3RpbmdsIHdy b3RlOgo+IEhpIENodW5mZW5nLAo+IAo+IE9uIE1vbiwgTWFyIDI2LCAyMDE4IGF0IDU6MzcgQU0s IENodW5mZW5nIFl1biA8Y2h1bmZlbmcueXVuQG1lZGlhdGVrLmNvbT4gd3JvdGU6Cj4gPiBPbiBT YXQsIDIwMTgtMDMtMjQgYXQgMTU6MjEgKzAxMDAsIE1hcnRpbiBCbHVtZW5zdGluZ2wgd3JvdGU6 Cj4gPj4gQmVmb3JlIHRoaXMgcGF0Y2ggdXNiX3BoeV9yb290aHViX2luaXQgc2VydmVkIHR3byBw dXJwb3NlcyAoZnJvbSBhCj4gPj4gY2FsbGVyJ3MgcG9pbnQgb2YgdmlldyAtIGxpa2UgaGNkLmMp Ogo+ID4+IC0gcGFyc2luZyB0aGUgUEhZcyBhbmQgYWxsb2NhdGluZyB0aGUgbGlzdCBlbnRyaWVz Cj4gPj4gLSBjYWxsaW5nIHBoeV9pbml0IG9uIGVhY2ggbGlzdCBlbnRyeQo+ID4+Cj4gPj4gV2hp bGUgdGhpcyB3b3JrZWQgc28gZmFyIGl0IGhhcyBvbmUgZGlzYWR2YW50YWdlOiBpZiB3ZSBuZWVk IHRvIGNhbGwKPiA+PiBwaHlfaW5pdCBmb3IgZWFjaCBQSFkgaW5zdGFuY2UgdGhlbiB0aGUgZXhp c3RpbmcgY29kZSBjYW5ub3QgYmUgcmUtdXNlZC4KPiA+PiBTb2x2ZSB0aGlzIGJ5IHNwbGl0dGlu ZyBvZmYgdXNiX3BoeV9yb290aHViX2FsbG9jIHdoaWNoIG9ubHkgcGFyc2VzIHRoZQo+ID4+IFBI WXMgYW5kIGFsbG9jYXRlcyB0aGUgbGlzdCBlbnRyaWVzLgo+ID4+IHVzYl9waHlfcm9vdGh1Yl9p bml0IHRoZW4gZ2V0cyBhIHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgYW5kIG9ubHkgY2FsbHMKPiA+ PiBwaHlfaW5pdCBvbiBlYWNoIFBIWSBpbnN0YW5jZSAoYWxvbmcgd2l0aCB0aGUgY29ycmVzcG9u ZGluZyBjbGVhbnVwIGlmCj4gPj4gdGhhdCBmYWlsZWQgc29tZXdoZXJlKS4KPiA+Pgo+ID4+IFRo aXMgaXMgYSBwcmVwYXJhdGlvbiBzdGVwIGZvciBhZGRpbmcgcHJvcGVyIHN1c3BlbmQgc3VwcG9y dCBmb3Igc29tZQo+ID4+IGhhcmR3YXJlIHRoYXQgcmVxdWlyZXMgcGh5X2V4aXQgdG8gYmUgY2Fs bGVkIGR1cmluZyBzdXNwZW5kIGFuZCBwaHlfaW5pdAo+ID4+IHRvIGJlIGNhbGxlZCBkdXJpbmcg cmVzdW1lLgo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogTWFydGluIEJsdW1lbnN0aW5nbCA8bWFy dGluLmJsdW1lbnN0aW5nbEBnb29nbGVtYWlsLmNvbT4KPiA+PiAtLS0KPiA+PiAgZHJpdmVycy91 c2IvY29yZS9oY2QuYyB8IDEwICsrKysrKystLS0KPiA+PiAgZHJpdmVycy91c2IvY29yZS9waHku YyB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gPj4gIGRyaXZlcnMvdXNiL2NvcmUvcGh5LmggfCAgNCArKystCj4gPj4gIDMgZmlsZXMgY2hh bmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCj4gPj4KPiA+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy91c2IvY29yZS9oY2QuYyBiL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKPiA+ PiBpbmRleCA3NzcwMzZhZTYzNjcuLjE1YjA0MThlM2I2YSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2 ZXJzL3VzYi9jb3JlL2hjZC5jCj4gPj4gKysrIGIvZHJpdmVycy91c2IvY29yZS9oY2QuYwo+ID4+ IEBAIC0yNzU4LDEyICsyNzU4LDE2IEBAIGludCB1c2JfYWRkX2hjZChzdHJ1Y3QgdXNiX2hjZCAq aGNkLAo+ID4+ICAgICAgIH0KPiA+Pgo+ID4+ICAgICAgIGlmICghaGNkLT5za2lwX3BoeV9pbml0 aWFsaXphdGlvbiAmJiB1c2JfaGNkX2lzX3ByaW1hcnlfaGNkKGhjZCkpIHsKPiA+PiAtICAgICAg ICAgICAgIGhjZC0+cGh5X3Jvb3RodWIgPSB1c2JfcGh5X3Jvb3RodWJfaW5pdChoY2QtPnNlbGYu c3lzZGV2KTsKPiA+PiArICAgICAgICAgICAgIGhjZC0+cGh5X3Jvb3RodWIgPSB1c2JfcGh5X3Jv b3RodWJfYWxsb2MoaGNkLT5zZWxmLnN5c2Rldik7Cj4gPj4gICAgICAgICAgICAgICBpZiAoSVNf RVJSKGhjZC0+cGh5X3Jvb3RodWIpKSB7Cj4gPj4gICAgICAgICAgICAgICAgICAgICAgIHJldHZh bCA9IFBUUl9FUlIoaGNkLT5waHlfcm9vdGh1Yik7Cj4gPj4gLSAgICAgICAgICAgICAgICAgICAg IGdvdG8gZXJyX3BoeV9yb290aHViX2luaXQ7Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgIGdv dG8gZXJyX3BoeV9yb290aHViX2FsbG9jOwo+ID4+ICAgICAgICAgICAgICAgfQo+ID4+Cj4gPj4g KyAgICAgICAgICAgICByZXR2YWwgPSB1c2JfcGh5X3Jvb3RodWJfaW5pdChoY2QtPnBoeV9yb290 aHViKTsKPiA+PiArICAgICAgICAgICAgIGlmIChyZXR2YWwpCj4gPj4gKyAgICAgICAgICAgICAg ICAgICAgIGdvdG8gZXJyX3BoeV9yb290aHViX2FsbG9jOwo+ID4+ICsKPiA+PiAgICAgICAgICAg ICAgIHJldHZhbCA9IHVzYl9waHlfcm9vdGh1Yl9wb3dlcl9vbihoY2QtPnBoeV9yb290aHViKTsK PiA+PiAgICAgICAgICAgICAgIGlmIChyZXR2YWwpCj4gPj4gICAgICAgICAgICAgICAgICAgICAg IGdvdG8gZXJyX3VzYl9waHlfcm9vdGh1Yl9wb3dlcl9vbjsKPiA+PiBAQCAtMjkzNiw3ICsyOTQw LDcgQEAgaW50IHVzYl9hZGRfaGNkKHN0cnVjdCB1c2JfaGNkICpoY2QsCj4gPj4gICAgICAgdXNi X3BoeV9yb290aHViX3Bvd2VyX29mZihoY2QtPnBoeV9yb290aHViKTsKPiA+PiAgZXJyX3VzYl9w aHlfcm9vdGh1Yl9wb3dlcl9vbjoKPiA+PiAgICAgICB1c2JfcGh5X3Jvb3RodWJfZXhpdChoY2Qt PnBoeV9yb290aHViKTsKPiA+PiAtZXJyX3BoeV9yb290aHViX2luaXQ6Cj4gPj4gK2Vycl9waHlf cm9vdGh1Yl9hbGxvYzoKPiA+PiAgICAgICBpZiAoaGNkLT5yZW1vdmVfcGh5ICYmIGhjZC0+dXNi X3BoeSkgewo+ID4+ICAgICAgICAgICAgICAgdXNiX3BoeV9zaHV0ZG93bihoY2QtPnVzYl9waHkp Owo+ID4+ICAgICAgICAgICAgICAgdXNiX3B1dF9waHkoaGNkLT51c2JfcGh5KTsKPiA+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9waHkuYyBiL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmMK PiA+PiBpbmRleCBmMTlhYWEzYzg5OWMuLmQxODYxYzVhNzRkZSAxMDA2NDQKPiA+PiAtLS0gYS9k cml2ZXJzL3VzYi9jb3JlL3BoeS5jCj4gPj4gKysrIGIvZHJpdmVycy91c2IvY29yZS9waHkuYwo+ ID4+IEBAIC0xOSwxOSArMTksNiBAQCBzdHJ1Y3QgdXNiX3BoeV9yb290aHViIHsKPiA+PiAgICAg ICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAgICBsaXN0Owo+ID4+ICB9Owo+ID4+Cj4gPj4gLXN0YXRp YyBzdHJ1Y3QgdXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jvb3RodWJfYWxsb2Moc3RydWN0IGRl dmljZSAqZGV2KQo+ID4+IC17Cj4gPj4gLSAgICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcm9v dGh1Yl9lbnRyeTsKPiA+PiAtCj4gPj4gLSAgICAgcm9vdGh1Yl9lbnRyeSA9IGRldm1fa3phbGxv YyhkZXYsIHNpemVvZigqcm9vdGh1Yl9lbnRyeSksIEdGUF9LRVJORUwpOwo+ID4+IC0gICAgIGlm ICghcm9vdGh1Yl9lbnRyeSkKPiA+PiAtICAgICAgICAgICAgIHJldHVybiBFUlJfUFRSKC1FTk9N RU0pOwo+ID4+IC0KPiA+PiAtICAgICBJTklUX0xJU1RfSEVBRCgmcm9vdGh1Yl9lbnRyeS0+bGlz dCk7Cj4gPj4gLQo+ID4+IC0gICAgIHJldHVybiByb290aHViX2VudHJ5Owo+ID4+IC19Cj4gPj4g LQo+ID4+ICBzdGF0aWMgaW50IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5KHN0cnVjdCBkZXZpY2Ug KmRldiwgaW50IGluZGV4LAo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBsaXN0X2hlYWQgKmxpc3QpCj4gPj4gIHsKPiA+PiBAQCAtNDUsOSArMzIsOSBAQCBzdGF0 aWMgaW50IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5KHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGlu ZGV4LAo+ID4+ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUFRSX0VSUihwaHkpOwo+ID4+ ICAgICAgIH0KPiA+Cj4gPj4KPiA+PiAtICAgICByb290aHViX2VudHJ5ID0gdXNiX3BoeV9yb290 aHViX2FsbG9jKGRldik7Cj4gPj4gLSAgICAgaWYgKElTX0VSUihyb290aHViX2VudHJ5KSkKPiA+ PiAtICAgICAgICAgICAgIHJldHVybiBQVFJfRVJSKHJvb3RodWJfZW50cnkpOwo+ID4+ICsgICAg IHJvb3RodWJfZW50cnkgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnJvb3RodWJfZW50cnkp LCBHRlBfS0VSTkVMKTsKPiA+PiArICAgICBpZiAoIXJvb3RodWJfZW50cnkpCj4gPj4gKyAgICAg ICAgICAgICByZXR1cm4gLUVOT01FTTsKPiA+Pgo+ID4+ICAgICAgIHJvb3RodWJfZW50cnktPnBo eSA9IHBoeTsKPiA+Pgo+ID4+IEBAIC01NiwxMSArNDMsOSBAQCBzdGF0aWMgaW50IHVzYl9waHlf cm9vdGh1Yl9hZGRfcGh5KHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGluZGV4LAo+ID4+ICAgICAg IHJldHVybiAwOwo+ID4+ICB9Cj4gPj4KPiA+PiAtc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNi X3BoeV9yb290aHViX2luaXQoc3RydWN0IGRldmljZSAqZGV2KQo+ID4+ICtzdHJ1Y3QgdXNiX3Bo eV9yb290aHViICp1c2JfcGh5X3Jvb3RodWJfYWxsb2Moc3RydWN0IGRldmljZSAqZGV2KQo+ID4+ ICB7Cj4gPj4gICAgICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWI7Cj4gPj4g LSAgICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcm9vdGh1Yl9lbnRyeTsKPiA+PiAtICAgICBz dHJ1Y3QgbGlzdF9oZWFkICpoZWFkOwo+ID4+ICAgICAgIGludCBpLCBudW1fcGh5cywgZXJyOwo+ ID4+Cj4gPj4gICAgICAgbnVtX3BoeXMgPSBvZl9jb3VudF9waGFuZGxlX3dpdGhfYXJncyhkZXYt Pm9mX25vZGUsICJwaHlzIiwKPiA+PiBAQCAtNjgsMTYgKzUzLDMxIEBAIHN0cnVjdCB1c2JfcGh5 X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCBkZXZpY2UgKmRldikKPiA+PiAg ICAgICBpZiAobnVtX3BoeXMgPD0gMCkKPiA+PiAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwo+ ID4+Cj4gPj4gLSAgICAgcGh5X3Jvb3RodWIgPSB1c2JfcGh5X3Jvb3RodWJfYWxsb2MoZGV2KTsK PiA+PiAtICAgICBpZiAoSVNfRVJSKHBoeV9yb290aHViKSkKPiA+PiAtICAgICAgICAgICAgIHJl dHVybiBwaHlfcm9vdGh1YjsKPiA+PiArICAgICBwaHlfcm9vdGh1YiA9IGRldm1fa3phbGxvYyhk ZXYsIHNpemVvZigqcGh5X3Jvb3RodWIpLCBHRlBfS0VSTkVMKTsKPiA+PiArICAgICBpZiAoIXBo eV9yb290aHViKQo+ID4+ICsgICAgICAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4g Pj4gKwo+ID4+ICsgICAgIElOSVRfTElTVF9IRUFEKCZwaHlfcm9vdGh1Yi0+bGlzdCk7Cj4gPj4K PiA+PiAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX3BoeXM7IGkrKykgewo+ID4+ICAgICAgICAg ICAgICAgZXJyID0gdXNiX3BoeV9yb290aHViX2FkZF9waHkoZGV2LCBpLCAmcGh5X3Jvb3RodWIt Pmxpc3QpOwo+ID4gQlRXOgo+ID4KPiA+IHN0YXRpYyBpbnQgdXNiX3BoeV9yb290aHViX2FkZF9w aHkoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaW5kZXgsCj4gPiAgICAgICAgICAgICAgICAgICAg c3RydWN0IGxpc3RfaGVhZCAqbGlzdCkKPiA+IHsKPiA+ICAgICBzdHJ1Y3QgdXNiX3BoeV9yb290 aHViICpyb290aHViX2VudHJ5Owo+ID4gICAgIHN0cnVjdCBwaHkgKnBoeSA9IGRldm1fb2ZfcGh5 X2dldF9ieV9pbmRleChkZXYsIGRldi0+b2Zfbm9kZSwKPiA+IGluZGV4KTsKPiA+Cj4gPiAgICAg aWYgKElTX0VSUl9PUl9OVUxMKHBoeSkpIHsKPiA+ICAgICAgICAgaWYgKCFwaHkgfHwgUFRSX0VS UihwaHkpID09IC1FTk9ERVYpCj4gPiAgICAgICAgICAgICByZXR1cm4gMDsKPiA+ICAgICAgICAg ZWxzZQo+ID4gICAgICAgICAgICAgcmV0dXJuIFBUUl9FUlIocGh5KTsKPiA+ICAgICB9Cj4gPgo+ ID4gY2hhbmdlZCBhczoKPiA+ICAgICBpZiAoSVNfRVJSKHBoeSkpCj4gPiAgICAgICAgICByZXR1 cm4gUFRSX0VSUihwaHkpOwo+ID4KPiA+IFRoZSBjaGVja2luZyBvZiByZXR1cm4gY29kZSBvZiBk ZXZtX29mX3BoeV9nZXRfYnlfaW5kZXgoKSBjYWxsZWQgYnkKPiA+IHVzYl9waHlfcm9vdGh1Yl9h ZGRfcGh5KCkgbmVlZCBiZSBmaXhlZD8gYmVjYXVzZSBpdCBzaG91bGQgZXhpc3QgZm9yCj4gPiBp bmRleCBAaS4KPiBnb29kIGNhdGNoIC0gdGhhbmsgeW91IQo+IEkgdGhpbmsgKGJ1dCBJIGRvbid0 IHJlbWVtYmVyIGV4YWN0bHkpIG15IGlkZWEgd2FzIHRvIGNhdGNoIHRoZSBjYXNlCj4gd2hlcmUg Q09ORklHX0dFTkVSSUNfUEhZIHdhcyBkaXNhYmxlZC4gaG93ZXZlciwgaW4gdGhhdCBjYXNlIHRo ZSBQSFkKPiBmcmFtZXdvcmsgcmV0dXJucyBFUlJfUFRSKC1FTk9TWVMpOwpJbiB0aGUgZWFybGll ciBwYXRjaCwgcGh5IGlzIGdvdCBieSBuYW1lIGZvciBlYWNoIHBvcnQsIGFuZCBtYXkgbm90CmV4 aXN0Lgo+IAo+IGxldCBtZSBrbm93IGlmIEkgc2hvdWxkIHNlbmQgYSBwYXRjaCBmb3IgdGhpcyBp c3N1ZSBvciBpZiB5b3Ugd2FudCB0bwo+IHNlbmQgYSBwYXRjaCB5b3Vyc2VsZgo+IGhvd2V2ZXIs IEknZCBzdWdnZXN0IHdhaXRpbmcgdW50aWwgdGhpcyBSRkMgaXMgZmluaXNoZWQvbWVyZ2VkIGJl Y2F1c2UKPiB0aGlzIGlzc3VlIGFscmVhZHkgZXhpc3QgaW4gdGhlIGNvZGUgYmVmb3JlIHRoaXMg c2VyaWVzCk9rLCBJJ2xsIHNlbmQgYSBwYXRjaCBpZiBuZWVkIGFmdGVyIHRoaXMgUkZDIGlzIG1l cmdlZAo+IAo+ID4+ICAgICAgICAgICAgICAgaWYgKGVycikKPiA+PiAtICAgICAgICAgICAgICAg ICAgICAgZ290byBlcnJfb3V0Owo+ID4+ICsgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRVJS X1BUUihlcnIpOwo+ID4+ICAgICAgIH0KPiA+Pgo+ID4+ICsgICAgIHJldHVybiBwaHlfcm9vdGh1 YjsKPiA+PiArfQo+ID4+ICtFWFBPUlRfU1lNQk9MX0dQTCh1c2JfcGh5X3Jvb3RodWJfYWxsb2Mp Owo+ID4+ICsKPiA+PiAraW50IHVzYl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCB1c2JfcGh5X3Jv b3RodWIgKnBoeV9yb290aHViKQo+ID4+ICt7Cj4gPj4gKyAgICAgc3RydWN0IHVzYl9waHlfcm9v dGh1YiAqcm9vdGh1Yl9lbnRyeTsKPiA+PiArICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkOwo+ ID4+ICsgICAgIGludCBlcnI7Cj4gPj4gKwo+ID4+ICsgICAgIGlmICghcGh5X3Jvb3RodWIpCj4g Pj4gKyAgICAgICAgICAgICByZXR1cm4gMDsKPiA+PiArCj4gPj4gICAgICAgaGVhZCA9ICZwaHlf cm9vdGh1Yi0+bGlzdDsKPiA+Pgo+ID4+ICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkocm9vdGh1 Yl9lbnRyeSwgaGVhZCwgbGlzdCkgewo+ID4+IEBAIC04NiwxNCArODYsMTMgQEAgc3RydWN0IHVz Yl9waHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IGRldmljZSAqZGV2KQo+ ID4+ICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycl9leGl0X3BoeXM7Cj4gPj4gICAgICAg fQo+ID4+Cj4gPj4gLSAgICAgcmV0dXJuIHBoeV9yb290aHViOwo+ID4+ICsgICAgIHJldHVybiAw Owo+ID4+Cj4gPj4gIGVycl9leGl0X3BoeXM6Cj4gPj4gICAgICAgbGlzdF9mb3JfZWFjaF9lbnRy eV9jb250aW51ZV9yZXZlcnNlKHJvb3RodWJfZW50cnksIGhlYWQsIGxpc3QpCj4gPj4gICAgICAg ICAgICAgICBwaHlfZXhpdChyb290aHViX2VudHJ5LT5waHkpOwo+ID4+Cj4gPj4gLWVycl9vdXQ6 Cj4gPj4gLSAgICAgcmV0dXJuIEVSUl9QVFIoZXJyKTsKPiA+PiArICAgICByZXR1cm4gZXJyOwo+ ID4+ICB9Cj4gPj4gIEVYUE9SVF9TWU1CT0xfR1BMKHVzYl9waHlfcm9vdGh1Yl9pbml0KTsKPiA+ Pgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL3BoeS5oIGIvZHJpdmVycy91c2Iv Y29yZS9waHkuaAo+ID4+IGluZGV4IDZmZGU1OWJmYmZmOC4uZWIzMTI1MzIwMWFkIDEwMDY0NAo+ ID4+IC0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmgKPiA+PiArKysgYi9kcml2ZXJzL3VzYi9j b3JlL3BoeS5oCj4gPj4gQEAgLTEsNiArMSw4IEBACj4gPj4gIHN0cnVjdCB1c2JfcGh5X3Jvb3Ro dWI7Cj4gPj4KPiA+PiAtc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2lu aXQoc3RydWN0IGRldmljZSAqZGV2KTsKPiA+PiArc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNi X3BoeV9yb290aHViX2FsbG9jKHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gPj4gKwo+ID4+ICtpbnQg dXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIp Owo+ID4+ICBpbnQgdXNiX3BoeV9yb290aHViX2V4aXQoc3RydWN0IHVzYl9waHlfcm9vdGh1YiAq cGh5X3Jvb3RodWIpOwo+ID4+Cj4gPj4gIGludCB1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb24oc3Ry dWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwo+ID4KPiA+Cj4gCj4gCj4gUmVnYXJk cwo+IE1hcnRpbgotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxp bmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1h am9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3Zn ZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==