From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-wi0-x22f.google.com ([2a00:1450:400c:c05::22f]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XOlx1-0006Dp-5O for barebox@lists.infradead.org; Tue, 02 Sep 2014 11:08:40 +0000 Received: by mail-wi0-f175.google.com with SMTP id ho1so14085150wib.8 for ; Tue, 02 Sep 2014 04:08:15 -0700 (PDT) From: =?UTF-8?q?Rapha=C3=ABl=20Poggi?= Date: Tue, 2 Sep 2014 13:07:58 +0200 Message-Id: <1409656080-19280-2-git-send-email-poggi.raph@gmail.com> In-Reply-To: <1409656080-19280-1-git-send-email-poggi.raph@gmail.com> References: <1409656080-19280-1-git-send-email-poggi.raph@gmail.com> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH v3 1/3] arm: mach-at91: move gpio.h to include folder To: barebox@lists.infradead.org Cc: =?UTF-8?q?Rapha=C3=ABl=20Poggi?= VGhpcyBjb21taXQgYWRkIGZ1bmN0aW9ucyBmcm9tIG1hY2gtYXQ5MS9ncGlvLmggaW4gaW5jbHVk ZS9tYWNoL2dwaW8uaC4KVGhpcyBhbGxvdyB0byB1c2UgdGhlc2UgZnVuY3Rpb25zIG91dHNpZGUg dGhlIG1hY2gtYXQ5MSBmb2xkZXIuCgpTaWduZWQtb2ZmLWJ5OiBSYXBoYcOrbCBQb2dnaSA8cG9n Z2kucmFwaEBnbWFpbC5jb20+Ci0tLQogYXJjaC9hcm0vbWFjaC1hdDkxL2dwaW8uYyAgICAgICAg ICAgICAgfCAgICAyICstCiBhcmNoL2FybS9tYWNoLWF0OTEvZ3Bpby5oICAgICAgICAgICAgICB8 ICAxNDggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogYXJjaC9hcm0vbWFjaC1hdDkx L2luY2x1ZGUvbWFjaC9ncGlvLmggfCAgMTQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAzIGZpbGVzIGNoYW5nZWQsIDE1MCBpbnNlcnRpb25zKCspLCAxNDkgZGVsZXRpb25zKC0p CiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vbWFjaC1hdDkxL2dwaW8uaAoKZGlmZiAtLWdp dCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ncGlvLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvZ3Bpby5j CmluZGV4IDRmMmM3NmUuLjQwMjYzNGIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9n cGlvLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2dwaW8uYwpAQCAtMzIsNyArMzIsNyBAQAog I2luY2x1ZGUgPGRyaXZlci5oPgogI2luY2x1ZGUgPGdldG9wdC5oPgogCi0jaW5jbHVkZSAiZ3Bp by5oIgorI2luY2x1ZGUgPG1hY2gvZ3Bpby5oPgogCiAjZGVmaW5lIE1BWF9HUElPX0JBTktTCQk1 CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ncGlvLmggYi9hcmNoL2FybS9tYWNo LWF0OTEvZ3Bpby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDA2MjhiLi4wMDAw MDAwCi0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ncGlvLmgKKysrIC9kZXYvbnVsbApAQCAtMSwx NDggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMS0yMDEyIEplYW4tQ2hyaXN0b3Bo ZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Ci0gKgotICogVW5kZXIg R1BMdjIgb25seQotICovCi0KLSNpZm5kZWYgX19BVDkxX0dQSU9fSF9fCi0jZGVmaW5lIF9fQVQ5 MV9HUElPX0hfXwotCi0jaWZuZGVmIF9fZ3Bpb19pbml0Ci0jZGVmaW5lIF9fZ3Bpb19pbml0Ci0j ZW5kaWYKLQotI2RlZmluZSBNQVhfTkJfR1BJT19QRVJfQkFOSwkzMgotCi1zdGF0aWMgaW5saW5l IHVuc2lnbmVkIHBpbl90b19iYW5rKHVuc2lnbmVkIHBpbikKLXsKLQlyZXR1cm4gcGluIC8gTUFY X05CX0dQSU9fUEVSX0JBTks7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgcGluX3RvX2Jh bmtfb2Zmc2V0KHVuc2lnbmVkIHBpbikKLXsKLQlyZXR1cm4gcGluICUgTUFYX05CX0dQSU9fUEVS X0JBTks7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgcGluX3RvX21hc2sodW5zaWduZWQg cGluKQotewotCXJldHVybiAxIDw8IHBpbl90b19iYW5rX29mZnNldChwaW4pOwotfQotCi1zdGF0 aWMgX19ncGlvX2luaXQgdm9pZCBhdDkxX211eF9kaXNhYmxlX2ludGVycnVwdCh2b2lkIF9faW9t ZW0gKnBpbywgdW5zaWduZWQgbWFzaykKLXsKLQlfX3Jhd193cml0ZWwobWFzaywgcGlvICsgUElP X0lEUik7Ci19Ci0KLXN0YXRpYyBfX2dwaW9faW5pdCB2b2lkIGF0OTFfbXV4X3NldF9wdWxsdXAo dm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2ssIGJvb2wgb24pCi17Ci0JX19yYXdfd3Jp dGVsKG1hc2ssIHBpbyArIChvbiA/IFBJT19QVUVSIDogUElPX1BVRFIpKTsKLX0KLQotc3RhdGlj IF9fZ3Bpb19pbml0IHZvaWQgYXQ5MV9tdXhfc2V0X211bHRpZHJpdmUodm9pZCBfX2lvbWVtICpw aW8sIHVuc2lnbmVkIG1hc2ssIGJvb2wgb24pCi17Ci0JX19yYXdfd3JpdGVsKG1hc2ssIHBpbyAr IChvbiA/IFBJT19NREVSIDogUElPX01ERFIpKTsKLX0KLQotc3RhdGljIF9fZ3Bpb19pbml0IHZv aWQgYXQ5MV9tdXhfc2V0X0FfcGVyaXBoKHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBtYXNr KQotewotCV9fcmF3X3dyaXRlbChtYXNrLCBwaW8gKyBQSU9fQVNSKTsKLX0KLQotc3RhdGljIF9f Z3Bpb19pbml0IHZvaWQgYXQ5MV9tdXhfc2V0X0JfcGVyaXBoKHZvaWQgX19pb21lbSAqcGlvLCB1 bnNpZ25lZCBtYXNrKQotewotCV9fcmF3X3dyaXRlbChtYXNrLCBwaW8gKyBQSU9fQlNSKTsKLX0K LQotc3RhdGljIF9fZ3Bpb19pbml0IHZvaWQgYXQ5MV9tdXhfcGlvM19zZXRfQV9wZXJpcGgodm9p ZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2spCi17Ci0KLQlfX3Jhd193cml0ZWwoX19yYXdf cmVhZGwocGlvICsgUElPX0FCQ0RTUjEpICYgfm1hc2ssCi0JCQkJCQlwaW8gKyBQSU9fQUJDRFNS MSk7Ci0JX19yYXdfd3JpdGVsKF9fcmF3X3JlYWRsKHBpbyArIFBJT19BQkNEU1IyKSAmIH5tYXNr LAotCQkJCQkJcGlvICsgUElPX0FCQ0RTUjIpOwotfQotCi1zdGF0aWMgX19ncGlvX2luaXQgdm9p ZCBhdDkxX211eF9waW8zX3NldF9CX3BlcmlwaCh2b2lkIF9faW9tZW0gKnBpbywgdW5zaWduZWQg bWFzaykKLXsKLQlfX3Jhd193cml0ZWwoX19yYXdfcmVhZGwocGlvICsgUElPX0FCQ0RTUjEpIHwg bWFzaywKLQkJCQkJCXBpbyArIFBJT19BQkNEU1IxKTsKLQlfX3Jhd193cml0ZWwoX19yYXdfcmVh ZGwocGlvICsgUElPX0FCQ0RTUjIpICYgfm1hc2ssCi0JCQkJCQlwaW8gKyBQSU9fQUJDRFNSMik7 Ci19Ci0KLXN0YXRpYyBfX2dwaW9faW5pdCB2b2lkIGF0OTFfbXV4X3BpbzNfc2V0X0NfcGVyaXBo KHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBtYXNrKQotewotCV9fcmF3X3dyaXRlbChfX3Jh d19yZWFkbChwaW8gKyBQSU9fQUJDRFNSMSkgJiB+bWFzaywgcGlvICsgUElPX0FCQ0RTUjEpOwot CV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChwaW8gKyBQSU9fQUJDRFNSMikgfCBtYXNrLCBwaW8g KyBQSU9fQUJDRFNSMik7Ci19Ci0KLXN0YXRpYyBfX2dwaW9faW5pdCB2b2lkIGF0OTFfbXV4X3Bp bzNfc2V0X0RfcGVyaXBoKHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBtYXNrKQotewotCV9f cmF3X3dyaXRlbChfX3Jhd19yZWFkbChwaW8gKyBQSU9fQUJDRFNSMSkgfCBtYXNrLCBwaW8gKyBQ SU9fQUJDRFNSMSk7Ci0JX19yYXdfd3JpdGVsKF9fcmF3X3JlYWRsKHBpbyArIFBJT19BQkNEU1Iy KSB8IG1hc2ssIHBpbyArIFBJT19BQkNEU1IyKTsKLX0KLQotc3RhdGljIF9fZ3Bpb19pbml0IHZv aWQgYXQ5MV9tdXhfc2V0X2RlZ2xpdGNoKHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBtYXNr LCBib29sIGlzX29uKQotewotCV9fcmF3X3dyaXRlbChtYXNrLCBwaW8gKyAoaXNfb24gPyBQSU9f SUZFUiA6IFBJT19JRkRSKSk7Ci19Ci0KLXN0YXRpYyBfX2dwaW9faW5pdCB2b2lkIGF0OTFfbXV4 X3BpbzNfc2V0X2RlZ2xpdGNoKHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBtYXNrLCBib29s IGlzX29uKQotewotCWlmIChpc19vbikKLQkJX19yYXdfd3JpdGVsKG1hc2ssIHBpbyArIFBJT19J RlNDRFIpOwotCWF0OTFfbXV4X3NldF9kZWdsaXRjaChwaW8sIG1hc2ssIGlzX29uKTsKLX0KLQot c3RhdGljIF9fZ3Bpb19pbml0IHZvaWQgYXQ5MV9tdXhfcGlvM19zZXRfZGVib3VuY2Uodm9pZCBf X2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2ssCi0JCQkJYm9vbCBpc19vbiwgdTMyIGRpdikKLXsK LQlpZiAoaXNfb24pIHsKLQkJX19yYXdfd3JpdGVsKG1hc2ssIHBpbyArIFBJT19JRlNDRVIpOwot CQlfX3Jhd193cml0ZWwoZGl2ICYgUElPX1NDRFJfRElWLCBwaW8gKyBQSU9fU0NEUik7Ci0JCV9f cmF3X3dyaXRlbChtYXNrLCBwaW8gKyBQSU9fSUZFUik7Ci0JfSBlbHNlIHsKLQkJX19yYXdfd3Jp dGVsKG1hc2ssIHBpbyArIFBJT19JRkRSKTsKLQl9Ci19Ci0KLXN0YXRpYyBfX2dwaW9faW5pdCB2 b2lkIGF0OTFfbXV4X3BpbzNfc2V0X3B1bGxkb3duKHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25l ZCBtYXNrLCBib29sIGlzX29uKQotewotCV9fcmF3X3dyaXRlbChtYXNrLCBwaW8gKyAoaXNfb24g PyBQSU9fUFBERVIgOiBQSU9fUFBERFIpKTsKLX0KLQotc3RhdGljIF9fZ3Bpb19pbml0IHZvaWQg YXQ5MV9tdXhfcGlvM19kaXNhYmxlX3NjaG1pdHRfdHJpZyh2b2lkIF9faW9tZW0gKnBpbywgdW5z aWduZWQgbWFzaykKLXsKLQlfX3Jhd193cml0ZWwoX19yYXdfcmVhZGwocGlvICsgUElPX1NDSE1J VFQpIHwgbWFzaywgcGlvICsgUElPX1NDSE1JVFQpOwotfQotCi1zdGF0aWMgX19ncGlvX2luaXQg dm9pZCBhdDkxX211eF9ncGlvX2Rpc2FibGUodm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1h c2spCi17Ci0JX19yYXdfd3JpdGVsKG1hc2ssIHBpbyArIFBJT19QRFIpOwotfQotCi1zdGF0aWMg X19ncGlvX2luaXQgdm9pZCBhdDkxX211eF9ncGlvX2VuYWJsZSh2b2lkIF9faW9tZW0gKnBpbywg dW5zaWduZWQgbWFzaykKLXsKLQlfX3Jhd193cml0ZWwobWFzaywgcGlvICsgUElPX1BFUik7Ci19 Ci0KLXN0YXRpYyBfX2dwaW9faW5pdCB2b2lkIGF0OTFfbXV4X2dwaW9faW5wdXQodm9pZCBfX2lv bWVtICpwaW8sIHVuc2lnbmVkIG1hc2ssIGJvb2wgaW5wdXQpCi17Ci0JX19yYXdfd3JpdGVsKG1h c2ssIHBpbyArIChpbnB1dCA/IFBJT19PRFIgOiBQSU9fT0VSKSk7Ci19Ci0KLXN0YXRpYyBfX2dw aW9faW5pdCB2b2lkIGF0OTFfbXV4X2dwaW9fc2V0KHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25l ZCBtYXNrLAotaW50IHZhbHVlKQotewotCV9fcmF3X3dyaXRlbChtYXNrLCBwaW8gKyAodmFsdWUg PyBQSU9fU09EUiA6IFBJT19DT0RSKSk7Ci19Ci0KLXN0YXRpYyBfX2dwaW9faW5pdCBpbnQgYXQ5 MV9tdXhfZ3Bpb19nZXQodm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2spCi17Ci0gICAg ICAgdTMyIHBkc3I7Ci0KLSAgICAgICBwZHNyID0gX19yYXdfcmVhZGwocGlvICsgUElPX1BEU1Ip OwotICAgICAgIHJldHVybiAocGRzciAmIG1hc2spICE9IDA7Ci19Ci0KLSNlbmRpZiAvKiBfX0FU OTFfR1BJT19IX18gKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9pbmNsdWRlL21h Y2gvZ3Bpby5oIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2luY2x1ZGUvbWFjaC9ncGlvLmgKaW5kZXgg MzA2YWI0Yy4uNmE2YjljZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2luY2x1ZGUv bWFjaC9ncGlvLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2luY2x1ZGUvbWFjaC9ncGlvLmgK QEAgLTEgKzEsMTUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTIgSmVhbi1DaHJp c3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKyAqCisgKiBV bmRlciBHUEx2MiBvbmx5CisgKi8KKworI2lmbmRlZiBfX0FUOTFfR1BJT19IX18KKyNkZWZpbmUg X19BVDkxX0dQSU9fSF9fCisKICNpbmNsdWRlIDxhc20tZ2VuZXJpYy9ncGlvLmg+CisKKyNpZm5k ZWYgX19ncGlvX2luaXQKKyNkZWZpbmUgX19ncGlvX2luaXQKKyNlbmRpZgorCisjZGVmaW5lIE1B WF9OQl9HUElPX1BFUl9CQU5LCTMyCisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgcGluX3RvX2Jh bmsodW5zaWduZWQgcGluKQoreworCXJldHVybiBwaW4gLyBNQVhfTkJfR1BJT19QRVJfQkFOSzsK K30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBwaW5fdG9fYmFua19vZmZzZXQodW5zaWduZWQg cGluKQoreworCXJldHVybiBwaW4gJSBNQVhfTkJfR1BJT19QRVJfQkFOSzsKK30KKworc3RhdGlj IGlubGluZSB1bnNpZ25lZCBwaW5fdG9fbWFzayh1bnNpZ25lZCBwaW4pCit7CisJcmV0dXJuIDEg PDwgcGluX3RvX2Jhbmtfb2Zmc2V0KHBpbik7Cit9CisKK3N0YXRpYyBfX2dwaW9faW5pdCB2b2lk IGF0OTFfbXV4X2Rpc2FibGVfaW50ZXJydXB0KHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBt YXNrKQoreworCV9fcmF3X3dyaXRlbChtYXNrLCBwaW8gKyBQSU9fSURSKTsKK30KKworc3RhdGlj IF9fZ3Bpb19pbml0IHZvaWQgYXQ5MV9tdXhfc2V0X3B1bGx1cCh2b2lkIF9faW9tZW0gKnBpbywg dW5zaWduZWQgbWFzaywgYm9vbCBvbikKK3sKKwlfX3Jhd193cml0ZWwobWFzaywgcGlvICsgKG9u ID8gUElPX1BVRVIgOiBQSU9fUFVEUikpOworfQorCitzdGF0aWMgX19ncGlvX2luaXQgdm9pZCBh dDkxX211eF9zZXRfbXVsdGlkcml2ZSh2b2lkIF9faW9tZW0gKnBpbywgdW5zaWduZWQgbWFzaywg Ym9vbCBvbikKK3sKKwlfX3Jhd193cml0ZWwobWFzaywgcGlvICsgKG9uID8gUElPX01ERVIgOiBQ SU9fTUREUikpOworfQorCitzdGF0aWMgX19ncGlvX2luaXQgdm9pZCBhdDkxX211eF9zZXRfQV9w ZXJpcGgodm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2spCit7CisJX19yYXdfd3JpdGVs KG1hc2ssIHBpbyArIFBJT19BU1IpOworfQorCitzdGF0aWMgX19ncGlvX2luaXQgdm9pZCBhdDkx X211eF9zZXRfQl9wZXJpcGgodm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2spCit7CisJ X19yYXdfd3JpdGVsKG1hc2ssIHBpbyArIFBJT19CU1IpOworfQorCitzdGF0aWMgX19ncGlvX2lu aXQgdm9pZCBhdDkxX211eF9waW8zX3NldF9BX3BlcmlwaCh2b2lkIF9faW9tZW0gKnBpbywgdW5z aWduZWQgbWFzaykKK3sKKworCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChwaW8gKyBQSU9fQUJD RFNSMSkgJiB+bWFzaywKKwkJCQkJCXBpbyArIFBJT19BQkNEU1IxKTsKKwlfX3Jhd193cml0ZWwo X19yYXdfcmVhZGwocGlvICsgUElPX0FCQ0RTUjIpICYgfm1hc2ssCisJCQkJCQlwaW8gKyBQSU9f QUJDRFNSMik7Cit9CisKK3N0YXRpYyBfX2dwaW9faW5pdCB2b2lkIGF0OTFfbXV4X3BpbzNfc2V0 X0JfcGVyaXBoKHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBtYXNrKQoreworCV9fcmF3X3dy aXRlbChfX3Jhd19yZWFkbChwaW8gKyBQSU9fQUJDRFNSMSkgfCBtYXNrLAorCQkJCQkJcGlvICsg UElPX0FCQ0RTUjEpOworCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChwaW8gKyBQSU9fQUJDRFNS MikgJiB+bWFzaywKKwkJCQkJCXBpbyArIFBJT19BQkNEU1IyKTsKK30KKworc3RhdGljIF9fZ3Bp b19pbml0IHZvaWQgYXQ5MV9tdXhfcGlvM19zZXRfQ19wZXJpcGgodm9pZCBfX2lvbWVtICpwaW8s IHVuc2lnbmVkIG1hc2spCit7CisJX19yYXdfd3JpdGVsKF9fcmF3X3JlYWRsKHBpbyArIFBJT19B QkNEU1IxKSAmIH5tYXNrLCBwaW8gKyBQSU9fQUJDRFNSMSk7CisJX19yYXdfd3JpdGVsKF9fcmF3 X3JlYWRsKHBpbyArIFBJT19BQkNEU1IyKSB8IG1hc2ssIHBpbyArIFBJT19BQkNEU1IyKTsKK30K Kworc3RhdGljIF9fZ3Bpb19pbml0IHZvaWQgYXQ5MV9tdXhfcGlvM19zZXRfRF9wZXJpcGgodm9p ZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2spCit7CisJX19yYXdfd3JpdGVsKF9fcmF3X3Jl YWRsKHBpbyArIFBJT19BQkNEU1IxKSB8IG1hc2ssIHBpbyArIFBJT19BQkNEU1IxKTsKKwlfX3Jh d193cml0ZWwoX19yYXdfcmVhZGwocGlvICsgUElPX0FCQ0RTUjIpIHwgbWFzaywgcGlvICsgUElP X0FCQ0RTUjIpOworfQorCitzdGF0aWMgX19ncGlvX2luaXQgdm9pZCBhdDkxX211eF9zZXRfZGVn bGl0Y2godm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2ssIGJvb2wgaXNfb24pCit7CisJ X19yYXdfd3JpdGVsKG1hc2ssIHBpbyArIChpc19vbiA/IFBJT19JRkVSIDogUElPX0lGRFIpKTsK K30KKworc3RhdGljIF9fZ3Bpb19pbml0IHZvaWQgYXQ5MV9tdXhfcGlvM19zZXRfZGVnbGl0Y2go dm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2ssIGJvb2wgaXNfb24pCit7CisJaWYgKGlz X29uKQorCQlfX3Jhd193cml0ZWwobWFzaywgcGlvICsgUElPX0lGU0NEUik7CisJYXQ5MV9tdXhf c2V0X2RlZ2xpdGNoKHBpbywgbWFzaywgaXNfb24pOworfQorCitzdGF0aWMgX19ncGlvX2luaXQg dm9pZCBhdDkxX211eF9waW8zX3NldF9kZWJvdW5jZSh2b2lkIF9faW9tZW0gKnBpbywgdW5zaWdu ZWQgbWFzaywKKwkJCQlib29sIGlzX29uLCB1MzIgZGl2KQoreworCWlmIChpc19vbikgeworCQlf X3Jhd193cml0ZWwobWFzaywgcGlvICsgUElPX0lGU0NFUik7CisJCV9fcmF3X3dyaXRlbChkaXYg JiBQSU9fU0NEUl9ESVYsIHBpbyArIFBJT19TQ0RSKTsKKwkJX19yYXdfd3JpdGVsKG1hc2ssIHBp byArIFBJT19JRkVSKTsKKwl9IGVsc2UgeworCQlfX3Jhd193cml0ZWwobWFzaywgcGlvICsgUElP X0lGRFIpOworCX0KK30KKworc3RhdGljIF9fZ3Bpb19pbml0IHZvaWQgYXQ5MV9tdXhfcGlvM19z ZXRfcHVsbGRvd24odm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2ssIGJvb2wgaXNfb24p Cit7CisJX19yYXdfd3JpdGVsKG1hc2ssIHBpbyArIChpc19vbiA/IFBJT19QUERFUiA6IFBJT19Q UEREUikpOworfQorCitzdGF0aWMgX19ncGlvX2luaXQgdm9pZCBhdDkxX211eF9waW8zX2Rpc2Fi bGVfc2NobWl0dF90cmlnKHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBtYXNrKQoreworCV9f cmF3X3dyaXRlbChfX3Jhd19yZWFkbChwaW8gKyBQSU9fU0NITUlUVCkgfCBtYXNrLCBwaW8gKyBQ SU9fU0NITUlUVCk7Cit9CisKK3N0YXRpYyBfX2dwaW9faW5pdCB2b2lkIGF0OTFfbXV4X2dwaW9f ZGlzYWJsZSh2b2lkIF9faW9tZW0gKnBpbywgdW5zaWduZWQgbWFzaykKK3sKKwlfX3Jhd193cml0 ZWwobWFzaywgcGlvICsgUElPX1BEUik7Cit9CisKK3N0YXRpYyBfX2dwaW9faW5pdCB2b2lkIGF0 OTFfbXV4X2dwaW9fZW5hYmxlKHZvaWQgX19pb21lbSAqcGlvLCB1bnNpZ25lZCBtYXNrKQorewor CV9fcmF3X3dyaXRlbChtYXNrLCBwaW8gKyBQSU9fUEVSKTsKK30KKworc3RhdGljIF9fZ3Bpb19p bml0IHZvaWQgYXQ5MV9tdXhfZ3Bpb19pbnB1dCh2b2lkIF9faW9tZW0gKnBpbywgdW5zaWduZWQg bWFzaywgYm9vbCBpbnB1dCkKK3sKKwlfX3Jhd193cml0ZWwobWFzaywgcGlvICsgKGlucHV0ID8g UElPX09EUiA6IFBJT19PRVIpKTsKK30KKworc3RhdGljIF9fZ3Bpb19pbml0IHZvaWQgYXQ5MV9t dXhfZ3Bpb19zZXQodm9pZCBfX2lvbWVtICpwaW8sIHVuc2lnbmVkIG1hc2ssCitpbnQgdmFsdWUp Cit7CisJX19yYXdfd3JpdGVsKG1hc2ssIHBpbyArICh2YWx1ZSA/IFBJT19TT0RSIDogUElPX0NP RFIpKTsKK30KKworc3RhdGljIF9fZ3Bpb19pbml0IGludCBhdDkxX211eF9ncGlvX2dldCh2b2lk IF9faW9tZW0gKnBpbywgdW5zaWduZWQgbWFzaykKK3sKKyAgICAgICB1MzIgcGRzcjsKKworICAg ICAgIHBkc3IgPSBfX3Jhd19yZWFkbChwaW8gKyBQSU9fUERTUik7CisgICAgICAgcmV0dXJuIChw ZHNyICYgbWFzaykgIT0gMDsKK30KKworI2VuZGlmIC8qIF9fQVQ5MV9HUElPX0hfXyAqLwotLSAK MS43LjkuNQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmJhcmVib3ggbWFpbGluZyBsaXN0CmJhcmVib3hAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2JhcmVib3gK