From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Ser, Simon" Subject: Re: [PATCH v7 09/11] drm: uevent for connector status change Date: Mon, 13 May 2019 10:11:01 +0000 Message-ID: References: <20190507162745.25600-1-ramalingam.c@intel.com> <20190507162745.25600-10-ramalingam.c@intel.com> <31dad9a323382628911c5301a6eec179855aa815.camel@bootlin.com> <8aa3980a6948b9b2b989c237f8453ca54e72ad95.camel@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Content-ID: <1E244F3818B5F14B80EB3E98C2F1292C@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "daniel.vetter@ffwll.ch" , "paul.kocialkowski@bootlin.com" Cc: "airlied@linux.ie" , "maxime.ripard@bootlin.com" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "Mun, Gwan-gyeong" , "thomas.petazzoni@bootlin.com" , "Vetter, Daniel" , "sean@poorly.run" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMDE5LTA1LTEzIGF0IDExOjM0ICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOg0K PiBPbiBNb24sIE1heSAxMywgMjAxOSBhdCAxMTowMiBBTSBQYXVsIEtvY2lhbGtvd3NraQ0KPiA8 cGF1bC5rb2NpYWxrb3dza2lAYm9vdGxpbi5jb20+IHdyb3RlOg0KPiA+IEhpLA0KPiA+IA0KPiA+ IE9uIEZyaSwgMjAxOS0wNS0xMCBhdCAxNjo1NCArMDIwMCwgRGFuaWVsIFZldHRlciB3cm90ZToN Cj4gPiA+IE9uIEZyaSwgTWF5IDEwLCAyMDE5IGF0IDI6MTIgUE0gUGF1bCBLb2NpYWxrb3dza2kN Cj4gPiA+IDxwYXVsLmtvY2lhbGtvd3NraUBib290bGluLmNvbT4gd3JvdGU6DQo+ID4gPiA+IEhp LA0KPiA+ID4gPiANCj4gPiA+ID4gT24gVHVlLCAyMDE5LTA1LTA3IGF0IDIxOjU3ICswNTMwLCBS YW1hbGluZ2FtIEMgd3JvdGU6DQo+ID4gPiA+ID4gRFJNIEFQSSBmb3IgZ2VuZXJhdGluZyB1ZXZl bnQgZm9yIGEgc3RhdHVzIGNoYW5nZXMgb2YgY29ubmVjdG9yJ3MNCj4gPiA+ID4gPiBwcm9wZXJ0 eS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBUaGlzIHVldmVudCB3aWxsIGhhdmUgZm9sbG93aW5n IGRldGFpbHMgcmVsYXRlZCB0byB0aGUgc3RhdHVzIGNoYW5nZToNCj4gPiA+ID4gPiANCj4gPiA+ ID4gPiAgIEhPVFBMVUc9MSwgQ09OTkVDVE9SPTxjb25uZWN0b3JfaWQ+IGFuZCBQUk9QRVJUWT08 cHJvcGVydHlfaWQ+DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gTmVlZCBBQ0sgZnJvbSB0aGlzIHVl dmVudCBmcm9tIHVzZXJzcGFjZSBjb25zdW1lci4NCj4gPiA+ID4gDQo+ID4gPiA+IFNvIHdlIGp1 c3QgaGFkIHNvbWUgZGlzY3Vzc2lvbnMgb3ZlciBvbiBJUkMgYW5kIGF0IGFib3V0IHRoZSBob3Rw bHVnDQo+ID4gPiA+IGlzc3VlIGFuZCBjYW1lIHVwIHdpdGggc2ltaWxhciBpZGVhczoNCj4gPiA+ ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTkt TWF5LzIxNzQwOC5odG1sDQo+ID4gPiA+IA0KPiA+ID4gPiBUaGUgY29uY2x1c2lvbnMgb2YgdGhl c2UgZGlzY3Vzc2lvbnMgc28gZmFyIHdvdWxkIGJlIHRvIGhhdmUgYSBtb3JlIG9yDQo+ID4gPiA+ IGxlc3MgZmluZSBncmFpbiBvZiB1ZXZlbnQgcmVwb3J0aW5nIGRlcGVuZGluZyBvbiB3aGF0IGhh cHBlbmVkLiBUaGUNCj4gPiA+ID4gcG9pbnQgaXMgdGhhdCB3ZSBuZWVkIHRvIGNvdmVyIGRpZmZl cmVudCBjYXNlczoNCj4gPiA+ID4gLSBvbmUgb3IgbW9yZSBwcm9wZXJ0aWVzIGNoYW5nZWQ7DQo+ ID4gPiA+IC0gdGhlIGNvbm5lY3RvciBzdGF0dXMgY2hhbmdlZDsNCj4gPiA+ID4gLSBzb21ldGhp bmcgZWxzZSBhYm91dCB0aGUgY29ubmVjdG9yIGNoYW5nZWQgKGUuZy4gRURJRC9tb2RlcykNCj4g PiA+ID4gDQo+ID4gPiA+IEZvciB0aGUgZmlyc3QgY2FzZSwgd2UgY2FuIHNlbmQgb3V0Og0KPiA+ ID4gPiBIT1RQTFVHPTENCj4gPiA+ID4gQ09OTkVDVE9SPTxpZD4NCj4gPiA+ID4gUFJPUEVSVFk9 PGlkPg0KPiA+ID4gPiANCj4gPiA+ID4gYW5kIG5vIHJlcHJvYmUgaXMgcmVxdWlyZWQuDQo+ID4g PiA+IA0KPiA+ID4gPiBGb3IgdGhlIHNlY29uZCBvbmUsIHNvbWV0aGluZyBsaWtlOg0KPiA+ID4g PiBIT1RQTFVHPTENCj4gPiA+ID4gQ09OTkVDVE9SPTxpZD4NCj4gPiA+ID4gU1RBVFVTPUNvbm5l Y3RlZC9EaXNjb25uZWN0ZWQNCj4gPiA+ID4gDQo+ID4gPiA+IGFuZCBhIGNvbm5lY3RvciBwcm9i ZSBpcyBuZWVkZWQgZm9yIGNvbm5lY3RlZCwgYnV0IG5vdCBmb3INCj4gPiA+ID4gZGlzY29ubmVj dGVkOw0KPiA+ID4gPiANCj4gPiA+ID4gRm9yIHRoZSB0aGlyZCBvbmUsIHdlIGNhbiBvbmx5IGlu ZGljYXRlIHRoZSBjb25uZWN0b3I6DQo+ID4gPiA+IEhPVFBMVUc9MQ0KPiA+ID4gPiBDT05ORUNU T1I9PGlkPg0KPiA+ID4gPiANCj4gPiA+ID4gYW5kIGEgcmVwcm9iZSBvZiB0aGUgY29ubmVjdG9y IGlzIGFsd2F5cyBuZWVkZWQNCj4gPiA+IA0KPiA+ID4gVGhlcmUncyBubyBtYXRlcmlhbCBkaWZm ZXJlbmNlIGJldHdlZW4gdGhpcyBvbmUgYW5kIHRoZSBwcmV2aW91cyBvbmUuDQo+ID4gPiBQbHVz IHRoZXJlJ3Mgbm8gYmVlbmZpdCBpbiBzdXBwbHlpbmcgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUg cHJvcGVydHksDQo+ID4gPiBpLmUuIHdlIGNhbiByZXVzZSB0aGUgc2FtZSBQUk9QRVJUWT08aWQt b2Ytc3RhdHVzLXByb3BlcnR5PiB0cmljay4NCj4gPiANCj4gPiBUaGF0J3MgdGhlIGlkZWEsIGJ1 dCB3ZSBuZWVkIHRvIGhhbmRsZSBzdGF0dXMgY2hhbmdlcyBkaWZmZXJlbnRseSB0aGFuDQo+ID4g cHJvcGVydGllcywgc2luY2UgYXMgZmFyIGFzIEkga25vdywgY29ubmVjdGVkL3VuY29ubmVjdGVk IHN0YXR1cyBpcyBub3QNCj4gPiBleHBvc2VkIGFzIGEgcHJvcCBmb3IgdGhlIGNvbm5lY3Rvci4N Cj4gDQo+IE9vcHMsIHRvdGFsbHkgbWlzc2VkIHRoYXQuICJFdmVyeXRoaW5nIGlzIGEgcHJvcGVy dHkiIGlzIGtpbmRhDQo+IG5ldy1pc2gsIGF0IGxlYXN0IGNvbXBhcmVkIHRvIGttcy4gS2luZGEg dGVtcHRlZCB0byBqdXN0IG1ha2Ugc3RhdHVzDQo+IGludG8gYSBwcm9wZXJ0eS4gT3IgYW5vdGhl ciBleGN1c2Ugd2h5IHdlIHNob3VsZCBleHBvc2UgdGhlIGVwb2NoDQo+IHByb3BlcnR5IDotKQ0K PiANCj4gPiA+IEhlcmUncyB3aHk6DQo+ID4gPiAtIEEgc2lkZSBlZmZlY3Qgb2YgZm9yY2luZyBh IHByb2JlIG9uIGEgY29ubmVjdG9yIGlzIHRoYXQgeW91IGdldCB0bw0KPiA+ID4gcmVhZCBhbGwg dGhlIHByb3BlcnRpZXMsIHNvIHN1cHBseWluZyB0aGVtIGlzIGtpbmRhIHBvaW50bGVzcy4NCj4g PiANCj4gPiBBZ3JlZWQsIGV4Y2VwdCBmb3IgdGhlIHN0YXR1cyBjYXNlIHdoZXJlIGl0J3MgdXNl ZnVsIHRvIGtub3cgaXQncyBhDQo+ID4gZGlzY29ubmVjdCwgYmVjYXVzZSB3ZSBkb24ndCBuZWVk IGFueSBwcm9iZSBzdGVwIGluIHRoYXQgY2FzZS4NCj4gPiANCj4gPiA+IC0gWW91IGNhbiByZWFk IFNUQVRVUyB3aXRob3V0IGZvcmNpbmcgYSByZXByb2JlLCBpZiB5b3Ugd2FudCB0byBhdm9pZA0K PiA+ID4gdGhlIHJlcHJvYmUgZm9yIGRpc2Nvbm5lY3RlZC4gSSdkIGtpbmRhIG5vdCByZWNvbW1l bmQgdGhhdCB0aG91Z2gsDQo+ID4gPiBmZWVscyBhIGJpdCBsaWtlIG92ZXJvcHRpbWl6aW5nLiBB bmQgZm9yIHJlYXNvbmFibGUgY29ubmVjdG9ycyAoaS5lLg0KPiA+ID4gZHApIHJlcHJvYmluZyBh IGRpc2Nvbm5lY3RlZCBvdXRwdXQgaXMgZmFzdC4gSERNSSBpcyAuLi4gbGVzcw0KPiA+ID4gcmVh c29uYWJsZSB1bmZvcnR1bmF0ZWx5LCBidXQgb2ggd2VsbC4NCj4gPiANCj4gPiBIb3cgd291bGQg dGhhdCBiZSByZXRyZWl2ZWQgdGhlbj8gRnJvbSB0aGUgbG9va3Mgb2YgaXQsIHRoYXQncyBhDQo+ ID4gTU9ERV9HRVRDT05ORUNUT1IgaW9jdGwgYW5kIEkgd2FzIHVuZGVyIHRoZSBpbXByZXNzaW9u IHRoaXMgaXMgd2hhdA0KPiA+IGRvZXMgdGhlIGZ1bGwgcmVwcm9iZS4NCj4gDQo+IGRybUdldENv bm5lY3RvciB2cyBkcm1HZXRDb25uZWN0b3JDdXJyZW50Lg0KPiANCj4gPiBOb3Qgc3VyZSB3aGF0 IGlzc3VlcyBjb3VsZCBhcmlzZSBpbiBjYXNlIG9mIGRpc2Nvbm5lY3Qgd2l0aG91dCByZXByb2Jl DQo+ID4gLS0gYXQgbGVhc3QgSSBkb24ndCBzZWUgd2h5IHVzZXJzcGFjZSBzaG91bGQgaGF2ZSB0 byBkbyBhbnl0aGluZyBpbg0KPiA+IHBhcnRpY3VsYXIgZXhjZXB0IG5vIGxvbmdlciB1c2luZyB0 aGUgY29ubmVjdG9yLCBldmVuIGluIGNvbXBsZXggRFAgTVNUDQo+ID4gY2FzZXMuDQo+IA0KPiBj b25uZWN0b3ItPnN0YXR1cyBtaWdodCBiZSBhIGxpZSB3aXRob3V0IGEgZnVsbCByZXByb2JlLCBh bmQgd3JvbmdseQ0KPiBpbmRpY2F0ZSB0aGF0IHRoZSBjb25uZWN0b3IgaXMgZGlzY29ubmVjdGVk IHdoaWxlIHRoZXJlJ3Mgc3RpbGwNCj4gc29tZXRoaW5nIHBsdWdnZWQgaW4uIEknbSBub3Qgc3Vy ZSB3ZSd2ZSBmaXhlZCB0aG9zZSBidWdzIGJ5IG5vdw0KPiAodXN1YWxseSBpdCdzIGFyb3VuZCAi aHBkIGluZGljYXRlcyBkaXNjb25uZWN0ZWQiIHZzLiAiaTJjIGluZGljYXRlcw0KPiBjb25uZWN0 ZWQsIGFuZCB3ZSBjYW4ndCBicmVhayB0aGlzIGJlY2F1c2UgZXZlcnkgaW50ZWwgcGxhdGZvcm0g ZXZlcg0KPiBzaGlwcGVkIGhhcyBhIGZldyBkZXZpY2VzIHdoZXJlIHRoaXMgaXMgc29tZWhvdyBi cm9rZW4sIGlycmVzcGVjdGl2ZQ0KPiBvZiB0aGUgc2luaykuDQo+IA0KPiA+ID4gLSBUaGVyZSdz IG5vIHdheSB0byBvbmx5IHJlcHJvYmUgc3RhdHVzLCB5b3UgY2FuIG9ubHkgZXZlciByZXByb2Jl DQo+ID4gPiBldmVyeXRoaW5nIHdpdGggdGhlIGN1cnJlbnQgaW9jdGwgYW5kIGltcGxlbWVudGF0 aW9ucy4gSGF2aW5nIGFuDQo+ID4gPiBvcHRpb24gdG8gcmVwcm9iZSBvbmx5IHBhcnRzIG9mIGl0 IGRvZXNuJ3Qgc2VlbSB1c2VmdWwgdG8gbWUgKHdlIG5lZWQNCj4gPiA+IHRvIHJlYWQgdGhlIEVE SUQgYW55d2F5LCBhbmQgdGhhdCdzIHRoZSBleHBlbnNpdmUgcGFydCBvZiByZXByb2JpbmcgaW4N Cj4gPiA+IGFsbW9zdCBhbGwgY2FzZXMpLg0KPiA+IA0KPiA+IEFncmVlZC4NCj4gPiANCj4gPiA+ IEluIGEgd2F5IFBST1BFUlRZPTxzdGF0dXMtcHJvcC1pZD4gc2ltcGx5IHRlbGxzIHVzZXJzcGFj ZSB0aGF0IGl0DQo+ID4gPiBuZWVkcyB0byByZXByb2JlIHRoaXMgY29ubmVjdG9yLg0KPiA+IA0K PiA+IEkgdGhvdWdodCB3ZSBjb3VsZCBhY2Nlc3MgdGhlIHByb3BzIGFsb25lLCB3aGljaCBhdm9p ZHMgZG9pbmcgYSByZXByb2JlDQo+ID4gd2hlbiB0aGUga2VybmVsIGtub3dzIHRoYXQgb25seSBh IHByb3Agb3IgYSBzZXQgb2YgcHJvcHMgY2hhbmdlZCBhbmQgZG8NCj4gPiBub3QgcmVxdWlyZSBh IGZ1bGwgcmVwcm9iZS4gVGhhdCdzIHRoZSBmaXJzdCBjYXNlIEkgd2FzIG1lbnRpb25uaW5nLg0K PiA+IA0KPiA+ID4gQXQgdGhhdCBwb2ludCB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hldGhlciB0 aGlzIGlzIGEgZ29vZCB1YXBpIG9yDQo+ID4gPiBub3QsIGFuZCB0aGF0J3Mgd2hlcmUgdGhlIGVw b2NoIGNvbWVzIGluLiBUaGVyZSdzIHR3byByZWFzb25zIGZvciBhbg0KPiA+ID4gZXBvY2g6DQo+ ID4gPiAtIFdlIG5lZWQgaXQgaW50ZXJuYWxseSBiZWNhdXNlIEknbSBub3QgZ29pbmlnIHRvIHdp cmUgYSBuZXcgcmV0dXJuDQo+ID4gPiB2YWx1ZSB0aHJvdWdoIGh1bmRyZWRzIG9mIGNvbm5lY3Rv ciBwcm9iZSBmdW5jdGlvbnMuIEl0J3MgbXVjaCBlYXNpZXINCj4gPiA+IHRvIGhhdmUgYW4gZXBv Y2ggY291bnRlciB3aGljaCB3ZSBzZXQgZnJvbSBlLmcuIGRybV9zZXRfZWRpZCBhbmQNCj4gPiA+ IHNpbWlsYXIgZnVuY3Rpb25zIHRoYXQgdXBkYXRlIHByb2JlIHN0YXRlLg0KPiA+IA0KPiA+IEkg ZG9uJ3QgdGhpbmsgSSdtIGZvbGxvd2luZyB3aGF0IGlzc3VlIHRoaXMgaXMgdHJ5aW5nIHRvIHNv bHZlDQo+ID4gaW50ZXJuYWxseS4NCj4gDQo+IFNvIEknbSBhc3N1bWluZyB0aGF0IGlmIHdlIGhh bmRsZSBhIGhvdHBsdWcsIHdlIG9ubHkgd2FudCB0byBnZW5lcmF0ZQ0KPiBvbmUgdWV2ZW50IGZv ciB0aGF0LCBub3Qgb25lIGZvciBldmVyeSBsaXR0bGUgdGhpbmcgdGhhdCBjaGFuZ2VkLg0KPiBU aGVyZSdzIHR3byB3YXlzIHRvIGltcGxlbWVudCB0aGlzIGxvZ2ljOg0KPiAtIFdpdGggc29tZSBl cG9jaCBjb3VudGVyIGFuZCBhIGhlbHBlciBmdW5jdGlvbiB5b3UgY2FuIGNhbGwgZXZlcnl0aW1l DQo+IHNvbWV0aGluZyBjaGFuZ2VkIChlLmcuIHN0YXR1cywgb3IgZWRpZCwgb3IgYW55dGhpbmcg ZWxzZSB3ZSBjYXJlDQo+IGFib3V0IGUuZy4gZnJvbSBkcCBhdXgpLiBUaGlzIHdvbid0IG5lZWQg bXVjaCAoaWYgYW55KSBkcml2ZXIgY2hhbmdlcywNCj4gYmVjYXVzZSB3ZSBjYW4ganVzdCBwdXQg dGhlc2UgaW50byB0aGUgcmVsZXZhbnQgaGVscGVyL2NvcmUgZnVuY3Rpb25zDQo+IChsaWtlIGVk aWQgdXBkYXRlLCBvciBkcCBhdXggcmVhZGluZyBvciB3aGF0ZXZlcikuDQo+IC0gV2lyaW5nIGEg bmV3IHJldHVybiB2YWx1ZSB0aHJvdWdoIHRoZSBlbnRpcmUgc3RhY2sgKGFuZCBfYWxsXyB0aGUN Cj4ga21zIGRyaXZlcnMpIHNvIHRoYXQgdGhlIHByb2JlIGhlbHBlcnMgY291bGQgYWdncmVnYXRl IHRoaXMgbGlrZSB0aGV5DQo+IGN1cnJlbnRseSBkby4NCj4gDQo+IE9uZSBvZiB0aGVzZSBpcyBh IGxvdCBsZXNzIHR5cGluZy4NCj4gDQo+ID4gPiAtIElmIHVzZXJzcGFjZSBtaXNzZXMgYW4gZXZl bnQgYW5kIHRoZXJlJ3Mgbm8gZXBvY2gsIHdlJ3JlIGZvcmNpbmcNCj4gPiA+IHVzZXJzcGFjZSB0 byByZXByb2JlIGV2ZXJ5dGhpbmcuIFVzZSBjYXNlIHdvdWxkIGJlIGlmIGEgY29tcG9zaXRvciBp cw0KPiA+ID4gc3dpdGNoZWQgYXdheSB3ZSBwcm9iYWJseSBkb24ndCB3YW50IHRvIHBpc3Mgb2Yg dGhlIGN1cnJlbnQgY29tcG9zaXRvcg0KPiA+ID4gYnkgYmxvY2tpbmcgaXQncyBvd24gcHJvYmUg a2VybmVsIGNhbGxzIGJ5IGRvaW5nIG91ciBvd24gKHByb2JlIGlzDQo+ID4gPiBzaW5nbGUtdGhy ZWFkZWQgaW4gdGhlIGtlcm5lbCB0aHJvdWdoIHRoZSBkZXYtPm1vZGVfY29uZmlnLm11dGV4KS4g SWYNCj4gPiA+IGl0IGNhbiByZWFkIHRoZSBlcG9jaCBwcm9wZXJ0eSAod2hpY2ggaXQgY2FuIGRv IHdpdGhvdXQgZm9yY2luZyBhDQo+ID4gPiByZXByb2JlKSB1c2Vyc3BhY2Ugd291bGQga25vdyB3 aGljaCBjb25uZWN0b3JzIGl0IG5lZWRzIHRvIGNoZWNrIGFuZA0KPiA+ID4gcmVwcm9iZS4NCj4g PiA+IA0KPiA+ID4gSGVuY2Ugd2h5IGVwb2NoLCBpdCdzIGEgYml0IG1vcmUgcm9idXN0IHVzZXJz cGFjZSBhcGkuIE9mYyB5b3UgY291bGQNCj4gPiA+IGFsc28gcmVxdWlyZSB0aGF0IHVzZXJzcGFj ZSBuZWVkcyB0byBrZWVwIHBhcnNpbmcgYWxsIHVldmVudHMgYW5kIG1ha2UNCj4gPiA+IGEgbGlz dCBvZiBhbGwgY29ubmVjdG9ycyBpdCBuZWVkcyB0byByZXByb2JlIHdoZW4gaXQncyBiYWNrIHRv IGJlaW5nDQo+ID4gPiB0aGUgYWN0aXZlIGNvbXBvc2l0b3IuIEJ1dCBqdXN0IGNvbXBhcmluZyBh IGN1cnJlbnQgZXBvY2ggd2l0aCB0aGUgb25lDQo+ID4gPiB5b3UgY2FjaGVkIGZyb20gdGhlIGxh c3QgZnVsbCBwcm9iZSBpcyBtdWNoIGVhc2llci4NCj4gPiANCj4gPiBGYWlyIGVub3VnaCwgSSB0 aGluayBpdCdzIGEgZmluZSBpZGVhIGZvciByb2J1c3RuZXNzIHllcywgYnV0IEkgdGhpbmsNCj4g PiB3ZSBjb3VsZCBhbHNvIHByb3ZpZGUgZXh0cmEgaW5mbyBpbiB0aGUgdWV2ZW50IHdoZW4gcmVs ZXZhbnQgYW5kIG5vdA0KPiA+IHJlbHkgb24gdGhhdCBlbnRpcmVseS4NCj4gDQo+IFNlZSBhYm92 ZSwgd2l0aCBkcm1HZXRDb25uZWN0b3JDdXJyZW50IHRoZXJlJ3Mgbm8gbmVlZCB0byBwcm92aWRl IG1vcmUNCj4gdGhhbiB3aGF0J3MgbmVlZGVkIGluIHRoZSB1ZXZlbnQsIHNpbmNlIHVzZXJzcGFj ZSBjYW4gZ2V0IGV2ZXJ5dGhpbmcNCj4gZWxzZSBhdCB0aGUgY29zdCBvZiBvbmUgaW9jdGwsIHdp dGhvdXQgcmVwcm9iaW5nLiBXaXRoIGEgYml0IG9mDQo+IGVuZ2luZWVyaW5nIHdvcmsgd2UgY291 bGQgZXZlbiBhdm9pZCB0YWtpbmcgdGhlIGV4cGVuc2l2ZQ0KPiBkZXYtPm1vZGVfY29uZmlnLm11 dGV4IGxvY2sgZm9yIHRoaXMgZmFzdHBhdGguDQo+IA0KPiA+ID4gQW5vdGhlciB0aGluZzogTm9u ZSBvZiB0aGlzIHdlIGNhbiBmb3IgY29ubmVjdG9ycyB3aXRoIHVucmVsaWFibGUgaGRwLg0KPiA+ ID4gT3IgYXQgbGVhc3QgeW91J2xsIHBpc3Mgb2YgdXNlcnMgaWYgeW91IGNhY2hlIGFsd2F5cy4g VGhlIHNhZCB0aGluZyBpcw0KPiA+ID4gdGhhdCBIRE1JIGlzIHVucmVsaWFibGUsIGF0IGxlYXN0 IG9uIHNvbWUgbWFjaGluZXMvc2NyZWVuIGNvbWJvcyAoeW91DQo+ID4gPiBuZXZlciBnZXQgYSBo cGQgaXJxIGlmIHlvdSBwbHVnIGluL3VucGx1ZykuIFNvIHJlYWwgY29tcG9zaXRvcnMgc3RpbGwN Cj4gPiA+IG5lZWQgdG8gcmVwcm9iZSB3aGVuIHRoZSB1c2VyIGFza3MgZm9yIGl0LiBpZ3QgY2Fu IHByb2JhYmx5IGdldCBhd2F5DQo+ID4gPiB3aXRob3V0IHJlcHJvYmluZy4NCj4gPiANCj4gPiBJ IHdvbmRlciBob3cgdGhhdCBpcyBoYW5kbGVkIGN1cnJlbnRseSBhbmQgaG93IGEgdXNlciBhY3Rp b24gY2FuIHNvbHZlDQo+ID4gdGhlIGlzc3VlIHdpdGhvdXQgYW55IG5vdGlmaWNhdGlvbiBmcm9t IHRoZSBrZXJuZWwuIE1heWJlIGEgbmVlZCBhDQo+ID4gYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2Yg dGhhdCBjYXNlIHRvIGhhdmUgYSBjbGVhcmVyIGlkZWEuDQo+IA0KPiBVc2VyIG9wZW5zIHRoZSBz Y3JlZW4gY29uZmlndXJhdGlvbiB0b29sIC0+IHVzdWFsbHkgYXQgdGhhdCBwb2ludCB0aGUNCj4g dG9vbC9jb21wb3NpdG9yIGZvcmNlIGEgZnVsbCByZXByb2JlLCB3aGljaCB0aGVuIG9mdGVuIHRy aWdnZXJzIHRoZQ0KPiBhdXRvbWF0aWMgcmVjb25maWd1cmluZy4gRS5nLiBvbiBvbmUgbGFwdG9w IEkgaGF2ZSBoZXJlIHdoZW4gSSBwbHVnIGluDQo+IHJhbmRvbSBzaGl0IHByb2plY3RvcnMgYXQg Y29uZmVyZW5jZXMgbm90aGluZyBoYXBwZW5zLCB1bnRpbCBJIHJ1bg0KPiB4cmFuZHIsIHdoaWNo IHRyaWdnZXJzIHRoZSBmdWxsIHJlcHJvYmUsIHdoaWNoIHRoZW4gbWFrZXMgdGhlIGtlcm5lbA0K PiByZWFsaXplIHNvbWV0aGluZyBjaGFuZ2UsIHNlbmRpbmcgYW5kIHVldmVudCwgd2hpY2ggc3Rh cnRzIHRoZQ0KPiBhdXRvbWF0aWMgcmVjb25maWd1cmUgbWFjaGluZXJ5Lg0KPiANCj4gVGhlcmUn cyBhbHNvIHRoZSBpc3N1ZSB0aGF0IHRoZXJlJ3MgbWFjaGluZXMgd2l0aCBocGQgc3Rvcm1zIChl dmVuIG9uDQo+IERQLCB3aGVyZSB5b3UgcmVhbGx5IG5lZWQgaHBkIHRvIHdvcmsgdG8gYmUgY29t cGxpYW50KSwgYW5kIHdlIGhhdmUgdG8NCj4gdHVybiBvZiB0aGUgaHBkIGlycSB0byBrZWVwIHRo ZSBtYWNoaW5lIHVzZWFibGUuDQoNCk5vdGUgdGhhdCB4cmFuZHIgb25seSB3b3JrcyBvbiBYMTEu IE9uIFdheWxhbmQsIGl0IHdvbid0Lg0KDQpXaGV0aGVyIHRoZSB1c2VyIGNhbiBhY3R1YWxseSBk byBhbnl0aGluZyBkZXBlbmRzIG9uIHRoZSBjb21wb3NpdG9yLiBPbg0KR05PTUUgdGhlIEQtQnVz IGludGVyZmFjZSBjb3VsZCBwcm9iYWJseSBmb3JjZSBhIHJlLXByb2JlIHdoZW4gYQ0KY29uZmln dXJhdGlvbiB0b29sIGlzIHN0YXJ0ZWQgb3IgbWF5YmUgd2l0aCBhICJSZXNjYW4gY29ubmVjdG9y cyINCmJ1dHRvbiAobm90IHN1cmUgdGhleSdkIGxpa2UgdG8gaGF2ZSB0aGlzIGluIHRoZWlyIFVJ KS4gT24gS0RFLCBXZXN0b24NCmFuZCB3bHJvb3RzIHRoZXJlIGlzIG5vIHdheSB0byBkbyBpdC4N Cg0KQXMgY29tcG9zaXRvciB3cml0ZXJzLCBkbyB3ZSByZWFsbHkgbmVlZCB0byBwcm92aWRlIGEg d2F5IGZvciB1c2VycyB0bw0KZm9yY2UgYSByZXByb2JlPyBDYW4ndCB0aGUga2VybmVsIGRvIGFu eXRoaW5nIHRvIGhhbmRsZSB0aGVzZSBiYWQNCnNjcmVlbnM/DQoNCj4gQ2hlZXJzLCBEYW5pZWwN Cj4gDQo+ID4gQ2hlZXJzLA0KPiA+IA0KPiA+IFBhdWwNCj4gPiANCj4gPiA+IC1EYW5pZWwNCj4g PiA+IA0KPiA+ID4gPiBUaGVuIHdlIHN0aWxsIGhhdmUgdGhlIGxlZ2FjeSBjYXNlOg0KPiA+ID4g PiBIT1RQTFVHPTENCj4gPiA+ID4gDQo+ID4gPiA+IHdoZXJlIHVzZXJzcGFjZSBpcyBleHBlY3Rl ZCB0byByZXByb2JlIGFsbCB0aGUgY29ubmVjdG9ycy4NCj4gPiA+ID4gDQo+ID4gPiA+IEkgdGhp bmsgdGhpcyB3b3VsZCBkZXNlcnZlIHRvIGJlIGEgc2VwYXJhdGUgc2VyaWVzIG9uIGl0cyBvd24u IFNvIEkgYW0NCj4gPiA+ID4gcHJvcG9zaW5nIHRvIHRha2UgdGhpcyBvbmUgb2ZmIHlvdXIgcGxh dGUgYW5kIGNvbWUgdXAgd2l0aCBhbm90aGVyDQo+ID4gPiA+IHNlcmVzIGltcGxlbWVudGluZyB0 aGlzIHByb3Bvc2FsLiBXaGF0IGRvIHlvdSB0aGluaz8NCj4gPiA+ID4gDQo+ID4gPiA+IENoZWVy cywNCj4gPiA+ID4gDQo+ID4gPiA+IFBhdWwNCj4gPiA+ID4gDQo+ID4gPiA+ID4gdjI6DQo+ID4g PiA+ID4gICBNaW5vciBmaXhlcyBhdCBLRG9jIGNvbW1lbnRzIFtEYW5pZWxdDQo+ID4gPiA+ID4g djM6DQo+ID4gPiA+ID4gICBDaGVjayB0aGUgcHJvcGVydHkgaXMgcmVhbGx5IGF0dGFjaGVkIHdp dGggY29ubmVjdG9yIFtEYW5pZWxdDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1i eTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPg0KPiA+ID4gPiA+IFJldmll d2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPg0KPiA+ID4gPiA+ IC0tLQ0KPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5c2ZzLmMgfCAzNSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ICBpbmNsdWRlL2RybS9kcm1f c3lzZnMuaCAgICAgfCAgNSArKysrLQ0KPiA+ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDM5IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9z eXNmcy5jDQo+ID4gPiA+ID4gaW5kZXggMThiMWFjNDQyOTk3Li42M2ZhOTUxYTIwZGIgMTAwNjQ0 DQo+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5jDQo+ID4gPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5jDQo+ID4gPiA+ID4gQEAgLTIxLDYgKzIx LDcgQEANCj4gPiA+ID4gPiAgI2luY2x1ZGUgPGRybS9kcm1fc3lzZnMuaD4NCj4gPiA+ID4gPiAg I2luY2x1ZGUgPGRybS9kcm1QLmg+DQo+ID4gPiA+ID4gICNpbmNsdWRlICJkcm1faW50ZXJuYWwu aCINCj4gPiA+ID4gPiArI2luY2x1ZGUgImRybV9jcnRjX2ludGVybmFsLmgiDQo+ID4gPiA+ID4g DQo+ID4gPiA+ID4gICNkZWZpbmUgdG9fZHJtX21pbm9yKGQpIGRldl9nZXRfZHJ2ZGF0YShkKQ0K PiA+ID4gPiA+ICAjZGVmaW5lIHRvX2RybV9jb25uZWN0b3IoZCkgZGV2X2dldF9kcnZkYXRhKGQp DQo+ID4gPiA+ID4gQEAgLTMyMCw2ICszMjEsOSBAQCB2b2lkIGRybV9zeXNmc19sZWFzZV9ldmVu dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQ0KPiA+ID4gPiA+ICAgKiBTZW5kIGEgdWV2ZW50IGZv ciB0aGUgRFJNIGRldmljZSBzcGVjaWZpZWQgYnkgQGRldi4gIEN1cnJlbnRseSB3ZSBvbmx5DQo+ ID4gPiA+ID4gICAqIHNldCBIT1RQTFVHPTEgaW4gdGhlIHVldmVudCBlbnZpcm9ubWVudCwgYnV0 IHRoaXMgY291bGQgYmUgZXhwYW5kZWQgdG8NCj4gPiA+ID4gPiAgICogZGVhbCB3aXRoIG90aGVy IHR5cGVzIG9mIGV2ZW50cy4NCj4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiArICogQW55IG5ldyB1 YXBpIHNob3VsZCBiZSB1c2luZyB0aGUgZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9zdGF0dXNfZXZlbnQo KQ0KPiA+ID4gPiA+ICsgKiBmb3IgdWV2ZW50cyBvbiBjb25uZWN0b3Igc3RhdHVzIGNoYW5nZS4N Cj4gPiA+ID4gPiAgICovDQo+ID4gPiA+ID4gIHZvaWQgZHJtX3N5c2ZzX2hvdHBsdWdfZXZlbnQo c3RydWN0IGRybV9kZXZpY2UgKmRldikNCj4gPiA+ID4gPiAgew0KPiA+ID4gPiA+IEBAIC0zMzIs NiArMzM2LDM3IEBAIHZvaWQgZHJtX3N5c2ZzX2hvdHBsdWdfZXZlbnQoc3RydWN0IGRybV9kZXZp Y2UgKmRldikNCj4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ICBFWFBPUlRfU1lNQk9MKGRybV9zeXNm c19ob3RwbHVnX2V2ZW50KTsNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiArLyoqDQo+ID4gPiA+ID4g KyAqIGRybV9zeXNmc19jb25uZWN0b3Jfc3RhdHVzX2V2ZW50IC0gZ2VuZXJhdGUgYSBEUk0gdWV2 ZW50IGZvciBjb25uZWN0b3INCj4gPiA+ID4gPiArICogcHJvcGVydHkgc3RhdHVzIGNoYW5nZQ0K PiA+ID4gPiA+ICsgKiBAY29ubmVjdG9yOiBjb25uZWN0b3Igb24gd2hpY2ggcHJvcGVydHkgc3Rh dHVzIGNoYW5nZWQNCj4gPiA+ID4gPiArICogQHByb3BlcnR5OiBjb25uZWN0b3IgcHJvcGVydHkg d2hvZXMgc3RhdHVzIGNoYW5nZWQuDQo+ID4gPiA+ID4gKyAqDQo+ID4gPiA+ID4gKyAqIFNlbmQg YSB1ZXZlbnQgZm9yIHRoZSBEUk0gZGV2aWNlIHNwZWNpZmllZCBieSBAZGV2LiAgQ3VycmVudGx5 IHdlDQo+ID4gPiA+ID4gKyAqIHNldCBIT1RQTFVHPTEgYW5kIGNvbm5lY3RvciBpZCBhbG9uZyB3 aXRoIHRoZSBhdHRhY2hlZCBwcm9wZXJ0eSBpZA0KPiA+ID4gPiA+ICsgKiByZWxhdGVkIHRvIHRo ZSBzdGF0dXMgY2hhbmdlLg0KPiA+ID4gPiA+ICsgKi8NCj4gPiA+ID4gPiArdm9pZCBkcm1fc3lz ZnNfY29ubmVjdG9yX3N0YXR1c19ldmVudChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LA0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBk cm1fcHJvcGVydHkgKnByb3BlcnR5KQ0KPiA+ID4gPiA+ICt7DQo+ID4gPiA+ID4gKyAgICAgc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2Ow0KPiA+ID4gPiA+ICsgICAgIGNo YXIgaG90cGx1Z19zdHJbXSA9ICJIT1RQTFVHPTEiLCBjb25uX2lkWzMwXSwgcHJvcF9pZFszMF07 DQo+ID4gPiA+ID4gKyAgICAgY2hhciAqZW52cFs0XSA9IHsgaG90cGx1Z19zdHIsIGNvbm5faWQs IHByb3BfaWQsIE5VTEwgfTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgV0FSTl9PTigh ZHJtX21vZGVfb2JqX2ZpbmRfcHJvcF9pZCgmY29ubmVjdG9yLT5iYXNlLA0KPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHktPmJhc2UuaWQp KTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgc25wcmludGYoY29ubl9pZCwgQVJSQVlf U0laRShjb25uX2lkKSwNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAiQ09OTkVDVE9SPSV1Iiwg Y29ubmVjdG9yLT5iYXNlLmlkKTsNCj4gPiA+ID4gPiArICAgICBzbnByaW50Zihwcm9wX2lkLCBB UlJBWV9TSVpFKHByb3BfaWQpLA0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICJQUk9QRVJUWT0l dSIsIHByb3BlcnR5LT5iYXNlLmlkKTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAgRFJN X0RFQlVHKCJnZW5lcmF0aW5nIGNvbm5lY3RvciBzdGF0dXMgZXZlbnRcbiIpOw0KPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiArICAgICBrb2JqZWN0X3VldmVudF9lbnYoJmRldi0+cHJpbWFyeS0+a2Rl di0+a29iaiwgS09CSl9DSEFOR0UsIGVudnApOw0KPiA+ID4gPiA+ICt9DQo+ID4gPiA+ID4gK0VY UE9SVF9TWU1CT0woZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9zdGF0dXNfZXZlbnQpOw0KPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiAgc3RhdGljIHZvaWQgZHJtX3N5c2ZzX3JlbGVhc2Uoc3RydWN0IGRldmlj ZSAqZGV2KQ0KPiA+ID4gPiA+ICB7DQo+ID4gPiA+ID4gICAgICAga2ZyZWUoZGV2KTsNCj4gPiA+ ID4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3N5c2ZzLmggYi9pbmNsdWRlL2RybS9k cm1fc3lzZnMuaA0KPiA+ID4gPiA+IGluZGV4IDRmMzExZTgzNmNkYy4uZDQ1NGVmNjE3YjJjIDEw MDY0NA0KPiA+ID4gPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9zeXNmcy5oDQo+ID4gPiA+ID4g KysrIGIvaW5jbHVkZS9kcm0vZHJtX3N5c2ZzLmgNCj4gPiA+ID4gPiBAQCAtNCwxMCArNCwxMyBA QA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ICBzdHJ1Y3QgZHJtX2RldmljZTsNCj4gPiA+ID4gPiAg c3RydWN0IGRldmljZTsNCj4gPiA+ID4gPiArc3RydWN0IGRybV9jb25uZWN0b3I7DQo+ID4gPiA+ ID4gK3N0cnVjdCBkcm1fcHJvcGVydHk7DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gIGludCBkcm1f Y2xhc3NfZGV2aWNlX3JlZ2lzdGVyKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ID4gPiA+ID4gIHZv aWQgZHJtX2NsYXNzX2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ID4g PiA+ID4gDQo+ID4gPiA+ID4gIHZvaWQgZHJtX3N5c2ZzX2hvdHBsdWdfZXZlbnQoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7DQo+ID4gPiA+ID4gLQ0KPiA+ID4gPiA+ICt2b2lkIGRybV9zeXNmc19j b25uZWN0b3Jfc3RhdHVzX2V2ZW50KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsDQo+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9w cm9wZXJ0eSAqcHJvcGVydHkpOw0KPiA+ID4gPiA+ICAjZW5kaWYNCj4gPiA+ID4gLS0NCj4gPiA+ ID4gUGF1bCBLb2NpYWxrb3dza2ksIEJvb3RsaW4NCj4gPiA+ID4gRW1iZWRkZWQgTGludXggYW5k IGtlcm5lbCBlbmdpbmVlcmluZw0KPiA+ID4gPiBodHRwczovL2Jvb3RsaW4uY29tDQo+ID4gPiA+ IA0KPiA+IC0tDQo+ID4gUGF1bCBLb2NpYWxrb3dza2ksIEJvb3RsaW4NCj4gPiBFbWJlZGRlZCBM aW51eCBhbmQga2VybmVsIGVuZ2luZWVyaW5nDQo+ID4gaHR0cHM6Ly9ib290bGluLmNvbQ0KPiA+ IA0KPiANCj4gDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=