Thread (17 messages) 17 messages, 4 authors, 2016-09-13

RE: [v11, 5/8] soc: fsl: add GUTS driver for QorIQ platforms

From: "Y.B. Lu" <yangbo.lu@nxp.com>
Date: 2016-09-12 06:55:47
Also in: linux-arm-kernel, linux-clk, linux-devicetree, linux-i2c, linux-iommu, linux-mmc, lkml, netdev

SGkgU2NvdHQsDQoNClRoYW5rcyBmb3IgeW91ciByZXZpZXcgOikNClNlZSBteSBjb21tZW50IGlu
bGluZS4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTY290dCBXb29k
IFttYWlsdG86b3NzQGJ1c2Vycm9yLm5ldF0NCj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMDks
IDIwMTYgMTE6NDcgQU0NCj4gVG86IFkuQi4gTHU7IGxpbnV4LW1tY0B2Z2VyLmtlcm5lbC5vcmc7
IHVsZi5oYW5zc29uQGxpbmFyby5vcmc7IEFybmQNCj4gQmVyZ21hbm4NCj4gQ2M6IGxpbnV4cHBj
LWRldkBsaXN0cy5vemxhYnMub3JnOyBkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9yZzsgbGludXgt
YXJtLQ0KPiBrZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgta2VybmVsQHZnZXIua2Vy
bmVsLm9yZzsgbGludXgtDQo+IGNsa0B2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWkyY0B2Z2VyLmtl
cm5lbC5vcmc7IGlvbW11QGxpc3RzLmxpbnV4LQ0KPiBmb3VuZGF0aW9uLm9yZzsgbmV0ZGV2QHZn
ZXIua2VybmVsLm9yZzsgTWFyayBSdXRsYW5kOyBSb2IgSGVycmluZzsNCj4gUnVzc2VsbCBLaW5n
OyBKb2NoZW4gRnJpZWRyaWNoOyBKb2VyZyBSb2VkZWw7IENsYXVkaXUgTWFub2lsOyBCaHVwZXNo
DQo+IFNoYXJtYTsgUWlhbmcgWmhhbzsgS3VtYXIgR2FsYTsgU2FudG9zaCBTaGlsaW1rYXI7IExl
byBMaTsgWC5CLiBYaWUNCj4gU3ViamVjdDogUmU6IFt2MTEsIDUvOF0gc29jOiBmc2w6IGFkZCBH
VVRTIGRyaXZlciBmb3IgUW9ySVEgcGxhdGZvcm1zDQo+IA0KPiBPbiBUdWUsIDIwMTYtMDktMDYg
YXQgMTY6MjggKzA4MDAsIFlhbmdibyBMdSB3cm90ZToNCj4gPiBUaGUgZ2xvYmFsIHV0aWxpdGll
cyBibG9jayBjb250cm9scyBwb3dlciBtYW5hZ2VtZW50LCBJL08gZGV2aWNlDQo+ID4gZW5hYmxp
bmcsIHBvd2VyLW9ucmVzZXQoUE9SKSBjb25maWd1cmF0aW9uIG1vbml0b3JpbmcsIGFsdGVybmF0
ZQ0KPiA+IGZ1bmN0aW9uIHNlbGVjdGlvbiBmb3IgbXVsdGlwbGV4ZWQgc2lnbmFscyxhbmQgY2xv
Y2sgY29udHJvbC4NCj4gPg0KPiA+IFRoaXMgcGF0Y2ggYWRkcyBhIGRyaXZlciB0byBtYW5hZ2Ug
YW5kIGFjY2VzcyBnbG9iYWwgdXRpbGl0aWVzIGJsb2NrLg0KPiA+IEluaXRpYWxseSBvbmx5IHJl
YWRpbmcgU1ZSIGFuZCByZWdpc3RlcmluZyBzb2MgZGV2aWNlIGFyZSBzdXBwb3J0ZWQuDQo+ID4g
T3RoZXIgZ3V0cyBhY2Nlc3Nlcywgc3VjaCBhcyByZWFkaW5nIFJDVywgc2hvdWxkIGV2ZW50dWFs
bHkgYmUgbW92ZWQNCj4gPiBpbnRvIHRoaXMgZHJpdmVyIGFzIHdlbGwuDQo+ID4NCj4gPiBTaWdu
ZWQtb2ZmLWJ5OiBZYW5nYm8gTHUgPHlhbmdiby5sdUBueHAuY29tPg0KPiA+IFNpZ25lZC1vZmYt
Ynk6IFNjb3R0IFdvb2QgPG9zc0BidXNlcnJvci5uZXQ+DQo+IA0KPiBEb24ndCBwdXQgbXkgc2ln
bm9mZiBvbiBwYXRjaGVzIHRoYXQgSSBkaWRuJ3QgcHV0IGl0IG9uDQo+IG15c2VsZi4gwqBEZWZp
bml0ZWx5IGRvbid0IHB1dCBtaW5lICphZnRlciogeW91cnMgb24gcGF0Y2hlcyB0aGF0IHdlcmUN
Cj4gbGFzdCBtb2RpZmllZCBieSB5b3UuDQo+IA0KPiBJZiB5b3Ugd2FudCB0byBtZW50aW9uIHRo
YXQgdGhlIHNvY19pZCBlbmNvZGluZyB3YXMgbXkgc3VnZ2VzdGlvbiwgdGhlbg0KPiBkbyBzbyBl
eHBsaWNpdGx5Lg0KPiANCg0KW0x1IFlhbmdiby1CNDcwOTNdIEkgZm91bmQgeW91ciAnc2lnbm9m
Zicgb24gdGhpcyBwYXRjaCBhdCBiZWxvdyBsaW5rLg0KaHR0cDovL3BhdGNod29yay5vemxhYnMu
b3JnL3BhdGNoLzY0OTIxMS8NCg0KU28sIGxldCBtZSBqdXN0IGNoYW5nZSB0aGUgb3JkZXIgaW4g
bmV4dCB2ZXJzaW9uID8NClNpZ25lZC1vZmYtYnk6IFNjb3R0IFdvb2QgPG9zc0BidXNlcnJvci5u
ZXQ+DQpTaWduZWQtb2ZmLWJ5OiBZYW5nYm8gTHUgPHlhbmdiby5sdUBueHAuY29tPg0KDQo+ID4g
Ky8qIFNvQyBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBmb3IgUW9ySVEgcGxhdGZvcm0gKi8gc3RhdGlj
IGNvbnN0IHN0cnVjdA0KPiA+ICtzb2NfZGV2aWNlX2F0dHJpYnV0ZSBxb3JpcV9zb2NbXSA9IHsg
I2lmZGVmIENPTkZJR19QUEMNCj4gPiArCS8qDQo+ID4gKwnCoCogUG93ZXIgQXJjaGl0ZWN0dXJl
LWJhc2VkIFNvQ3MgVCBTZXJpZXMNCj4gPiArCcKgKi8NCj4gPiArDQo+ID4gKwkvKiBTb0M6IFQx
MDI0L1QxMDE0L1QxMDIzL1QxMDEzIFJldjogMS4wICovDQo+ID4gKwl7IC5zb2NfaWQJPSAic3Zy
OjB4ODU0MDAwMTAsbmFtZTpUMTAyNCxkaWU6VDEwMjQiLA0KPiA+ICsJwqDCoC5yZXZpc2lvbgk9
ICIxLjAiLA0KPiA+ICsJfSwNCj4gPiArCXsgLnNvY19pZAk9ICJzdnI6MHg4NTQ4MDAxMCxuYW1l
OlQxMDI0RSxkaWU6VDEwMjQiLA0KPiA+ICsJwqDCoC5yZXZpc2lvbgk9ICIxLjAiLA0KPiA+ICsJ
fSwNCj4gDQo+IFJldmlzaW9uIGNvdWxkIGJlIGNvbXB1dGVkIGZyb20gdGhlIGxvdyA4IGJpdHMg
b2YgU1ZSIChqdXN0IGFzIHlvdSBkbyBmb3INCj4gdW5rbm93biBTVlJzKS4NCj4NCiANCltMdSBZ
YW5nYm8tQjQ3MDkzXSBZZXMsIHlvdSdyZSByaWdodC4gV2lsbCByZW1vdmUgaXQgaGVyZS4NCg0K
PiBXZSBjb3VsZCBtb3ZlIHRoZSBkaWUgbmFtZSBpbnRvIC5mYW1pbHk6DQo+IA0KPiAJew0KPiAJ
CS5zb2NfaWQgPSAic3ZyOjB4ODU0OTAwMTAsbmFtZTpUMTAyM0UsIiwNCj4gCQkuZmFtaWx5ID0g
IlFvcklRIFQxMDI0IiwNCj4gCX0NCj4gDQo+IEkgc2VlIHlvdSBkcm9wcGVkIHN2cmUgKGFuZCB0
aGUgdHJhaWxpbmcgY29tbWEpLCB0aG91Z2ggSSBndWVzcyB0aGUgdmFzdA0KPiBtYWpvcml0eSBv
ZiBwb3RlbnRpYWwgdXNlcnMgd2lsbCBiZSBsb29raW5nIGF0IC5mYW1pbHkuIMKgSW4gd2hpY2gg
Y2FzZSBkbw0KPiB3ZSBldmVuIG5lZWQgbmFtZT8gwqBJZiB3ZSBqdXN0IG1ha2UgdGhlIHNvY19p
ZCBiZSAic3ZyOjB4bm5ubm5ubm4iIHRoZW4NCj4gd2UgY291bGQgc2hyaW5rIHRoZSB0YWJsZSB0
byBhbiBzdnIrbWFzayB0aGF0IGlkZW50aWZpZXMgZWFjaCBkaWUuIMKgSSdkDQo+IHN0aWxsIHdh
bnQgdG8ga2VlcCB0aGUgInN2cjoiIGV2ZW4gaWYgd2UncmUgZ2l2aW5nIHVwIG9uIHRoZSBnZW5l
cmFsDQo+IHRhZ2dpbmcgc3lzdGVtLCB0byBtYWtlIGl0IGNsZWFyIHdoYXQgdGhlIG51bWJlciBy
ZWZlcnMgdG8sIGFuZCB0bw0KPiBwcm92aWRlIHNvbWUgZGVmZW5zZSBhZ2FpbnN0IHVzZXJzIHdo
byBtYXRjaCBvbmx5IGFnYWluc3Qgc29jX2lkIHJhdGhlcg0KPiB0aGFuIHNvY19pZCtmYW1pbHku
IMKgT3Igd2UgY291bGQgZ28gZnVydGhlciBhbmQgZm9ybWF0IHNvY19pZCBhcyAiUW9ySVENCj4g
U1ZSIDB4bm5ubm5ubm4iIHNvIHRoYXQgc29jX2lkLW9ubHkgbWF0Y2hlcyBhcmUgZnVsbHkgYWNj
ZXB0YWJsZSByYXRoZXINCj4gdGhhbiBqdXN0IGxlc3MgZGFuZ2Vyb3VzLg0KDQpbTHUgWWFuZ2Jv
LUI0NzA5M10gSXQncyBhIGdvb2QgaWRlYSB0byBtb3ZlIGRpZSBpbnRvIC5mYW1pbHkgSSB0aGlu
ay4NCkluIG15IG9waW5pb24sIGl0J3MgYmV0dGVyIHRvIGtlZXAgc3ZyIGFuZCBuYW1lIGluIHNv
Y19pZCBqdXN0IGxpa2UgeW91ciBzdWdnZXN0aW9uIGFib3ZlLg0KPiAJew0KPiAJCS5zb2NfaWQg
PSAic3ZyOjB4ODU0OTAwMTAsbmFtZTpUMTAyM0UsIiwNCj4gCQkuZmFtaWx5ID0gIlFvcklRIFQx
MDI0IiwNCj4gCX0NClRoZSB1c2VyIHByb2JhYmx5IGRvbuKAmXQgbGlrZSB0byBsZWFybiB0aGUg
c3ZyIHZhbHVlLiBXaGF0IHRoZXkgd2FudCBpcyBqdXN0IHRvIG1hdGNoIHRoZSBzb2MgdGhleSB1
c2UuDQpJdCdzIGNvbnZlbmllbnQgdG8gdXNlIG5hbWUrcmV2IGZvciB0aGVtIHRvIG1hdGNoIGEg
c29jLg0KDQpSZWdhcmRpbmcgc2hyaW5raW5nIHRoZSB0YWJsZSwgSSB0aGluayBpdCdzIGhhcmQg
dG8gdXNlIHN2cittYXNrLiBCZWNhdXNlIEkgZmluZCBtYW55IHBsYXRmb3JtcyB1c2UgZGlmZmVy
ZW50IG1hc2tzLg0KV2UgY291bGRu4oCZdCBrbm93IHRoZSBtYXNrIGFjY29yZGluZyBzdnIgdmFs
dWUuDQoNCj4gDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2RldmljZV9hdHRyaWJ1dGUg
KmZzbF9zb2NfZGV2aWNlX21hdGNoKA0KPiA+ICsJdW5zaWduZWQgaW50IHN2ciwgY29uc3Qgc3Ry
dWN0IHNvY19kZXZpY2VfYXR0cmlidXRlICptYXRjaGVzKSB7DQo+ID4gKwljaGFyIHN2cl9tYXRj
aFs1MF07DQo+ID4gKwlpbnQgbjsNCj4gPiArDQo+ID4gKwluID0gc3ByaW50ZihzdnJfbWF0Y2gs
ICIqJTA4eCoiLCBzdnIpOw0KPiANCj4gbiA9IHNwcmludGYoc3ZyX21hdGNoLCAic3ZyOjB4JTA4
eCwqIiwgc3ZyKTsNCj4gDQo+IChhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgZW5jb2RpbmcpDQo+
IA0KDQpbTHUgWWFuZ2JvLUI0NzA5M10gT2suIFdpbGwgZG8gdGhhdC4NCg0KPiA+ICsNCj4gPiAr
CWRvIHsNCj4gPiArCQlpZiAoIW1hdGNoZXMtPnNvY19pZCkNCj4gPiArCQkJcmV0dXJuIE5VTEw7
DQo+ID4gKwkJaWYgKGdsb2JfbWF0Y2goc3ZyX21hdGNoLCBtYXRjaGVzLT5zb2NfaWQpKQ0KPiA+
ICsJCQlicmVhazsNCj4gPiArCX0gd2hpbGUgKG1hdGNoZXMrKyk7DQo+IA0KPiBBcmUgeW91IGV4
cGVjdGluZyAibWF0Y2hlcysrIiB0byBldmVyIGV2YWx1YXRlIGFzIGZhbHNlPw0KDQpbTHUgWWFu
Z2JvLUI0NzA5M10gWWVzLCB0aGlzIGlzIHVzZWQgdG8gbWF0Y2ggdGhlIHNvYyB3ZSB1c2UgaW4g
cW9yaXFfc29jIGFycmF5IHVudGlsIGdldHRpbmcgdHJ1ZS4gDQpXZSBuZWVkIHRvIGdldCB0aGUg
bmFtZSBhbmQgZGllIGluZm9ybWF0aW9uIGRlZmluZWQgaW4gYXJyYXkuDQoNCj4gDQo+ID4gKwkv
KiBSZWdpc3RlciBzb2MgZGV2aWNlICovDQo+ID4gKwlzb2NfZGV2X2F0dHIgPSBremFsbG9jKHNp
emVvZigqc29jX2Rldl9hdHRyKSwgR0ZQX0tFUk5FTCk7DQo+ID4gKwlpZiAoIXNvY19kZXZfYXR0
cikgew0KPiA+ICsJCXJldCA9IC1FTk9NRU07DQo+ID4gKwkJZ290byBvdXRfdW5tYXA7DQo+ID4g
Kwl9DQo+IA0KPiBDb3VsZG4ndCB0aGlzIGJlIHN0YXRpY2FsbHkgYWxsb2NhdGVkPw0KDQpbTHUg
WWFuZ2JvLUI0NzA5M10gRG8geW91IG1lYW4gd2UgZGVmaW5lIHRoaXMgc3RydWN0IHN0YXRpY2Fs
bHkgPw0KDQpzdGF0aWMgc3RydWN0IHNvY19kZXZpY2VfYXR0cmlidXRlIHNvY19kZXZfYXR0cjsN
Cg0KPiANCj4gPiArDQo+ID4gKwltYWNoaW5lID0gb2ZfZmxhdF9kdF9nZXRfbWFjaGluZV9uYW1l
KCk7DQo+ID4gKwlpZiAobWFjaGluZSkNCj4gPiArCQlzb2NfZGV2X2F0dHItPm1hY2hpbmUgPSBr
YXNwcmludGYoR0ZQX0tFUk5FTCwgIiVzIiwNCj4gPiBtYWNoaW5lKTsNCj4gPiArDQo+ID4gKwlz
b2NfZGV2X2F0dHItPmZhbWlseSA9IGthc3ByaW50ZihHRlBfS0VSTkVMLCAiUW9ySVEiKTsNCj4g
PiArDQo+ID4gKwlzdnIgPSBmc2xfZ3V0c19nZXRfc3ZyKCk7DQo+ID4gKwlmc2xfc29jID0gZnNs
X3NvY19kZXZpY2VfbWF0Y2goc3ZyLCBxb3JpcV9zb2MpOw0KPiA+ICsJaWYgKGZzbF9zb2MpIHsN
Cj4gPiArCQlzb2NfZGV2X2F0dHItPnNvY19pZCA9IGthc3ByaW50ZihHRlBfS0VSTkVMLCAiJXMi
LA0KPiA+ICsJCQkJCQnCoGZzbF9zb2MtPnNvY19pZCk7DQo+IA0KPiBZb3UgY2FuIHVzZSBrc3Ry
ZHVwKCkgaWYgeW91J3JlIGp1c3QgY29weWluZyB0aGUgc3RyaW5nIGFzIGlzLg0KDQpbTHUgWWFu
Z2JvLUI0NzA5M10gT2suIFdpbGwgZG8gdGhhdC4NCg0KPiANCj4gPiArCQlzb2NfZGV2X2F0dHIt
PnJldmlzaW9uID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsICIlcyIsDQo+ID4gKwkJCQkJCcKgwqDC
oGZzbF9zb2MtPnJldmlzaW9uKTsNCj4gPiArCX0gZWxzZSB7DQo+ID4gKwkJc29jX2Rldl9hdHRy
LT5zb2NfaWQgPSBrYXNwcmludGYoR0ZQX0tFUk5FTCwgIjB4JTA4eCIsDQo+ID4gc3ZyKTsNCj4g
DQo+IAlrYXNwcmludGYoR0ZQX0tFUk5FTCwgInN2cjoweCUwOHgsIiwgc3ZyKTsNCg0KW0x1IFlh
bmdiby1CNDcwOTNdIFNvcnJ5LCB3aWxsIGFkZCB0aGF0Lg0KDQo+IA0KPiANCj4gPiArDQo+ID4g
Kwlzb2NfZGV2ID0gc29jX2RldmljZV9yZWdpc3Rlcihzb2NfZGV2X2F0dHIpOw0KPiA+ICsJaWYg
KElTX0VSUihzb2NfZGV2KSkgew0KPiA+ICsJCXJldCA9IC1FTk9ERVY7DQo+IA0KPiBXaHkgYXJl
IHlvdSBjaGFuZ2luZyB0aGUgZXJyb3IgY29kZT8NCg0KW0x1IFlhbmdiby1CNDcwOTNdIFdoYXQg
ZXJyb3IgY29kZSBzaG91bGQgd2UgdXNlID8gOikNCg0KPiANCj4gPiArCQlnb3RvIG91dDsNCj4g
PiArCX0gZWxzZSB7DQo+IA0KPiBVbm5lY2Vzc2FyeSAiZWxzZSIuDQoNCltMdSBZYW5nYm8tQjQ3
MDkzXSBPaC4uIENvcnJlY3QhDQoNCj4gDQo+ID4gKwkJcHJfaW5mbygiRGV0ZWN0ZWQ6ICVzXG4i
LCBzb2NfZGV2X2F0dHItPm1hY2hpbmUpOw0KPiANCj4gTWFjaGluZTogJXMNCg0KW0x1IFlhbmdi
by1CNDcwOTNdIE9rLiBXaWxsIGRvIHRoYXQuDQoNCj4gDQo+ID4gKwkJcHJfaW5mbygiRGV0ZWN0
ZWQgU29DIGZhbWlseTogJXNcbiIsIHNvY19kZXZfYXR0ci0+ZmFtaWx5KTsNCj4gPiArCQlwcl9p
bmZvKCJEZXRlY3RlZCBTb0MgSUQ6ICVzLCByZXZpc2lvbjogJXNcbiIsDQo+ID4gKwkJCXNvY19k
ZXZfYXR0ci0+c29jX2lkLCBzb2NfZGV2X2F0dHItPnJldmlzaW9uKTsNCj4gDQo+IHMvRGV0ZWN0
ZWQgLy9nDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBPaywgd2lsbCBkbyB0aGF0Lg0KDQo+IA0KPiAN
Cj4gPiArCX0NCj4gPiArCXJldHVybiAwOw0KPiA+ICtvdXQ6DQo+ID4gKwlrZnJlZShzb2NfZGV2
X2F0dHItPm1hY2hpbmUpOw0KPiA+ICsJa2ZyZWUoc29jX2Rldl9hdHRyLT5mYW1pbHkpOw0KPiA+
ICsJa2ZyZWUoc29jX2Rldl9hdHRyLT5zb2NfaWQpOw0KPiA+ICsJa2ZyZWUoc29jX2Rldl9hdHRy
LT5yZXZpc2lvbik7DQo+ID4gKwlrZnJlZShzb2NfZGV2X2F0dHIpOw0KPiA+ICtvdXRfdW5tYXA6
DQo+ID4gKwlpb3VubWFwKGd1dHMtPnJlZ3MpOw0KPiA+ICtvdXRfZnJlZToNCj4gPiArCWtmcmVl
KGd1dHMpOw0KPiANCj4gZGV2bQ0KDQpbTHUgWWFuZ2JvLUI0NzA5M10gV2hhdCdzIHRoZSBkZXZt
IG1lYW5pbmcgaGVyZSA6KQ0KIA0KPiANCj4gPiArc3RhdGljIGludCBmc2xfZ3V0c19yZW1vdmUo
c3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KSB7DQo+ID4gKwlrZnJlZShzb2NfZGV2X2F0dHIt
Pm1hY2hpbmUpOw0KPiA+ICsJa2ZyZWUoc29jX2Rldl9hdHRyLT5mYW1pbHkpOw0KPiA+ICsJa2Zy
ZWUoc29jX2Rldl9hdHRyLT5zb2NfaWQpOw0KPiA+ICsJa2ZyZWUoc29jX2Rldl9hdHRyLT5yZXZp
c2lvbik7DQo+ID4gKwlrZnJlZShzb2NfZGV2X2F0dHIpOw0KPiA+ICsJc29jX2RldmljZV91bnJl
Z2lzdGVyKHNvY19kZXYpOw0KPiA+ICsJaW91bm1hcChndXRzLT5yZWdzKTsNCj4gPiArCWtmcmVl
KGd1dHMpOw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gDQo+IERvbid0IGZyZWUgdGhlIG1l
bW9yeSBiZWZvcmUgeW91IHVucmVnaXN0ZXIgdGhlIGRldmljZSB0aGF0IHVzZXMgaXQgKG1vb3QN
Cj4gaWYgeW91IHVzZSBkZXZtKS4NCg0KW0x1IFlhbmdiby1CNDcwOTNdIFRoZSBzb2MuYyBkcml2
ZXIgbWVudGlvbnMgdGhhdC4NCkVuc3VyZSBzb2NfZGV2LT5hdHRyIGlzIGZyZWVkIHByaW9yIHRv
IGNhbGxpbmcgc29jX2RldmljZV91bnJlZ2lzdGVyLg0KDQo+IA0KPiA+DQo+ID4gKyNpZmRlZiBD
T05GSUdfRlNMX0dVVFMNCj4gPiArdW5zaWduZWQgaW50IGZzbF9ndXRzX2dldF9zdnIodm9pZCk7
DQo+ID4gKyNlbmRpZg0KPiANCj4gRG9uJ3QgaWZkZWYgcHJvdG90eXBlcyAodW5sZXNzIHlvdSdy
ZSBnb2luZyB0byBwcm92aWRlIGEgc3R1Yg0KPiBhbHRlcm5hdGl2ZSkuDQoNCltMdSBZYW5nYm8t
QjQ3MDkzXSBPaywgd2lsbCByZW1vdmUgaWZkZWYuDQoNCj4gDQo+IC1TY290dA0KDQo=
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help