Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1211903

RE: [PATCH v2 1/5] input: touchscreen: add imx6ul_tsc driver support

From Chen Bough <Haibo.Chen@freescale.com>
Newsgroups linux.kernel
Subject RE: [PATCH v2 1/5] input: touchscreen: add imx6ul_tsc driver support
Date 2015-08-24 10:30 +0200
Message-ID <q0ViG-2dY-5@gated-at.bofh.it> (permalink)
References <pR9PX-5AL-3@gated-at.bofh.it> <pZ3X4-4C8-9@gated-at.bofh.it> <pZQO8-7UZ-41@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


SGkgTWFya3VzLA0KDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBN
YXJrdXMgUGFyZ21hbm4gW21haWx0bzptcGFAcGVuZ3V0cm9uaXguZGVdDQo+IFNlbnQ6IEZyaWRh
eSwgQXVndXN0IDIxLCAyMDE1IDU6MjYgUE0NCj4gVG86IENoZW4gSGFpYm8tQjUxNDIxDQo+IENj
OiByb2JoK2R0QGtlcm5lbC5vcmc7IHBhd2VsLm1vbGxAYXJtLmNvbTsgbWFyay5ydXRsYW5kQGFy
bS5jb207DQo+IGlqYytkZXZpY2V0cmVlQGhlbGxpb24ub3JnLnVrOyBnYWxha0Bjb2RlYXVyb3Jh
Lm9yZzsgc2hhd25ndW9Aa2VybmVsLm9yZzsNCj4ga2VybmVsQHBlbmd1dHJvbml4LmRlOyBsaW51
eEBhcm0ubGludXgub3JnLnVrOyBkbWl0cnkudG9yb2tob3ZAZ21haWwuY29tOw0KPiBoYW5zLnZl
cmt1aWxAY2lzY28uY29tOyBoYWRlc3NAaGFkZXNzLm5ldDsgbWNoZWhhYkBvc2cuc2Ftc3VuZy5j
b207DQo+IG1hbWxpbmF2QGdtYWlsLmNvbTsgYXJuZEBhcm5kYi5kZTsgam9uYXRoYXJAYnJvYWRj
b20uY29tOw0KPiBoZGVnb2VkZUByZWRoYXQuY29tOyBjaHJpc3RpYW4uZ21laW5lckBnbWFpbC5j
b207IHNjb3R0LmxpdUBlbWMuY29tLnR3Ow0KPiBnZWVydEBsaW51eC1tNjhrLm9yZzsgYmVuamFt
aW4udGlzc29pcmVzQHJlZGhhdC5jb207DQo+IHNlYmFzdGllbi5zenltYW5za2lAYXJtYWRldXMu
Y29tOyBzYnJhbmRlbkBicm9hZGNvbS5jb207DQo+IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3Jn
OyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1hcm0tDQo+IGtlcm5lbEBsaXN0
cy5pbmZyYWRlYWQub3JnOyBsaW51eC1pbnB1dEB2Z2VyLmtlcm5lbC5vcmcNCj4gU3ViamVjdDog
UmU6IFtQQVRDSCB2MiAxLzVdIGlucHV0OiB0b3VjaHNjcmVlbjogYWRkIGlteDZ1bF90c2MgZHJp
dmVyDQo+IHN1cHBvcnQNCj4gDQo+IE9uIFR1ZSwgSnVsIDI4LCAyMDE1IGF0IDA1OjU4OjM3UE0g
KzA4MDAsIEhhaWJvIENoZW4gd3JvdGU6DQo+ID4gRnJlZXNjYWxlIGkuTVg2VUwgY29udGFpbnMg
YSBpbnRlcm5hbCB0b3VjaHNjcmVlbiBjb250cm9sbGVyLCB0aGlzDQo+ID4gcGF0Y2ggYWRkIGEg
ZHJpdmVyIHRvIHN1cHBvcnQgdGhpcyBjb250cm9sbGVyLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1i
eTogSGFpYm8gQ2hlbiA8aGFpYm8uY2hlbkBmcmVlc2NhbGUuY29tPg0KPiA+IC0tLQ0KPiA+ICBk
cml2ZXJzL2lucHV0L3RvdWNoc2NyZWVuL0tjb25maWcgICAgICB8ICAxMiArDQo+ID4gIGRyaXZl
cnMvaW5wdXQvdG91Y2hzY3JlZW4vTWFrZWZpbGUgICAgIHwgICAxICsNCj4gPiAgZHJpdmVycy9p
bnB1dC90b3VjaHNjcmVlbi9pbXg2dWxfdHNjLmMgfCA1MDQNCj4gPiArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysNCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA1MTcgaW5zZXJ0aW9ucygr
KQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9pbXg2
dWxfdHNjLmMNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L3RvdWNoc2NyZWVu
L0tjb25maWcNCj4gPiBiL2RyaXZlcnMvaW5wdXQvdG91Y2hzY3JlZW4vS2NvbmZpZw0KPiA+IGlu
ZGV4IDViMjcyYmEuLjMyYzMwMGQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9pbnB1dC90b3Vj
aHNjcmVlbi9LY29uZmlnDQo+ID4gKysrIGIvZHJpdmVycy9pbnB1dC90b3VjaHNjcmVlbi9LY29u
ZmlnDQo+ID4gQEAgLTQ3OSw2ICs0NzksMTggQEAgY29uZmlnIFRPVUNIU0NSRUVOX01UT1VDSA0K
PiA+ICAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJl
OiB0aGUNCj4gPiAgCSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIG10b3VjaC4NCj4gPg0KPiA+ICtj
b25maWcgVE9VQ0hTQ1JFRU5fSU1YNlVMX1RTQw0KPiA+ICsJdHJpc3RhdGUgIkZyZWVzY2FsZSBp
Lk1YNlVMIHRvdWNoc2NyZWVuIGNvbnRyb2xsZXIiDQo+ID4gKwlkZXBlbmRzIG9uIE9GDQo+ID4g
KwloZWxwDQo+ID4gKwkgIFNheSBZIGhlcmUgaWYgeW91IGhhdmUgYSBGcmVlc2NhbGUgaS5NWDZV
TCwgYW5kIHdhbnQgdG8NCj4gPiArCSAgdXNlIHRoZSBpbnRlcm5hbCB0b3VjaHNjcmVlbiBjb250
cm9sbGVyLg0KPiA+ICsNCj4gPiArCSAgSWYgdW5zdXJlLCBzYXkgTi4NCj4gPiArDQo+ID4gKwkg
IFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZQ0K
PiA+ICsJICBtb2R1ZWwgd2lsbCBiZSBjYWxsZWQgaW14NnVsX3RzYy4NCj4gPiArDQo+ID4gIGNv
bmZpZyBUT1VDSFNDUkVFTl9JTkVYSU8NCj4gPiAgCXRyaXN0YXRlICJpTmV4aW8gc2VyaWFsIHRv
dWNoc2NyZWVucyINCj4gPiAgCXNlbGVjdCBTRVJJTw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz
L2lucHV0L3RvdWNoc2NyZWVuL01ha2VmaWxlDQo+ID4gYi9kcml2ZXJzL2lucHV0L3RvdWNoc2Ny
ZWVuL01ha2VmaWxlDQo+ID4gaW5kZXggYzg1YWFlMi4uOTM3OWIzMiAxMDA2NDQNCj4gPiAtLS0g
YS9kcml2ZXJzL2lucHV0L3RvdWNoc2NyZWVuL01ha2VmaWxlDQo+ID4gKysrIGIvZHJpdmVycy9p
bnB1dC90b3VjaHNjcmVlbi9NYWtlZmlsZQ0KPiA+IEBAIC0zOCw2ICszOCw3IEBAIG9iai0kKENP
TkZJR19UT1VDSFNDUkVFTl9FR0FMQVgpCSs9IGVnYWxheF90cy5vDQo+ID4gIG9iai0kKENPTkZJ
R19UT1VDSFNDUkVFTl9GVUpJVFNVKQkrPSBmdWppdHN1X3RzLm8NCj4gPiAgb2JqLSQoQ09ORklH
X1RPVUNIU0NSRUVOX0dPT0RJWCkJKz0gZ29vZGl4Lm8NCj4gPiAgb2JqLSQoQ09ORklHX1RPVUNI
U0NSRUVOX0lMSTIxMFgpCSs9IGlsaTIxMHgubw0KPiA+ICtvYmotJChDT05GSUdfVE9VQ0hTQ1JF
RU5fSU1YNlVMX1RTQykJKz0gaW14NnVsX3RzYy5vDQo+ID4gIG9iai0kKENPTkZJR19UT1VDSFND
UkVFTl9JTkVYSU8pCSs9IGluZXhpby5vDQo+ID4gIG9iai0kKENPTkZJR19UT1VDSFNDUkVFTl9J
TlRFTF9NSUQpCSs9IGludGVsLW1pZC10b3VjaC5vDQo+ID4gIG9iai0kKENPTkZJR19UT1VDSFND
UkVFTl9JUFJPQykJCSs9IGJjbV9pcHJvY190c2Mubw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz
L2lucHV0L3RvdWNoc2NyZWVuL2lteDZ1bF90c2MuYw0KPiA+IGIvZHJpdmVycy9pbnB1dC90b3Vj
aHNjcmVlbi9pbXg2dWxfdHNjLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4
IDAwMDAwMDAuLjgwN2YxZGINCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVycy9p
bnB1dC90b3VjaHNjcmVlbi9pbXg2dWxfdHNjLmMNCj4gPiBAQCAtMCwwICsxLDUwNCBAQA0KPiA+
ICsvKg0KPiA+ICsgKiBGcmVlc2NhbGUgaS5NWDZVTCB0b3VjaHNjcmVlbiBjb250cm9sbGVyIGRy
aXZlcg0KPiA+ICsgKg0KPiA+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMTUgRnJlZXNjYWxlIFNlbWlj
b25kdWN0b3IsIEluYy4NCj4gPiArICoNCj4gPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KPiA+ICttb2RpZnkNCj4gPiAr
ICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2
ZXJzaW9uIDIgYXMNCj4gPiArICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24uDQo+ID4gKyAqLw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+DQo+
ID4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L21vZHVs
ZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvZ3Bpby5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgv
aW5wdXQuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCj4gPiArI2luY2x1ZGUgPGxp
bnV4L2NvbXBsZXRpb24uaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQo+ID4gKyNp
bmNsdWRlIDxsaW51eC9vZi5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+DQo+
ID4gKyNpbmNsdWRlIDxsaW51eC9vZl9ncGlvLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9vZl9p
cnEuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPg0KPiA+ICsjaW5jbHVkZSA8
bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4NCj4g
PiArI2luY2x1ZGUgPGxpbnV4L2lvLmg+DQo+ID4gKw0KPiA+ICsvKiBBREMgY29uZmlndXJhdGlv
biByZWdpc3RlcnMgZmllbGQgZGVmaW5lICovDQo+ID4gKyNkZWZpbmUgQURDX0FJRU4JCSgweDEg
PDwgNykNCj4gPiArI2RlZmluZSBBRENfQ09OVl9ESVNBQkxFCTB4MUYNCj4gPiArI2RlZmluZSBB
RENfQ0FMCQkJKDB4MSA8PCA3KQ0KPiA+ICsjZGVmaW5lIEFEQ19DQUxGCQkweDINCj4gPiArI2Rl
ZmluZSBBRENfMTJCSVRfTU9ERQkJKDB4MiA8PCAyKQ0KPiA+ICsjZGVmaW5lIEFEQ19JUEdfQ0xL
CQkweDAwDQo+ID4gKyNkZWZpbmUgQURDX0NMS19ESVZfOAkJKDB4MDMgPDwgNSkNCj4gPiArI2Rl
ZmluZSBBRENfU0hPUlRfU0FNUExFX01PREUJKDB4MCA8PCA0KQ0KPiA+ICsjZGVmaW5lIEFEQ19I
QVJEV0FSRV9UUklHR0VSCSgweDEgPDwgMTMpDQo+ID4gKyNkZWZpbmUgU0VMRUNUX0NIQU5ORUxf
NAkweDA0DQo+ID4gKyNkZWZpbmUgU0VMRUNUX0NIQU5ORUxfMQkweDAxDQo+ID4gKyNkZWZpbmUg
RElTQUJMRV9DT05WRVJTSU9OX0lOVAkoMHgwIDw8IDcpDQo+ID4gKw0KPiA+ICsvKiBBREMgcmVn
aXN0ZXJzICovDQo+ID4gKyNkZWZpbmUgUkVHX0FEQ19IQzAJCTB4MDANCj4gPiArI2RlZmluZSBS
RUdfQURDX0hDMQkJMHgwNA0KPiA+ICsjZGVmaW5lIFJFR19BRENfSEMyCQkweDA4DQo+ID4gKyNk
ZWZpbmUgUkVHX0FEQ19IQzMJCTB4MEMNCj4gPiArI2RlZmluZSBSRUdfQURDX0hDNAkJMHgxMA0K
PiA+ICsjZGVmaW5lIFJFR19BRENfSFMJCTB4MTQNCj4gPiArI2RlZmluZSBSRUdfQURDX1IwCQkw
eDE4DQo+ID4gKyNkZWZpbmUgUkVHX0FEQ19DRkcJCTB4MkMNCj4gPiArI2RlZmluZSBSRUdfQURD
X0dDCQkweDMwDQo+ID4gKyNkZWZpbmUgUkVHX0FEQ19HUwkJMHgzNA0KPiA+ICsNCj4gPiArI2Rl
ZmluZSBBRENfVElNRU9VVAkJbXNlY3NfdG9famlmZmllcygxMDApDQo+IA0KPiBUaGVzZSBkZWZp
bmVzIGFyZSBpbiB0d28gZHJpdmVycy4gSGVyZSBhbmQgaW4gZHJpdmVycy9paW8vYWRjL3ZmNjEw
X2FkYy5jDQoNCkFjdHVhbGx5LCB0aGV5IGFyZSBkaWZmZXJlbnQuIEluIHRoZSBUU0MgZHJpdmVy
LCBhZGQgUkVHX0FEQ19IQzIvMy80LCBhbmQgdGhlIG9mZnNldCBvZiB0aGUgDQpSRUdfQURDX0hT
fiBSRUdfQURDX0dTIGFsc28gY2hhbmdlZC4NCg0KRm9yIGkuTVg2VUwsIHRvIHN1cHBvcnQgVFND
LCBvdXIgSUMgdGVhbSBhZGQgc29tZSBjaGFuZ2VzIGluIEFEQzIsIGxpa2UgYWRkIGFkZCBSRUdf
QURDX0hDMi8zLzQsDQpzbyB0aGF0IHdlIGNhbiBjb25maWcgdGhlIGNoYW5uZWwgb2YgQURDMiB0
byBjb25uZWN0IHdpdGggWC0vWCsvWSsvWS0gb2YgdG91Y2ggc2NyZWVuLg0KQW5kIElDIHRlYW0g
c3VnZ2VzdCB0aGUgQURDMiBvbmx5IHVzZWQgZm9yIFRTQywgc2hvdWxkIG5vdCB3b3JrIGFzIGEg
bm9ybWFsIEFEQy4gDQogDQoNCj4gDQo+ID4gKw0KPiA+ICsvKiBUU0MgcmVnaXN0ZXJzICovDQo+
ID4gKyNkZWZpbmUgUkVHX1RTQ19CQVNJQ19TRVRJTkcJMHgwMA0KPiA+ICsjZGVmaW5lIFJFR19U
U0NfUFJFX0NIQVJHRV9USU1FCTB4MTANCj4gPiArI2RlZmluZSBSRUdfVFNDX0ZMT1dfQ09OVFJP
TAkweDIwDQo+ID4gKyNkZWZpbmUgUkVHX1RTQ19NRUFTVVJFX1ZBTFVFCTB4MzANCj4gPiArI2Rl
ZmluZSBSRUdfVFNDX0lOVF9FTgkJMHg0MA0KPiA+ICsjZGVmaW5lIFJFR19UU0NfSU5UX1NJR19F
TgkweDUwDQo+ID4gKyNkZWZpbmUgUkVHX1RTQ19JTlRfU1RBVFVTCTB4NjANCj4gPiArI2RlZmlu
ZSBSRUdfVFNDX0RFQlVHX01PREUJMHg3MA0KPiA+ICsjZGVmaW5lIFJFR19UU0NfREVCVUdfTU9E
RTIJMHg4MA0KPiA+ICsNCj4gPiArLyogVFNDIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzIGZpZWxk
IGRlZmluZSAqLw0KPiA+ICsjZGVmaW5lIERFVEVDVF80X1dJUkVfTU9ERQkoMHgwIDw8IDQpDQo+
ID4gKyNkZWZpbmUgQVVUT19NRUFTVVJFCQkweDENCj4gPiArI2RlZmluZSBNRUFTVVJFX1NJR05B
TAkJMHgxDQo+ID4gKyNkZWZpbmUgREVURUNUX1NJR05BTAkJKDB4MSA8PCA0KQ0KPiA+ICsjZGVm
aW5lIFZBTElEX1NJR05BTAkJKDB4MSA8PCA4KQ0KPiA+ICsjZGVmaW5lIE1FQVNVUkVfSU5UX0VO
CQkweDENCj4gPiArI2RlZmluZSBNRUFTVVJFX1NJR19FTgkJMHgxDQo+ID4gKyNkZWZpbmUgVkFM
SURfU0lHX0VOCQkoMHgxIDw8IDgpDQo+ID4gKyNkZWZpbmUgREVfR0xJVENIXzIJCSgweDIgPDwg
MjkpDQo+ID4gKyNkZWZpbmUgU1RBUlRfU0VOU0UJCSgweDEgPDwgMTIpDQo+ID4gKyNkZWZpbmUg
VFNDX0RJU0FCTEUJCSgweDEgPDwgMTYpDQo+ID4gKyNkZWZpbmUgREVURUNUX01PREUJCTB4Mg0K
PiA+ICsNCj4gPiArc3RydWN0IGlteDZ1bF90c2Mgew0KPiA+ICsJc3RydWN0IGRldmljZSAqZGV2
Ow0KPiA+ICsJc3RydWN0IGlucHV0X2RldiAqaW5wdXQ7DQo+ID4gKwl2b2lkIF9faW9tZW0gKnRz
Y19yZWdzOw0KPiA+ICsJdm9pZCBfX2lvbWVtICphZGNfcmVnczsNCj4gPiArCXN0cnVjdCBjbGsg
KnRzY19jbGs7DQo+ID4gKwlzdHJ1Y3QgY2xrICphZGNfY2xrOw0KPiA+ICsNCj4gPiArCWludCB4
bnVyX2dwaW87DQo+ID4gKwlpbnQgbWVhc3VyZV9kZWxheV90aW1lOw0KPiA+ICsJaW50IHByZV9j
aGFyZ2VfdGltZTsNCj4gPiArDQo+ID4gKwlzdHJ1Y3QgY29tcGxldGlvbiBjb21wbGV0aW9uOw0K
PiA+ICt9Ow0KPiA+ICsNCj4gPiArLyoNCj4gPiArICogVFNDIG1vZHVsZSBuZWVkIEFEQyB0byBn
ZXQgdGhlIG1lYXN1cmUgdmFsdWUuIFNvDQo+ID4gKyAqIGJlZm9yZSBjb25maWcgVFNDLCB3ZSBz
aG91bGQgaW5pdGlhbGl6ZSBBREMgbW9kdWxlLg0KPiA+ICsgKi8NCj4gPiArc3RhdGljIHZvaWQg
aW14NnVsX2FkY19pbml0KHN0cnVjdCBpbXg2dWxfdHNjICp0c2MpIHsNCj4gPiArCWludCBhZGNf
aGMgPSAwOw0KPiA+ICsJaW50IGFkY19nYzsNCj4gPiArCWludCBhZGNfZ3M7DQo+ID4gKwlpbnQg
YWRjX2NmZzsNCj4gPiArCWludCB0aW1lb3V0Ow0KPiA+ICsNCj4gPiArCWFkY19jZmcgPSByZWFk
bCh0c2MtPmFkY19yZWdzICsgUkVHX0FEQ19DRkcpOw0KPiA+ICsJYWRjX2NmZyB8PSBBRENfMTJC
SVRfTU9ERSB8IEFEQ19JUEdfQ0xLOw0KPiA+ICsJYWRjX2NmZyB8PSBBRENfQ0xLX0RJVl84IHwg
QURDX1NIT1JUX1NBTVBMRV9NT0RFOw0KPiA+ICsJYWRjX2NmZyAmPSB+QURDX0hBUkRXQVJFX1RS
SUdHRVI7DQo+ID4gKwl3cml0ZWwoYWRjX2NmZywgdHNjLT5hZGNfcmVncyArIFJFR19BRENfQ0ZH
KTsNCj4gPiArDQo+ID4gKwkvKiBlbmFibGUgY2FsaWJyYXRpb24gaW50ZXJydXB0ICovDQo+ID4g
KwlhZGNfaGMgfD0gQURDX0FJRU47DQo+ID4gKwlhZGNfaGMgfD0gQURDX0NPTlZfRElTQUJMRTsN
Cj4gPiArCXdyaXRlbChhZGNfaGMsIHRzYy0+YWRjX3JlZ3MgKyBSRUdfQURDX0hDMCk7DQo+ID4g
Kw0KPiA+ICsJLyogc3RhcnQgQURDIGNhbGlicmF0aW9uICovDQo+ID4gKwlhZGNfZ2MgPSByZWFk
bCh0c2MtPmFkY19yZWdzICsgUkVHX0FEQ19HQyk7DQo+ID4gKwlhZGNfZ2MgfD0gQURDX0NBTDsN
Cj4gPiArCXdyaXRlbChhZGNfZ2MsIHRzYy0+YWRjX3JlZ3MgKyBSRUdfQURDX0dDKTsNCj4gPiAr
DQo+ID4gKwl0aW1lb3V0ID0gd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0DQo+ID4gKwkJCSgm
dHNjLT5jb21wbGV0aW9uLCBBRENfVElNRU9VVCk7DQo+ID4gKwlpZiAodGltZW91dCA9PSAwKQ0K
PiA+ICsJCWRldl9lcnIodHNjLT5kZXYsICJUaW1lb3V0IGZvciBhZGMgY2FsaWJyYXRpb25cbiIp
Ow0KPiA+ICsNCj4gPiArCWFkY19ncyA9IHJlYWRsKHRzYy0+YWRjX3JlZ3MgKyBSRUdfQURDX0dT
KTsNCj4gPiArCWlmIChhZGNfZ3MgJiBBRENfQ0FMRikNCj4gPiArCQlkZXZfZXJyKHRzYy0+ZGV2
LCAiQURDIGNhbGlicmF0aW9uIGZhaWxlZFxuIik7DQo+ID4gKw0KPiA+ICsJLyogVFNDIG5lZWQg
dGhlIEFEQyB3b3JrIGluIGhhcmR3YXJlIHRyaWdnZXIgKi8NCj4gPiArCWFkY19jZmcgPSByZWFk
bCh0c2MtPmFkY19yZWdzICsgUkVHX0FEQ19DRkcpOw0KPiA+ICsJYWRjX2NmZyB8PSBBRENfSEFS
RFdBUkVfVFJJR0dFUjsNCj4gPiArCXdyaXRlbChhZGNfY2ZnLCB0c2MtPmFkY19yZWdzICsgUkVH
X0FEQ19DRkcpOyB9DQo+ID4gKw0KPiA+ICsvKg0KPiA+ICsgKiBUaGlzIGlzIGEgVFNDIHdvcmth
cm91bmQuIEN1cnJlbnRseSBUU0MgbWlzY29ubmVjdCB0d28NCj4gPiArICogQURDIGNoYW5uZWxz
LCB0aGlzIGZ1bmN0aW9uIHJlbWFwIGNoYW5uZWwgY29uZmlndXJlIGZvcg0KPiA+ICsgKiBoYXJk
d2FyZSB0cmlnZ2VyLg0KPiA+ICsgKi8NCj4gPiArc3RhdGljIHZvaWQgaW14NnVsX3RzY19jaGFu
bmVsX2NvbmZpZyhzdHJ1Y3QgaW14NnVsX3RzYyAqdHNjKSB7DQo+ID4gKwlpbnQgYWRjX2hjMCwg
YWRjX2hjMSwgYWRjX2hjMiwgYWRjX2hjMywgYWRjX2hjNDsNCj4gPiArDQo+ID4gKwlhZGNfaGMw
ID0gRElTQUJMRV9DT05WRVJTSU9OX0lOVDsNCj4gPiArCXdyaXRlbChhZGNfaGMwLCB0c2MtPmFk
Y19yZWdzICsgUkVHX0FEQ19IQzApOw0KPiA+ICsNCj4gPiArCWFkY19oYzEgPSBESVNBQkxFX0NP
TlZFUlNJT05fSU5UIHwgU0VMRUNUX0NIQU5ORUxfNDsNCj4gPiArCXdyaXRlbChhZGNfaGMxLCB0
c2MtPmFkY19yZWdzICsgUkVHX0FEQ19IQzEpOw0KPiA+ICsNCj4gPiArCWFkY19oYzIgPSBESVNB
QkxFX0NPTlZFUlNJT05fSU5UOw0KPiA+ICsJd3JpdGVsKGFkY19oYzIsIHRzYy0+YWRjX3JlZ3Mg
KyBSRUdfQURDX0hDMik7DQo+ID4gKw0KPiA+ICsJYWRjX2hjMyA9IERJU0FCTEVfQ09OVkVSU0lP
Tl9JTlQgfCBTRUxFQ1RfQ0hBTk5FTF8xOw0KPiA+ICsJd3JpdGVsKGFkY19oYzMsIHRzYy0+YWRj
X3JlZ3MgKyBSRUdfQURDX0hDMyk7DQo+ID4gKw0KPiA+ICsJYWRjX2hjNCA9IERJU0FCTEVfQ09O
VkVSU0lPTl9JTlQ7DQo+ID4gKwl3cml0ZWwoYWRjX2hjNCwgdHNjLT5hZGNfcmVncyArIFJFR19B
RENfSEM0KTsgfQ0KPiANCj4gSXMgdGhpcyBjb2RlIHNpbWlsYXIgdG8gaW5pdGlhbGl6YXRpb24g
b2YgdGhlIGFkYyBkcml2ZXI/IERvZXMgaXQgbWFrZQ0KPiBzZW5zZSB0byBtb3ZlIHRoaXMgY29k
ZSB0byB0aGUgQURDIGRyaXZlcj8NCiANCk91ciBJQyB0ZWFtIG1pc2Nvbm5lY3QgdGhlIEFEQydz
IGNoYW5uZWwxIGFuZCBjaGFubmVsMywgIGluIHRoZSBUU0MgbG9naWMsDQpBREMgY2hhbm5lbDEg
IC0tLT4gICBZLQ0KQURDIGNoYW5uZWwyICAtLS0+ICAgWSsNCkFEQyBjaGFubmVsMyAgLS0tPiAg
IFgtDQpBREMgY2hhbm5lbDQgIC0tLT4gICBYKw0KVGhlIHVwcGVyIGNvbm5lY3Rpb24gY2FuIG1h
a2UgdHNjIHdvcmsgbm9ybWFsLCBidXQgb3VyIElDIHRlYW0gbWFrZSBhIG1pc3Rha2UsDQppbiBk
ZWZhdWx0LCAgQURDIGNoYW5uZWwxICBjb25uZWN0IHRvIFgtLCBBREMgY2hhbm5lbDMgY29ubmVj
dCB0byBZLS4NCg0KU28gdGhlc2UgY29kZSBpcyBqdXN0IGEgc29mdHdhcmUgd29ya2Fyb3VuZCwg
c3dpdGNoIHRoZSBBREMgY2hhbm5lbDEgYW5kIGNoYW5uZWwzLA0KdG8gbWFrZSB0aGUgVFNDIHdv
cmsgbm9ybWFsLg0KDQpTbyBJIHRoaW5rIHdlIHNob3VsZCBkaXN0aW5ndWlzaCB0aGVzZSBjb2Rl
IGFuZCB0aGUgYWRjIGluaXRpYWxpemF0aW9uLg0KDQpCZXN0IHJlZ2FyZHMsDQoNCmhhaWJvDQoN
Cj4gDQo+IEJlc3QgcmVnYXJkcywNCj4gDQo+IE1hcmt1cw0KPiANCj4gPiArDQo+ID4gKy8qDQo+
ID4gKyAqIFRTQyBzZXR0aW5nLCBjb25maWdlIHRoZSBwcmUtY2hhcmdlIHRpbWUgYW5kIG1lYXN1
cmUgZGVsYXkgdGltZS4NCj4gPiArICogZGlmZmVyZW50IHRvdWNoIHNjcmVlbiBtYXkgbmVlZCBk
aWZmZXJlbnQgcHJlLWNoYXJnZSB0aW1lIGFuZA0KPiA+ICsgKiBtZWFzdXJlIGRlbGF5IHRpbWUu
DQo+ID4gKyAqLw0KPiA+ICtzdGF0aWMgdm9pZCBpbXg2dWxfdHNjX3NldChzdHJ1Y3QgaW14NnVs
X3RzYyAqdHNjKSB7DQo+ID4gKwlpbnQgYmFzaWNfc2V0dGluZyA9IDA7DQo+ID4gKwlpbnQgc3Rh
cnQ7DQo+ID4gKw0KPiA+ICsJYmFzaWNfc2V0dGluZyB8PSB0c2MtPm1lYXN1cmVfZGVsYXlfdGlt
ZSA8PCA4Ow0KPiA+ICsJYmFzaWNfc2V0dGluZyB8PSBERVRFQ1RfNF9XSVJFX01PREUgfCBBVVRP
X01FQVNVUkU7DQo+ID4gKwl3cml0ZWwoYmFzaWNfc2V0dGluZywgdHNjLT50c2NfcmVncyArIFJF
R19UU0NfQkFTSUNfU0VUSU5HKTsNCj4gPiArDQo+ID4gKwl3cml0ZWwoREVfR0xJVENIXzIsIHRz
Yy0+dHNjX3JlZ3MgKyBSRUdfVFNDX0RFQlVHX01PREUyKTsNCj4gPiArDQo+ID4gKwl3cml0ZWwo
dHNjLT5wcmVfY2hhcmdlX3RpbWUsIHRzYy0+dHNjX3JlZ3MgKw0KPiBSRUdfVFNDX1BSRV9DSEFS
R0VfVElNRSk7DQo+ID4gKwl3cml0ZWwoTUVBU1VSRV9JTlRfRU4sIHRzYy0+dHNjX3JlZ3MgKyBS
RUdfVFNDX0lOVF9FTik7DQo+ID4gKwl3cml0ZWwoTUVBU1VSRV9TSUdfRU4gfCBWQUxJRF9TSUdf
RU4sDQo+ID4gKwkJdHNjLT50c2NfcmVncyArIFJFR19UU0NfSU5UX1NJR19FTik7DQo+ID4gKw0K
PiA+ICsJLyogc3RhcnQgc2Vuc2UgZGV0ZWN0aW9uICovDQo+ID4gKwlzdGFydCA9IHJlYWRsKHRz
Yy0+dHNjX3JlZ3MgKyBSRUdfVFNDX0ZMT1dfQ09OVFJPTCk7DQo+ID4gKwlzdGFydCB8PSBTVEFS
VF9TRU5TRTsNCj4gPiArCXN0YXJ0ICY9IH5UU0NfRElTQUJMRTsNCj4gPiArCXdyaXRlbChzdGFy
dCwgdHNjLT50c2NfcmVncyArIFJFR19UU0NfRkxPV19DT05UUk9MKTsgfQ0KPiA+ICsNCj4gPiAr
c3RhdGljIHZvaWQgaW14NnVsX3RzY19pbml0KHN0cnVjdCBpbXg2dWxfdHNjICp0c2MpIHsNCj4g
PiArCWlteDZ1bF9hZGNfaW5pdCh0c2MpOw0KPiA+ICsJaW14NnVsX3RzY19jaGFubmVsX2NvbmZp
Zyh0c2MpOw0KPiA+ICsJaW14NnVsX3RzY19zZXQodHNjKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiAr
c3RhdGljIGlycXJldHVybl90IHRzY19pcnFfZm4oaW50IGlycSwgdm9pZCAqZGV2X2lkKSB7DQo+
ID4gKwlzdHJ1Y3QgaW14NnVsX3RzYyAqdHNjID0gKHN0cnVjdCBpbXg2dWxfdHNjICopZGV2X2lk
Ow0KPiA+ICsJaW50IHN0YXR1czsNCj4gPiArCWludCB2YWx1ZTsNCj4gPiArCWludCB4LCB5Ow0K
PiA+ICsJaW50IHhudXI7DQo+ID4gKwlpbnQgZGVidWdfbW9kZTI7DQo+ID4gKwlpbnQgc3RhdGVf
bWFjaGluZTsNCj4gPiArCWludCBzdGFydDsNCj4gPiArCXVuc2lnbmVkIGxvbmcgdGltZW91dDsN
Cj4gPiArDQo+ID4gKwlzdGF0dXMgPSByZWFkbCh0c2MtPnRzY19yZWdzICsgUkVHX1RTQ19JTlRf
U1RBVFVTKTsNCj4gPiArDQo+ID4gKwkvKiB3cml0ZSAxIHRvIGNsZWFyIHRoZSBiaXQgbWVhc3Vy
ZS1zaWduYWwgKi8NCj4gPiArCXdyaXRlbChNRUFTVVJFX1NJR05BTCB8IERFVEVDVF9TSUdOQUws
DQo+ID4gKwkJdHNjLT50c2NfcmVncyArIFJFR19UU0NfSU5UX1NUQVRVUyk7DQo+ID4gKw0KPiA+
ICsJLyogSXQncyBhIEhXIHNlbGYtY2xlYW4gYml0LiBTZXQgdGhpcyBiaXQgYW5kIHN0YXJ0IHNl
bnNlIGRldGVjdGlvbg0KPiAqLw0KPiA+ICsJc3RhcnQgPSByZWFkbCh0c2MtPnRzY19yZWdzICsg
UkVHX1RTQ19GTE9XX0NPTlRST0wpOw0KPiA+ICsJc3RhcnQgfD0gU1RBUlRfU0VOU0U7DQo+ID4g
Kwl3cml0ZWwoc3RhcnQsIHRzYy0+dHNjX3JlZ3MgKyBSRUdfVFNDX0ZMT1dfQ09OVFJPTCk7DQo+
ID4gKw0KPiA+ICsJaWYgKHN0YXR1cyAmIE1FQVNVUkVfU0lHTkFMKSB7DQo+ID4gKwkJdmFsdWUg
PSByZWFkbCh0c2MtPnRzY19yZWdzICsgUkVHX1RTQ19NRUFTVVJFX1ZBTFVFKTsNCj4gPiArCQl4
ID0gKHZhbHVlID4+IDE2KSAmIDB4MGZmZjsNCj4gPiArCQl5ID0gdmFsdWUgJiAweDBmZmY7DQo+
ID4gKw0KPiA+ICsJCS8qDQo+ID4gKwkJICogRGVsYXkgc29tZSB0aW1lKG1heCAybXMpLCB3YWl0
IHRoZSBwcmUtY2hhcmdlIGRvbmUuDQo+ID4gKwkJICogQWZ0ZXIgdGhlIHByZS1jaGFuZ2UgbW9k
ZSwgVFNDIGdvIGludG8gZGV0ZWN0IG1vZGUuDQo+ID4gKwkJICogQW5kIGluIGRldGVjdCBtb2Rl
LCB3ZSBjYW4gZ2V0IHRoZSB4bnVyIGdwaW8gdmFsdWUuDQo+ID4gKwkJICogSWYgeG51ciBpcyBs
b3csIHRoaXMgbWVhbnMgdGhlIHRvdWNoIHNjcmVlbiBzdGlsbA0KPiA+ICsJCSAqIGJlIHRvdWNo
ZWQuIElmIHhudXIgaXMgaGlnaCwgdGhpcyBtZWFucyBmaW5nZXIgbGVhdmUNCj4gPiArCQkgKiB0
aGUgdG91Y2ggc2NyZWVuLg0KPiA+ICsJCSAqLw0KPiA+ICsJCXRpbWVvdXQgPSBqaWZmaWVzICsg
SFovNTAwOw0KPiA+ICsJCWRvIHsNCj4gPiArCQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgdGlt
ZW91dCkpIHsNCj4gPiArCQkJCXhudXIgPSAwOw0KPiA+ICsJCQkJZ290byB0b3VjaF9ldmVudDsN
Cj4gPiArCQkJfQ0KPiA+ICsJCQl1c2xlZXBfcmFuZ2UoMjAwLCA0MDApOw0KPiA+ICsJCQlkZWJ1
Z19tb2RlMiA9IHJlYWRsKHRzYy0+dHNjX3JlZ3MgKw0KPiBSRUdfVFNDX0RFQlVHX01PREUyKTsN
Cj4gPiArCQkJc3RhdGVfbWFjaGluZSA9IChkZWJ1Z19tb2RlMiA+PiAyMCkgJiAweDc7DQo+ID4g
KwkJfSB3aGlsZSAoc3RhdGVfbWFjaGluZSAhPSBERVRFQ1RfTU9ERSk7DQo+ID4gKwkJdXNsZWVw
X3JhbmdlKDIwMCwgNDAwKTsNCj4gPiArDQo+ID4gKwkJeG51ciA9IGdwaW9fZ2V0X3ZhbHVlKHRz
Yy0+eG51cl9ncGlvKTsNCj4gPiArdG91Y2hfZXZlbnQ6DQo+ID4gKwkJaWYgKHhudXIgPT0gMCkg
ew0KPiA+ICsJCQlpbnB1dF9yZXBvcnRfa2V5KHRzYy0+aW5wdXQsIEJUTl9UT1VDSCwgMSk7DQo+
ID4gKwkJCWlucHV0X3JlcG9ydF9hYnModHNjLT5pbnB1dCwgQUJTX1gsIHgpOw0KPiA+ICsJCQlp
bnB1dF9yZXBvcnRfYWJzKHRzYy0+aW5wdXQsIEFCU19ZLCB5KTsNCj4gPiArCQl9IGVsc2UNCj4g
PiArCQkJaW5wdXRfcmVwb3J0X2tleSh0c2MtPmlucHV0LCBCVE5fVE9VQ0gsIDApOw0KPiA+ICsN
Cj4gPiArCQlpbnB1dF9zeW5jKHRzYy0+aW5wdXQpOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJl
dHVybiBJUlFfSEFORExFRDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGlycXJldHVybl90
IGFkY19pcnFfZm4oaW50IGlycSwgdm9pZCAqZGV2X2lkKSB7DQo+ID4gKwlzdHJ1Y3QgaW14NnVs
X3RzYyAqdHNjID0gKHN0cnVjdCBpbXg2dWxfdHNjICopZGV2X2lkOw0KPiA+ICsJaW50IGNvY287
DQo+ID4gKwlpbnQgdmFsdWU7DQo+ID4gKw0KPiA+ICsJY29jbyA9IHJlYWRsKHRzYy0+YWRjX3Jl
Z3MgKyBSRUdfQURDX0hTKTsNCj4gPiArCWlmIChjb2NvICYgMHgwMSkgew0KPiA+ICsJCXZhbHVl
ID0gcmVhZGwodHNjLT5hZGNfcmVncyArIFJFR19BRENfUjApOw0KPiA+ICsJCWNvbXBsZXRlKCZ0
c2MtPmNvbXBsZXRpb24pOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldHVybiBJUlFfSEFORExF
RDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQg
aW14NnVsX3RzY19tYXRjaFtdID0gew0KPiA+ICsJeyAuY29tcGF0aWJsZSA9ICJmc2wsaW14NnVs
LXRzYyIsIH0sDQo+ID4gKwl7IC8qIHNlbnRpbmVsICovIH0NCj4gPiArfTsNCj4gPiArTU9EVUxF
X0RFVklDRV9UQUJMRShvZiwgaW14NnVsX3RzY19tYXRjaCk7DQo+ID4gKw0KPiA+ICtzdGF0aWMg
aW50IGlteDZ1bF90c2NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikgew0KPiA+
ICsJc3RydWN0IGlteDZ1bF90c2MgKnRzYzsNCj4gPiArCXN0cnVjdCByZXNvdXJjZSAqdHNjX21l
bTsNCj4gPiArCXN0cnVjdCByZXNvdXJjZSAqYWRjX21lbTsNCj4gPiArCXN0cnVjdCBpbnB1dF9k
ZXYgKmlucHV0X2RldjsNCj4gPiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBwZGV2LT5kZXYu
b2Zfbm9kZTsNCj4gPiArCWludCBlcnI7DQo+ID4gKwlpbnQgdHNjX2lycTsNCj4gPiArCWludCBh
ZGNfaXJxOw0KPiA+ICsNCj4gPiArCXRzYyA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXpl
b2Yoc3RydWN0IGlteDZ1bF90c2MpLA0KPiBHRlBfS0VSTkVMKTsNCj4gPiArCWlucHV0X2RldiA9
IGRldm1faW5wdXRfYWxsb2NhdGVfZGV2aWNlKCZwZGV2LT5kZXYpOw0KPiA+ICsNCj4gPiArCXRz
Yy0+ZGV2ID0gJnBkZXYtPmRldjsNCj4gPiArDQo+ID4gKwl0c2MtPmlucHV0ID0gaW5wdXRfZGV2
Ow0KPiA+ICsJdHNjLT5pbnB1dC0+ZXZiaXRbMF0gPSBCSVRfTUFTSyhFVl9LRVkpIHwgQklUX01B
U0soRVZfQUJTKTsNCj4gPiArCXRzYy0+aW5wdXQtPmtleWJpdFtCSVRfV09SRChCVE5fVE9VQ0gp
XSA9IEJJVF9NQVNLKEJUTl9UT1VDSCk7DQo+ID4gKwlpbnB1dF9zZXRfYWJzX3BhcmFtcyh0c2Mt
PmlucHV0LCBBQlNfWCwgMCwgMHhGRkYsIDAsIDApOw0KPiA+ICsJaW5wdXRfc2V0X2Fic19wYXJh
bXModHNjLT5pbnB1dCwgQUJTX1ksIDAsIDB4RkZGLCAwLCAwKTsNCj4gPiArDQo+ID4gKwl0c2Mt
PmlucHV0LT5uYW1lID0gImlNWDZVTCBUb3VjaFNjcmVlbiBDb250cm9sbGVyIjsNCj4gPiArDQo+
ID4gKwl0c2MtPnhudXJfZ3BpbyA9IG9mX2dldF9uYW1lZF9ncGlvKG5wLCAieG51ci1ncGlvIiwg
MCk7DQo+ID4gKwllcnIgPSBncGlvX3JlcXVlc3Rfb25lKHRzYy0+eG51cl9ncGlvLCBHUElPRl9J
TiwgInRzY19YLSIpOw0KPiA+ICsJaWYgKGVycikgew0KPiA+ICsJCWRldl9lcnIoJnBkZXYtPmRl
diwgImZhaWxlZCB0byByZXF1ZXN0IEdQSU8gdHNjX1gtXG4iKTsNCj4gPiArCQlyZXR1cm4gZXJy
Ow0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXRzY19tZW0gPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2Uo
cGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOw0KPiA+ICsJdHNjLT50c2NfcmVncyA9IGRldm1faW9y
ZW1hcF9yZXNvdXJjZSgmcGRldi0+ZGV2LCB0c2NfbWVtKTsNCj4gPiArCWlmIChJU19FUlIodHNj
LT50c2NfcmVncykpIHsNCj4gPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVt
YXAgdHNjIG1lbW9yeVxuIik7DQo+ID4gKwkJZXJyID0gUFRSX0VSUih0c2MtPnRzY19yZWdzKTsN
Cj4gPiArCQlyZXR1cm4gZXJyOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWFkY19tZW0gPSBwbGF0
Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDEpOw0KPiA+ICsJdHNjLT5h
ZGNfcmVncyA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgmcGRldi0+ZGV2LCBhZGNfbWVtKTsNCj4g
PiArCWlmIChJU19FUlIodHNjLT5hZGNfcmVncykpIHsNCj4gPiArCQlkZXZfZXJyKCZwZGV2LT5k
ZXYsICJmYWlsZWQgdG8gcmVtYXAgYWRjIG1lbW9yeVxuIik7DQo+ID4gKwkJZXJyID0gUFRSX0VS
Uih0c2MtPmFkY19yZWdzKTsNCj4gPiArCQlyZXR1cm4gZXJyOw0KPiA+ICsJfQ0KPiA+ICsNCj4g
PiArCXRzYy0+dHNjX2NsayA9IGRldm1fY2xrX2dldCgmcGRldi0+ZGV2LCAidHNjIik7DQo+ID4g
KwlpZiAoSVNfRVJSKHRzYy0+dHNjX2NsaykpIHsNCj4gPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYs
ICJmYWlsZWQgZ2V0dGluZyB0c2MgY2xvY2tcbiIpOw0KPiA+ICsJCWVyciA9IFBUUl9FUlIodHNj
LT50c2NfY2xrKTsNCj4gPiArCQlyZXR1cm4gZXJyOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXRz
Yy0+YWRjX2NsayA9IGRldm1fY2xrX2dldCgmcGRldi0+ZGV2LCAiYWRjIik7DQo+ID4gKwlpZiAo
SVNfRVJSKHRzYy0+YWRjX2NsaykpIHsNCj4gPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWls
ZWQgZ2V0dGluZyBhZGMgY2xvY2tcbiIpOw0KPiA+ICsJCWVyciA9IFBUUl9FUlIodHNjLT5hZGNf
Y2xrKTsNCj4gPiArCQlyZXR1cm4gZXJyOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXRzY19pcnEg
PSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOw0KPiA+ICsJaWYgKHRzY19pcnEgPCAwKSB7DQo+
ID4gKwkJZGV2X2VycigmcGRldi0+ZGV2LCAibm8gdHNjIGlycSByZXNvdXJjZT9cbiIpOw0KPiA+
ICsJCXJldHVybiB0c2NfaXJxOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWFkY19pcnEgPSBwbGF0
Zm9ybV9nZXRfaXJxKHBkZXYsIDEpOw0KPiA+ICsJaWYgKGFkY19pcnEgPD0gMCkgew0KPiA+ICsJ
CWRldl9lcnIoJnBkZXYtPmRldiwgIm5vIGFkYyBpcnEgcmVzb3VyY2U/XG4iKTsNCj4gPiArCQly
ZXR1cm4gYWRjX2lycTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwllcnIgPSBkZXZtX3JlcXVlc3Rf
dGhyZWFkZWRfaXJxKHRzYy0+ZGV2LCB0c2NfaXJxLA0KPiA+ICsJCQkJCU5VTEwsIHRzY19pcnFf
Zm4sDQo+ID4gKwkJCQkJSVJRRl9UUklHR0VSX0hJR0ggfCBJUlFGX09ORVNIT1QsDQo+ID4gKwkJ
CQkJZGV2X25hbWUoJnBkZXYtPmRldiksIHRzYyk7DQo+ID4gKwlpZiAoZXJyIDwgMCkgew0KPiA+
ICsJCWRldl9lcnIoJnBkZXYtPmRldiwNCj4gPiArCQkJImZhaWxlZCByZXF1ZXN0aW5nIHRzYyBp
cnEgJWRcbiIsDQo+ID4gKwkJCQkJICAgIHRzY19pcnEpOw0KPiA+ICsJCXJldHVybiBlcnI7DQo+
ID4gKwl9DQo+ID4gKw0KPiA+ICsJZXJyID0gZGV2bV9yZXF1ZXN0X2lycSh0c2MtPmRldiwgYWRj
X2lycSwNCj4gPiArCQkJCWFkY19pcnFfZm4sIDAsDQo+ID4gKwkJCQlkZXZfbmFtZSgmcGRldi0+
ZGV2KSwgdHNjKTsNCj4gPiArCWlmIChlcnIgPCAwKSB7DQo+ID4gKwkJZGV2X2VycigmcGRldi0+
ZGV2LA0KPiA+ICsJCQkiZmFpbGVkIHJlcXVlc3RpbmcgYWRjIGlycSAlZFxuIiwNCj4gPiArCQkJ
CQkgICAgYWRjX2lycSk7DQo+ID4gKwkJcmV0dXJuIGVycjsNCj4gPiArCX0NCj4gPiArDQo+ID4g
KwllcnIgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgIm1lYXN1cmUtZGVsYXktdGltZSIsDQo+
ID4gKwkJCQkmdHNjLT5tZWFzdXJlX2RlbGF5X3RpbWUpOw0KPiA+ICsJaWYgKGVycikNCj4gPiAr
CQl0c2MtPm1lYXN1cmVfZGVsYXlfdGltZSA9IDB4ZmZmZjsNCj4gPiArDQo+ID4gKwllcnIgPSBv
Zl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgInByZS1jaGFyZ2UtdGltZSIsDQo+ID4gKwkJCQkmdHNj
LT5wcmVfY2hhcmdlX3RpbWUpOw0KPiA+ICsJaWYgKGVycikNCj4gPiArCQl0c2MtPnByZV9jaGFy
Z2VfdGltZSA9IDB4ZmZmOw0KPiA+ICsNCj4gPiArCWluaXRfY29tcGxldGlvbigmdHNjLT5jb21w
bGV0aW9uKTsNCj4gPiArDQo+ID4gKwllcnIgPSBjbGtfcHJlcGFyZV9lbmFibGUodHNjLT5hZGNf
Y2xrKTsNCj4gPiArCWlmIChlcnIpIHsNCj4gPiArCQlkZXZfZXJyKCZwZGV2LT5kZXYsDQo+ID4g
KwkJCSJDb3VsZCBub3QgcHJlcGFyZSBvciBlbmFibGUgdGhlIGFkYyBjbG9jay5cbiIpOw0KPiA+
ICsJCXJldHVybiBlcnI7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJZXJyID0gY2xrX3ByZXBhcmVf
ZW5hYmxlKHRzYy0+dHNjX2Nsayk7DQo+ID4gKwlpZiAoZXJyKSB7DQo+ID4gKwkJZGV2X2Vycigm
cGRldi0+ZGV2LA0KPiA+ICsJCQkiQ291bGQgbm90IHByZXBhcmUgb3IgZW5hYmxlIHRoZSB0c2Mg
Y2xvY2suXG4iKTsNCj4gPiArCQlnb3RvIGVycm9yX3RzY19jbGtfZW5hYmxlOw0KPiA+ICsJfQ0K
PiA+ICsNCj4gPiArCWVyciA9IGlucHV0X3JlZ2lzdGVyX2RldmljZSh0c2MtPmlucHV0KTsNCj4g
PiArCWlmIChlcnIgPCAwKSB7DQo+ID4gKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRv
IHJlZ2lzdGVyIGlucHV0IGRldmljZVxuIik7DQo+ID4gKwkJZXJyID0gLUVJTzsNCj4gPiArCQln
b3RvIGVycl9pbnB1dF9yZWdpc3RlcjsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlpbXg2dWxfdHNj
X2luaXQodHNjKTsNCj4gPiArDQo+ID4gKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCB0c2Mp
Ow0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gKw0KPiA+ICtlcnJfaW5wdXRfcmVnaXN0ZXI6DQo+ID4g
KwljbGtfZGlzYWJsZV91bnByZXBhcmUodHNjLT50c2NfY2xrKTsNCj4gPiArZXJyb3JfdHNjX2Ns
a19lbmFibGU6DQo+ID4gKwljbGtfZGlzYWJsZV91bnByZXBhcmUodHNjLT5hZGNfY2xrKTsNCj4g
PiArDQo+ID4gKwlyZXR1cm4gZXJyOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZCBp
bXg2dWxfdHNjX2Rpc2FibGUoc3RydWN0IGlteDZ1bF90c2MgKnRzYykgew0KPiA+ICsJaW50IHRz
Y19mbG93Ow0KPiA+ICsJaW50IGFkY19jZmc7DQo+ID4gKw0KPiA+ICsJLyogVFNDIGNvbnRyb2xs
ZXIgZW50ZXJzIHRvIGlkbGUgc3RhdHVzICovDQo+ID4gKwl0c2NfZmxvdyA9IHJlYWRsKHRzYy0+
dHNjX3JlZ3MgKyBSRUdfVFNDX0ZMT1dfQ09OVFJPTCk7DQo+ID4gKwl0c2NfZmxvdyB8PSBUU0Nf
RElTQUJMRTsNCj4gPiArCXdyaXRlbCh0c2NfZmxvdywgdHNjLT50c2NfcmVncyArIFJFR19UU0Nf
RkxPV19DT05UUk9MKTsNCj4gPiArDQo+ID4gKwkvKiBBREMgY29udHJvbGxlciBlbnRlcnMgdG8g
c3RvcCBtb2RlICovDQo+ID4gKwlhZGNfY2ZnID0gcmVhZGwodHNjLT5hZGNfcmVncyArIFJFR19B
RENfSEMwKTsNCj4gPiArCWFkY19jZmcgfD0gQURDX0NPTlZfRElTQUJMRTsNCj4gPiArCXdyaXRl
bChhZGNfY2ZnLCB0c2MtPmFkY19yZWdzICsgUkVHX0FEQ19IQzApOyB9DQo+ID4gKw0KPiA+ICtz
dGF0aWMgaW50IGlteDZ1bF90c2NfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp
IHsNCj4gPiArCXN0cnVjdCBpbXg2dWxfdHNjICp0c2MgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShw
ZGV2KTsNCj4gPiArDQo+ID4gKwlpbXg2dWxfdHNjX2Rpc2FibGUodHNjKTsNCj4gPiArDQo+ID4g
KwljbGtfZGlzYWJsZV91bnByZXBhcmUodHNjLT50c2NfY2xrKTsNCj4gPiArCWNsa19kaXNhYmxl
X3VucHJlcGFyZSh0c2MtPmFkY19jbGspOw0KPiA+ICsJaW5wdXRfdW5yZWdpc3Rlcl9kZXZpY2Uo
dHNjLT5pbnB1dCk7DQo+ID4gKwlrZnJlZSh0c2MpOw0KPiA+ICsNCj4gPiArCXJldHVybiAwOw0K
PiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIGlteDZ1bF90c2Nf
c3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpIHsNCj4gPiArCXN0cnVjdCBwbGF0Zm9ybV9kZXZp
Y2UgKnBkZXYgPSB0b19wbGF0Zm9ybV9kZXZpY2UoZGV2KTsNCj4gPiArCXN0cnVjdCBpbXg2dWxf
dHNjICp0c2MgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsNCj4gPiArDQo+ID4gKwlpbXg2
dWxfdHNjX2Rpc2FibGUodHNjKTsNCj4gPiArDQo+ID4gKwljbGtfZGlzYWJsZV91bnByZXBhcmUo
dHNjLT50c2NfY2xrKTsNCj4gPiArCWNsa19kaXNhYmxlX3VucHJlcGFyZSh0c2MtPmFkY19jbGsp
Ow0KPiA+ICsNCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50
IF9fbWF5YmVfdW51c2VkIGlteDZ1bF90c2NfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikgew0K
PiA+ICsJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiA9IHRvX3BsYXRmb3JtX2RldmljZShk
ZXYpOw0KPiA+ICsJc3RydWN0IGlteDZ1bF90c2MgKnRzYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRh
KHBkZXYpOw0KPiA+ICsJaW50IGVycjsNCj4gPiArDQo+ID4gKwllcnIgPSBjbGtfcHJlcGFyZV9l
bmFibGUodHNjLT5hZGNfY2xrKTsNCj4gPiArCWlmIChlcnIpDQo+ID4gKwkJcmV0dXJuIGVycjsN
Cj4gPiArDQo+ID4gKwllcnIgPSBjbGtfcHJlcGFyZV9lbmFibGUodHNjLT50c2NfY2xrKTsNCj4g
PiArCWlmIChlcnIpIHsNCj4gPiArCQljbGtfZGlzYWJsZV91bnByZXBhcmUodHNjLT5hZGNfY2xr
KTsNCj4gPiArCQlyZXR1cm4gZXJyOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWlteDZ1bF90c2Nf
aW5pdCh0c2MpOw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBT
SU1QTEVfREVWX1BNX09QUyhpbXg2dWxfdHNjX3BtX29wcywNCj4gPiArCQkJIGlteDZ1bF90c2Nf
c3VzcGVuZCwNCj4gPiArCQkJIGlteDZ1bF90c2NfcmVzdW1lKTsNCj4gPiArDQo+ID4gK3N0YXRp
YyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGlteDZ1bF90c2NfZHJpdmVyID0gew0KPiA+ICsJLmRy
aXZlcgkJPSB7DQo+ID4gKwkJLm5hbWUJPSAiaW14NnVsLXRzYyIsDQo+ID4gKwkJLm93bmVyCT0g
VEhJU19NT0RVTEUsDQo+ID4gKwkJLm9mX21hdGNoX3RhYmxlCT0gaW14NnVsX3RzY19tYXRjaCwN
Cj4gPiArCQkucG0JPSAmaW14NnVsX3RzY19wbV9vcHMsDQo+ID4gKwl9LA0KPiA+ICsJLnByb2Jl
CQk9IGlteDZ1bF90c2NfcHJvYmUsDQo+ID4gKwkucmVtb3ZlCQk9IGlteDZ1bF90c2NfcmVtb3Zl
LA0KPiA+ICt9Ow0KPiA+ICttb2R1bGVfcGxhdGZvcm1fZHJpdmVyKGlteDZ1bF90c2NfZHJpdmVy
KTsNCj4gPiArDQo+ID4gK01PRFVMRV9BVVRIT1IoIkhhaWJvIENoZW4gPGhhaWJvLmNoZW5AZnJl
ZXNjYWxlLmNvbT4iKTsNCj4gPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJGcmVlc2NhbGUgaS5NWDZV
TCBUb3VjaHNjcmVlbiBjb250cm9sbGVyDQo+ID4gK2RyaXZlciIpOyBNT0RVTEVfTElDRU5TRSgi
R1BMIHYyIik7DQo+ID4gLS0NCj4gPiAxLjkuMQ0KPiA+DQo+ID4gLS0NCj4gPiBUbyB1bnN1YnNj
cmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUNCj4gPiBsaW51
eC1rZXJuZWwiIGluIHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJu
ZWwub3JnDQo+ID4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9y
Zy9tYWpvcmRvbW8taW5mby5odG1sDQo+ID4gUGxlYXNlIHJlYWQgdGhlIEZBUSBhdCAgaHR0cDov
L3d3dy50dXgub3JnL2xrbWwvDQo+ID4NCj4gDQo+IC0tDQo+IFBlbmd1dHJvbml4IGUuSy4gICAg
ICAgICAgICAgICAgICAgICAgICAgICB8DQo+IHwNCj4gSW5kdXN0cmlhbCBMaW51eCBTb2x1dGlv
bnMgICAgICAgICAgICAgICAgIHwgaHR0cDovL3d3dy5wZW5ndXRyb25peC5kZS8NCj4gfA0KPiBQ
ZWluZXIgU3RyLiA2LTgsIDMxMTM3IEhpbGRlc2hlaW0sIEdlcm1hbnkgfCBQaG9uZTogKzQ5LTUx
MjEtMjA2OTE3LTANCj4gfA0KPiBBbXRzZ2VyaWNodCBIaWxkZXNoZWltLCBIUkEgMjY4NiAgICAg
ICAgICAgfCBGYXg6ICAgKzQ5LTUxMjEtMjA2OTE3LTU1NTUNCj4gfA0K
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: [PATCH v2 1/5] input: touchscreen: add imx6ul_tsc driver support Markus Pargmann <mpa@pengutronix.de> - 2015-08-21 11:30 +0200
  RE: [PATCH v2 1/5] input: touchscreen: add imx6ul_tsc driver support Chen Bough <Haibo.Chen@freescale.com> - 2015-08-24 10:30 +0200

csiph-web