From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tai-hwa Liang Subject: Re: [PATCH] Fix sentelic multi-touch driver Date: Fri, 29 Jun 2012 11:03:12 +0800 (CST) Message-ID: <1206291029033.19930@cnaqrzbavhz.fragryvp.pbz> References: <1340829375-4995-1-git-send-email-ogoffart@woboq.com> <1624632.HRAD290WOc@gargamel> <12062817144218.19930@cnaqrzbavhz.fragryvp.pbz> <1523768.XhBRLqFZzh@gargamel> Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463809760-1296467175-1340938992=:19930" Return-path: Received: from hermod.sentelic.com ([203.69.18.19]:42881 "EHLO hermod.sentelic.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752452Ab2F2DDU (ORCPT ); Thu, 28 Jun 2012 23:03:20 -0400 In-Reply-To: <1523768.XhBRLqFZzh@gargamel> Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: Olivier Goffart Cc: linux-input@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1463809760-1296467175-1340938992=:19930 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Thu, 28 Jun 2012, Olivier Goffart wrote: [...] > - Touch the touchpad with one finger and move it: this moves the cursor > - Place a second finger: this allows you to scoll > - Release a finger: you should now be able to move the cursor again. This is > the part that does not work in one of the patch Sorry, I didn't realise that one of my patch submitted a few months ago (namely, http://www.spinics.net/lists/linux-input/msg19443.html) isn't in the master tree, which is different from my local working copy. With the correct flag(FSP_BIT_SWC1_EN_GID) being set, the hardware clears MFMC bit during 2 -> 1 finger transition. The attached patch is an aggregated version against Dmitry's master branch, which supposes to fix the testing case listed above. Thanks, Tai-hwa Liang ---1463809760-1296467175-1340938992=:19930 Content-Type: TEXT/x-diff; charset=US-ASCII; name=fsp-gid-agg.patch Content-Transfer-Encoding: BASE64 Content-ID: <120629110312D.19930@cnaqrzbavhz.fragryvp.pbz> Content-Description: Content-Disposition: attachment; filename=fsp-gid-agg.patch ZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvbW91c2Uvc2VudGVsaWMuYyBi L2RyaXZlcnMvaW5wdXQvbW91c2Uvc2VudGVsaWMuYw0KaW5kZXggM2Y1NjQ5 Zi4uYzhhMjBjMCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvaW5wdXQvbW91c2Uv c2VudGVsaWMuYw0KKysrIGIvZHJpdmVycy9pbnB1dC9tb3VzZS9zZW50ZWxp Yy5jDQpAQCAtNzA2LDggKzcwNiw5IEBAIHN0YXRpYyBwc21vdXNlX3JldF90 IGZzcF9wcm9jZXNzX2J5dGUoc3RydWN0IHBzbW91c2UgKnBzbW91c2UpDQog CXN0cnVjdCBpbnB1dF9kZXYgKmRldiA9IHBzbW91c2UtPmRldjsNCiAJc3Ry dWN0IGZzcF9kYXRhICphZCA9IHBzbW91c2UtPnByaXZhdGU7DQogCXVuc2ln bmVkIGNoYXIgKnBhY2tldCA9IHBzbW91c2UtPnBhY2tldDsNCi0JdW5zaWdu ZWQgY2hhciBidXR0b25fc3RhdHVzID0gMCwgbHNjcm9sbCA9IDAsIHJzY3Jv bGwgPSAwOw0KLQl1bnNpZ25lZCBzaG9ydCBhYnNfeCwgYWJzX3ksIGZncnMg PSAwOw0KKwl1bnNpZ25lZCBjaGFyIGJ1dHRvbl9zdGF0dXMgPSAwOw0KKwl1 bnNpZ25lZCBzaG9ydCBhYnNfeCwgYWJzX3ksIGZncnM7DQorCXVuc2lnbmVk IHNob3J0IHZzY3JvbGwgPSAwLCBoc2Nyb2xsID0gMCwgbHNjcm9sbCA9IDAs IHJzY3JvbGwgPSAwOw0KIAlpbnQgcmVsX3gsIHJlbF95Ow0KIA0KIAlpZiAo cHNtb3VzZS0+cGt0Y250IDwgNCkNCkBAIC03MjAsNjUgKzcyMSw5OSBAQCBz dGF0aWMgcHNtb3VzZV9yZXRfdCBmc3BfcHJvY2Vzc19ieXRlKHN0cnVjdCBw c21vdXNlICpwc21vdXNlKQ0KIAlmc3BfcGFja2V0X2RlYnVnKHBzbW91c2Us IHBhY2tldCk7DQogDQogCXN3aXRjaCAocHNtb3VzZS0+cGFja2V0WzBdID4+ IEZTUF9QS1RfVFlQRV9TSElGVCkgew0KKwljYXNlIEZTUF9QS1RfVFlQRV9O T1RJRlk6DQorCQlpZiAocGFja2V0WzFdICE9IEZTUF9OT1RJRllfTVNHX0dJ RCkNCisJCQlicmVhazsJLyogdW5zdXBwb3J0ZWQgbWVzc2FnZSB0eXBlcyAq Lw0KKw0KKwkJc3dpdGNoIChwYWNrZXRbMl0pIHsNCisJCWNhc2UgRlNQX0dJ RF9TUF9VUDoNCisJCQl2c2Nyb2xsID0gIDE7DQorCQkJYnJlYWs7DQorCQlj YXNlIEZTUF9HSURfU1BfRE9XTjoNCisJCQl2c2Nyb2xsID0gLTE7DQorCQkJ YnJlYWs7DQorCQljYXNlIEZTUF9HSURfU1BfTEVGVDoNCisJCQloc2Nyb2xs ID0gIDE7DQorCQkJYnJlYWs7DQorCQljYXNlIEZTUF9HSURfU1BfUklHSFQ6 DQorCQkJaHNjcm9sbCA9IC0xOw0KKwkJCWJyZWFrOw0KKwkJZGVmYXVsdDoN CisJCQlkZXZfZGJnKCZwc21vdXNlLT5wczJkZXYuc2VyaW8tPmRldiwNCisJ CQkJIkdJRCAweCV4XG4iLCBwYWNrZXRbMl0pOw0KKwkJCWJyZWFrOw0KKwkJ fQ0KKwkJaW5wdXRfcmVwb3J0X3JlbChkZXYsIFJFTF9XSEVFTCwgdnNjcm9s bCk7DQorCQlpbnB1dF9yZXBvcnRfcmVsKGRldiwgUkVMX0hXSEVFTCwgaHNj cm9sbCk7DQorCQlpbnB1dF9ldmVudChkZXYsIEVWX01TQywgTVNDX0dFU1RV UkUsIHBhY2tldFsyXSk7DQorCQlicmVhazsNCisNCiAJY2FzZSBGU1BfUEtU X1RZUEVfQUJTOg0KKwkJaWYgKChwYWNrZXRbMF0gPT0gMHg0OCB8fCBwYWNr ZXRbMF0gPT0gMHg0OSkgJiYNCisJCSAgICBwYWNrZXRbMV0gPT0gMCAmJiBw YWNrZXRbMl0gPT0gMCkgew0KKwkJCS8qDQorCQkJICogZmlsdGVyaW5nIG91 dCBlcnJhdGljIG1vdmVtZW50IHdoaWNoIHdpbGwgY2F1c2UNCisJCQkgKiB1 bmV4cGVjdGVkIGN1cnNvciBqdW1waW5nIHRvIHRoZSB0b3AtbGVmdCBjb3Ju ZXINCisJCQkgKi8NCisJCQlwYWNrZXRbM10gJj0gMHhmMDsNCisJCX0NCisJ CWlmICghSVNfTUZNQyhwYWNrZXRbMF0pICYmIChwYWNrZXRbMF0gJiAoRlNQ X1BCMF9MQlROIHwNCisJCSAgICBGU1BfUEIwX1BIWV9CVE4pKSA9PSBGU1Bf UEIwX0xCVE4pIHsNCisJCQkvKg0KKwkJCSAqIE9uLXBhZCBjbGljayBpbiBT RkFDIG1vZGUgc2hvdWxkIGJlIGhhbmRsZWQNCisJCQkgKiBieSB1c2Vyc3Bh Y2UuICBPbi1wYWQgY2xpY2tzIGluIE1GTUMgbW9kZQ0KKwkJCSAqIGFyZSBy ZWFsIGNsaWNrcGFkIGNsaWNrcywgYW5kIG5vdCBpZ25vcmVkLg0KKwkJCSAq Lw0KKwkJCXBhY2tldFswXSAmPSB+RlNQX1BCMF9MQlROOw0KKwkJfQ0KIAkJ YWJzX3ggPSBHRVRfQUJTX1gocGFja2V0KTsNCiAJCWFic195ID0gR0VUX0FC U19ZKHBhY2tldCk7DQogDQotCQlpZiAocGFja2V0WzBdICYgRlNQX1BCMF9N Rk1DKSB7DQorCQlpZiAoYWJzX3ggPT0gMCB8fCBhYnNfeSA9PSAwKSB7DQog CQkJLyoNCi0JCQkgKiBNRk1DIHBhY2tldDogYXNzdW1lIHRoYXQgdGhlcmUg YXJlIHR3byBmaW5nZXJzIG9uDQotCQkJICogcGFkDQorCQkJICogd29ya2Fy b3VuZCBmb3IgYnVnZ3kgZmlybXdhcmUgd2hpY2ggc2VuZHMgemVybw0KKwkJ CSAqIGNvb3JkaW5hdGVzIGV2ZW4gaWYgdGhlcmUgaXMgZmluZ2VyIG9uIHBh ZA0KIAkJCSAqLw0KLQkJCWZncnMgPSAyOw0KLQ0KLQkJCS8qIE1GTUMgcGFj a2V0ICovDQotCQkJaWYgKHBhY2tldFswXSAmIEZTUF9QQjBfTUZNQ19GR1Iy KSB7DQotCQkJCS8qIDJuZCBmaW5nZXIgKi8NCi0JCQkJaWYgKGFkLT5sYXN0 X210X2ZnciA9PSAyKSB7DQotCQkJCQkvKg0KLQkJCQkJICogd29ya2Fyb3Vu ZCBmb3IgYnVnZ3kgZmlybXdhcmUNCi0JCQkJCSAqIHdoaWNoIGRvZXNuJ3Qg Y2xlYXIgTUZNQyBiaXQgaWYNCi0JCQkJCSAqIHRoZSAxc3QgZmluZ2VyIGlz IHVwDQotCQkJCQkgKi8NCi0JCQkJCWZncnMgPSAxOw0KLQkJCQkJZnNwX3Nl dF9zbG90KGRldiwgMCwgZmFsc2UsIDAsIDApOw0KLQkJCQl9DQotCQkJCWFk LT5sYXN0X210X2ZnciA9IDI7DQotDQotCQkJCWZzcF9zZXRfc2xvdChkZXYs IDEsIGZncnMgPT0gMiwgYWJzX3gsIGFic195KTsNCisJCQlpZiAoIUlTX01G TUMocGFja2V0WzBdKSkgew0KKwkJCQkvKiBkb24ndCByZXBvcnQgYmFkIG1v dmVtZW50ICovDQorCQkJCWZncnMgPSAwOw0KIAkJCX0gZWxzZSB7DQotCQkJ CS8qIDFzdCBmaW5nZXIgKi8NCi0JCQkJaWYgKGFkLT5sYXN0X210X2ZnciA9 PSAxKSB7DQotCQkJCQkvKg0KLQkJCQkJICogd29ya2Fyb3VuZCBmb3IgYnVn Z3kgZmlybXdhcmUNCi0JCQkJCSAqIHdoaWNoIGRvZXNuJ3QgY2xlYXIgTUZN QyBiaXQgaWYNCi0JCQkJCSAqIHRoZSAybmQgZmluZ2VyIGlzIHVwDQotCQkJ CQkgKi8NCi0JCQkJCWZncnMgPSAxOw0KLQkJCQkJZnNwX3NldF9zbG90KGRl diwgMSwgZmFsc2UsIDAsIDApOw0KLQkJCQl9DQotCQkJCWFkLT5sYXN0X210 X2ZnciA9IDE7DQotCQkJCWZzcF9zZXRfc2xvdChkZXYsIDAsIGZncnMgIT0g MCwgYWJzX3gsIGFic195KTsNCi0JCQl9DQotCQl9IGVsc2Ugew0KLQkJCS8q IFNGQUMgcGFja2V0ICovDQotCQkJaWYgKChwYWNrZXRbMF0gJiAoRlNQX1BC MF9MQlROfEZTUF9QQjBfUEhZX0JUTikpID09DQotCQkJCUZTUF9QQjBfTEJU Tikgew0KLQkJCQkvKiBPbi1wYWQgY2xpY2sgaW4gU0ZBQyBtb2RlIHNob3Vs ZCBiZSBoYW5kbGVkDQotCQkJCSAqIGJ5IHVzZXJzcGFjZS4gIE9uLXBhZCBj bGlja3MgaW4gTUZNQyBtb2RlDQotCQkJCSAqIGFyZSByZWFsIGNsaWNrcGFk IGNsaWNrcywgYW5kIG5vdCBpZ25vcmVkLg0KKwkJCQkvKg0KKwkJCQkgKiBm b3IgemVybyAybmQgTUZNQyBwYWNrZXQsIHVzZSBzYXZlZA0KKwkJCQkgKiBj b29yZGluYXRlIGluc3RlYWQNCiAJCQkJICovDQotCQkJCXBhY2tldFswXSAm PSB+RlNQX1BCMF9MQlROOw0KKwkJCQlhYnNfeCA9IGFkLT5tZm1jX3gxOw0K KwkJCQlhYnNfeSA9IGFkLT5tZm1jX3kxOw0KKwkJCQlmZ3JzID0gMjsNCiAJ CQl9DQotDQotCQkJLyogbm8gbXVsdGktZmluZ2VyIGluZm9ybWF0aW9uICov DQotCQkJYWQtPmxhc3RfbXRfZmdyID0gMDsNCi0NCi0JCQlpZiAoYWJzX3gg IT0gMCAmJiBhYnNfeSAhPSAwKQ0KKwkJfSBlbHNlIHsNCisJCQkvKiBmaW5n ZXIocykgZG93biAqLw0KKwkJCWlmICghSVNfTUZNQyhwYWNrZXRbMF0pKSB7 DQorCQkJCS8qIFNGQUMsIE1GTUMgQ1BCIHBhY2tldCAqLw0KIAkJCQlmZ3Jz ID0gMTsNCiANCi0JCQlmc3Bfc2V0X3Nsb3QoZGV2LCAwLCBmZ3JzID4gMCwg YWJzX3gsIGFic195KTsNCi0JCQlmc3Bfc2V0X3Nsb3QoZGV2LCAxLCBmYWxz ZSwgMCwgMCk7DQorCQkJCWZzcF9zZXRfc2xvdChkZXYsIDAsIHRydWUsIGFi c194LCBhYnNfeSk7DQorCQkJCWZzcF9zZXRfc2xvdChkZXYsIDEsIGZhbHNl LCAwLCAwKTsNCisJCQl9IGVsc2UgaWYgKElTX01GTUNfRkdSMShwYWNrZXRb MF0pKSB7DQorCQkJCS8qIE1GTUMgMXN0IGZpbmdlciAqLw0KKwkJCQlmZ3Jz ID0gMjsNCisNCisJCQkJLyoNCisJCQkJICogYWNjdW11bGF0ZSB0aGUgY29v cmRhaW50ZXMgYW5kIHByb2NlZWQgdG8NCisJCQkJICogdGhlIG5leHQgcnVu DQorCQkJCSAqLw0KKwkJCQlhZC0+bWZtY194MSA9IGFic194Ow0KKwkJCQlh ZC0+bWZtY195MSA9IGFic195Ow0KKwkJCX0gZWxzZSB7DQorCQkJCS8qIE1G TUMgMm5kIGZpbmdlciAqLw0KKwkJCQlmZ3JzID0gMjsNCisNCisJCQkJLyog cmVwb3J0IGJvdGggZmluZ2VycycgY29vcmRpbmF0ZSAqLw0KKwkJCQlmc3Bf c2V0X3Nsb3QoZGV2LCAxLCB0cnVlLCBhYnNfeCwgYWJzX3kpOw0KKwkJCQlh YnNfeCA9IGFkLT5tZm1jX3gxOw0KKwkJCQlhYnNfeSA9IGFkLT5tZm1jX3kx Ow0KKwkJCQlmc3Bfc2V0X3Nsb3QoZGV2LCAwLCB0cnVlLCBhYnNfeCwgYWJz X3kpOw0KKwkJCX0NCiAJCX0NCiAJCWlmIChmZ3JzID4gMCkgew0KIAkJCWlu cHV0X3JlcG9ydF9hYnMoZGV2LCBBQlNfWCwgYWJzX3gpOw0KQEAgLTkxNiw3 ICs5NTEsMTAgQEAgc3RhdGljIGludCBmc3BfYWN0aXZhdGVfcHJvdG9jb2wo c3RydWN0IHBzbW91c2UgKnBzbW91c2UpDQogCQkJCSAgRlNQX0JJVF9TV0Mx X0VOX0FCU18xRiB8DQogCQkJCSAgRlNQX0JJVF9TV0MxX0VOX0FCU18yRiB8 DQogCQkJCSAgRlNQX0JJVF9TV0MxX0VOX0ZVUF9PVVQgfA0KLQkJCQkgIEZT UF9CSVRfU1dDMV9FTl9BQlNfQ09OKSkgew0KKwkJCQkgIEZTUF9CSVRfU1dD MV9FTl9BQlNfQ09OIHwNCisJCQkJICBGU1BfQklUX1NXQzFfRU5fR0lEIHwN CisJCQkJICBGU1BfQklUX1NXQzFfR1NUX0dSUDAgfA0KKwkJCQkgIEZTUF9C SVRfU1dDMV9HU1RfR1JQMSkpIHsNCiAJCQlwc21vdXNlX2Vycihwc21vdXNl LA0KIAkJCQkgICAgIlVuYWJsZSB0byBlbmFibGUgYWJzb2x1dGUgY29vcmRp bmF0ZXMgb3V0cHV0LlxuIik7DQogCQkJcmV0dXJuIC1FSU87DQpAQCAtOTYz LDYgKzEwMDEsOSBAQCBzdGF0aWMgaW50IGZzcF9zZXRfaW5wdXRfcGFyYW1z KHN0cnVjdCBwc21vdXNlICpwc21vdXNlKQ0KIAkJaW5wdXRfbXRfaW5pdF9z bG90cyhkZXYsIDIpOw0KIAkJaW5wdXRfc2V0X2Fic19wYXJhbXMoZGV2LCBB QlNfTVRfUE9TSVRJT05fWCwgMCwgYWJzX3gsIDAsIDApOw0KIAkJaW5wdXRf c2V0X2Fic19wYXJhbXMoZGV2LCBBQlNfTVRfUE9TSVRJT05fWSwgMCwgYWJz X3ksIDAsIDApOw0KKw0KKwkJLyogZGV2aWNlIGdlbmVyYXRlZCBnZXN0dXJl IElEIGV2ZW50cyAqLw0KKwkJaW5wdXRfc2V0X2NhcGFiaWxpdHkoZGV2LCBF Vl9NU0MsIE1TQ19HRVNUVVJFKTsNCiAJfQ0KIA0KIAlyZXR1cm4gMDsNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L21vdXNlL3NlbnRlbGljLmggYi9k cml2ZXJzL2lucHV0L21vdXNlL3NlbnRlbGljLmgNCmluZGV4IGFhNjk3ZWMu LjhhNWNjNTkgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2lucHV0L21vdXNlL3Nl bnRlbGljLmgNCisrKyBiL2RyaXZlcnMvaW5wdXQvbW91c2Uvc2VudGVsaWMu aA0KQEAgLTkwLDYgKzkwLDExMiBAQA0KICNkZWZpbmUJRlNQX1BCMF9NVVNU X1NFVAlCSVQoMykNCiAjZGVmaW5lCUZTUF9QQjBfUEhZX0JUTgkJQklUKDQp DQogI2RlZmluZQlGU1BfUEIwX01GTUMJCUJJVCg1KQ0KKy8qIHBhY2tldCB0 eXBlLiBTZWUgRlNQX1BLVF9UWVBFX1hYWCAqLw0KKyNkZWZpbmUJRlNQX1BC MF9UWVBFCQkoQklUKDcpIHwgQklUKDYpKQ0KKyNkZWZpbmUJRlNQX1BCMF9U WVBFX1JFTAkoMCkNCisjZGVmaW5lCUZTUF9QQjBfVFlQRV9BQlMJQklUKDYp DQorI2RlZmluZQlGU1BfUEIwX1RZUEVfTk9USUZZCUJJVCg3KQ0KKyNkZWZp bmUJRlNQX1BCMF9UWVBFX0NVU1RPTQkoQklUKDcpIHwgQklUKDYpKQ0KKw0K Ky8qDQorICogcGh5c2ljYWwgY2xpY2twYWQgYnV0dG9uID0gTUZNQyBwYWNr ZXQgd2l0aG91dCBwaHlzaWNhbCBidXR0b24uDQorICovDQorI2RlZmluZQlJ U19QSFlfQ1BCKF9wYjBfKQlcDQorCSgoKF9wYjBfKSAmIChGU1BfUEIwX1RZ UEUgfCBGU1BfUEIwX01GTUMgfCBGU1BfUEIwX1BIWV9CVE4pKSA9PSBcDQor CShGU1BfUEIwX1RZUEVfQUJTIHwgRlNQX1BCMF9NRk1DKSkNCisvKg0KKyAq IHNpbmdsZS1maW5nZXIgYWJzb2x1dGUgY29vcmRpbmF0ZQ0KKyAqLw0KKyNk ZWZpbmUJSVNfU0ZBQyhfcGIwXykJCVwNCisJKCgoX3BiMF8pICYgKEZTUF9Q QjBfVFlQRSB8IEZTUF9QQjBfTUZNQykpID09IEZTUF9QQjBfVFlQRV9BQlMp DQorLyoNCisgKiBtdWx0aS1maW5nZXIgbXVsdGktY29vcmRpbmF0ZSAocGh5 c2ljYWwgY2xpY2twYWQgYnV0dG9uIGlzIGV4Y2x1ZGVkKQ0KKyAqLw0KKyNk ZWZpbmUJSVNfTUZNQyhfcGIwXykJCVwNCisJKCgoX3BiMF8pICYgKEZTUF9Q QjBfVFlQRSB8IEZTUF9QQjBfTUZNQyB8IEZTUF9QQjBfUEhZX0JUTikpID09 IFwNCisJKEZTUF9QQjBfVFlQRV9BQlMgfCBGU1BfUEIwX01GTUMgfCBGU1Bf UEIwX1BIWV9CVE4pKQ0KKyNkZWZpbmUJSVNfTUZNQ19GR1IxKF9wYjBfKQlc DQorCSgoKF9wYjBfKSAmIChGU1BfUEIwX1RZUEUgfCBGU1BfUEIwX01GTUMg fCBGU1BfUEIwX1BIWV9CVE4gfCBcDQorCQlGU1BfUEIwX01GTUNfRkdSMikp ID09IChGU1BfUEIwX1RZUEVfQUJTIHwgXA0KKwkJRlNQX1BCMF9NRk1DIHwg RlNQX1BCMF9QSFlfQlROKSkNCisjZGVmaW5lCUlTX01GTUNfRkdSMihfcGIw XykJXA0KKwkoKChfcGIwXykgJiAoRlNQX1BCMF9UWVBFIHwgRlNQX1BCMF9N Rk1DIHwgRlNQX1BCMF9QSFlfQlROIHwgXA0KKwkJRlNQX1BCMF9NRk1DX0ZH UjIpKSA9PSAoRlNQX1BCMF9UWVBFX0FCUyB8IFwNCisJCUZTUF9QQjBfTUZN QyB8IEZTUF9QQjBfUEhZX0JUTiB8IEZTUF9QQjBfTUZNQ19GR1IyKSkNCisN CisNCisvKiBub3RpZmljYXRpb24gbWVzc2FnZSB0eXBlcyAqLw0KKyNkZWZp bmUJRlNQX05PVElGWV9NU0dfR0lECSgweGJhKQ0KKyNkZWZpbmUJRlNQX05P VElGWV9NU0dfSFhfR1NUCSgweGMwKQ0KKw0KKy8qIGdlc3R1cmUgSURzICov DQorLyoqIEdJRCBmb3IgMkYgU3RyYWlnaHQgVXAgICAgICAgICAgICAgKi8N CisjZGVmaW5lCUZTUF9HSURfU1AxCQkoMHg4NikNCisjZGVmaW5lCUZTUF9H SURfU1BfVVAJCUZTUF9HSURfU1AxDQorDQorLyoqIEdJRCBmb3IgMkYgU3Ry YWlnaHQgRG93biAgICAgICAgICAgKi8NCisjZGVmaW5lCUZTUF9HSURfU1A1 CQkoMHg4MikNCisjZGVmaW5lCUZTUF9HSURfU1BfRE9XTgkJRlNQX0dJRF9T UDUNCisNCisvKiogR0lEIGZvciAyRiBTdHJhaWdodCBSaWdodCAgICAgICAg ICAqLw0KKyNkZWZpbmUJRlNQX0dJRF9TUDIJCSgweDgwKQ0KKyNkZWZpbmUJ RlNQX0dJRF9TUF9SSUdIVAlGU1BfR0lEX1NQMg0KKw0KKy8qKiBHSUQgZm9y IDJGIFN0cmFpZ2h0IExlZnQgICAgICAgICAgICovDQorI2RlZmluZQlGU1Bf R0lEX1NQNgkJKDB4ODQpDQorI2RlZmluZQlGU1BfR0lEX1NQX0xFRlQJCUZT UF9HSURfU1A2DQorDQorLyoqIEdJRCBmb3IgMkYgWm9vbSBJbiAgICAgICAg ICAgICAgICAgKi8NCisjZGVmaW5lCUZTUF9HSURfU0M2CQkoMHg4RikNCisj ZGVmaW5lCUZTUF9HSURfU0NfWk9PTV9JTglGU1BfR0lEX1NDNg0KKw0KKy8q KiBHSUQgZm9yIDJGIFpvb20gT3V0ICAgICAgICAgICAgICAgICovDQorI2Rl ZmluZQlGU1BfR0lEX1NDMwkJKDB4OEIpDQorI2RlZmluZQlGU1BfR0lEX1ND X1pPT01fT1VUCUZTUF9HSURfU0MzDQorDQorLyoqIEdJRCBmb3IgMkYgQ3Vy dmUgQ1cgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lCUZTUF9HSURfREMx CQkoMHhDNCkNCisjZGVmaW5lCUZTUF9HSURfRENfUk9UX0NXCUZTUF9HSURf REMxDQorDQorLyoqIEdJRCBmb3IgMkYgQ3VydmUgQ0NXICAgICAgICAgICAg ICAgKi8NCisjZGVmaW5lCUZTUF9HSURfREMyCQkoMHhDMCkNCisjZGVmaW5l CUZTUF9HSURfRENfUk9UX0NDVwlGU1BfR0lEX0RDMg0KKw0KKy8qKiBHSUQg Zm9yIDNGIFN0cmFpZ2h0IFVwICAgICAgICAgICAgICovDQorI2RlZmluZQlG U1BfR0lEX1RTNAkJKDB4MkUpDQorI2RlZmluZQlGU1BfR0lEX1RTX1VQCQlG U1BfR0lEX1RTNA0KKw0KKy8qKiBHSUQgZm9yIDNGIFN0cmFpZ2h0IERvd24g ICAgICAgICAgICovDQorI2RlZmluZQlGU1BfR0lEX1RTMgkJKDB4MkEpDQor I2RlZmluZQlGU1BfR0lEX1RTX0RPV04JCUZTUF9HSURfVFMyDQorDQorLyoq IEdJRCBmb3IgM0YgU3RyYWlnaHQgUmlnaHQgICAgICAgICAgKi8NCisjZGVm aW5lCUZTUF9HSURfVFMxCQkoMHgyOCkNCisjZGVmaW5lCUZTUF9HSURfVFNf UklHSFQJRlNQX0dJRF9UUzENCisNCisvKiogR0lEIGZvciAzRiBTdHJhaWdo dCBMZWZ0ICAgICAgICAgICAqLw0KKyNkZWZpbmUJRlNQX0dJRF9UUzMJCSgw eDJDKQ0KKyNkZWZpbmUJRlNQX0dJRF9UU19MRUZUCQlGU1BfR0lEX1RTMw0K Kw0KKy8qKiBHSUQgZm9yIDJGIENsaWNrICAgICAgICAgICAgICAgICAgICov DQorI2RlZmluZQlGU1BfR0lEX0RGMQkJKDB4MTEpDQorI2RlZmluZQlGU1Bf R0lEX0RGX0NMSUNLCUZTUF9HSURfREYxDQorDQorLyoqIEdJRCBmb3IgMkYg RG91YmxlIENsaWNrICAgICAgICAgICAgKi8NCisjZGVmaW5lCUZTUF9HSURf REYyCQkoMHgxMikNCisjZGVmaW5lCUZTUF9HSURfREZfREJMQ0xJQ0sJRlNQ X0dJRF9ERjINCisNCisvKiogR0lEIGZvciAzRiBDbGljayAgICAgICAgICAg ICAgICAgICAqLw0KKyNkZWZpbmUJRlNQX0dJRF9URjEJCSgweDE5KQ0KKyNk ZWZpbmUJRlNQX0dJRF9URl9DTElDSwlGU1BfR0lEX1RGMQ0KKw0KKy8qKiBH SUQgZm9yIDNGIERvdWJsZSBDbGljayAgICAgICAgICAgICovDQorI2RlZmlu ZQlGU1BfR0lEX1RGMgkJKDB4MUEpDQorI2RlZmluZQlGU1BfR0lEX1RGX0RC TENMSUNLCUZTUF9HSURfVEYyDQorDQorLyoqIEdJRCBmb3IgUGFsbSAgICAg ICAgICAgICAgICAgICAgICAgKi8NCisjZGVmaW5lCUZTUF9HSURfUE0xCQko MHgzOCkNCisjZGVmaW5lCUZTUF9HSURfUEFMTQkJRlNQX0dJRF9QTTENCiAN CiAvKiBoYXJkd2FyZSByZXZpc2lvbnMgKi8NCiAjZGVmaW5lCUZTUF9WRVJf U1RMMzg4OF9BNAkoMHhDMSkNCkBAIC0xMTYsNyArMjIyLDggQEAgc3RydWN0 IGZzcF9kYXRhIHsNCiANCiAJdW5zaWduZWQgY2hhcglsYXN0X3JlZzsJLyog TGFzdCByZWdpc3RlciB3ZSByZXF1ZXN0ZWQgcmVhZCBmcm9tICovDQogCXVu c2lnbmVkIGNoYXIJbGFzdF92YWw7DQotCXVuc2lnbmVkIGludAlsYXN0X210 X2ZncjsJLyogTGFzdCBzZWVuIGZpbmdlcihtdWx0aXRvdWNoKSAqLw0KKwl1 bnNpZ25lZCBzaG9ydAltZm1jX3gxOwkvKiBYIGNvb3JkaW5hdGUgZm9yIHRo ZSAxc3QgZmluZ2VyICovDQorCXVuc2lnbmVkIHNob3J0CW1mbWNfeTE7CS8q IFkgY29vcmRpbmF0ZSBmb3IgdGhlIDFzdCBmaW5nZXIgKi8NCiB9Ow0KIA0K ICNpZmRlZiBDT05GSUdfTU9VU0VfUFMyX1NFTlRFTElDDQo= ---1463809760-1296467175-1340938992=:19930--