From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:6f8:1178:4:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XhR9N-0005kO-Bm for barebox@lists.infradead.org; Thu, 23 Oct 2014 22:46:34 +0000 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Fri, 24 Oct 2014 00:46:00 +0200 Message-Id: <1414104361-15956-3-git-send-email-u.kleine-koenig@pengutronix.de> In-Reply-To: <1414104361-15956-1-git-send-email-u.kleine-koenig@pengutronix.de> References: <1414104361-15956-1-git-send-email-u.kleine-koenig@pengutronix.de> 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 2/3] mxs: iomux-imx23/imx28: unify mode definition To: barebox@lists.infradead.org aS5NWDIzIGFuZCBpLk1YMjggaW9tdXggbW9kZSBkZWZpbml0aW9ucyBkaWZmZXIgZm9yIG5vIGdv b2QgcmVhc29uLgoKQ29tcGFyZWQgdG8gdGhlIHR3byBwcmV2aW91cyBkZWZpbml0aW9ucyB0aGlz IGludHJvZHVjZXMgYSBmZXcgZmxhZ3MKdGhhdCBhcmUgbm90IHVzZWQgeWV0IGJ1dCB0aGlzIGNo YW5nZXMgaW4gdGhlIG5leHQgY29tbWl0IHRvIGRldGVjdApicm9rZW4gZGVmaW5pdGlvbnMuCgpB cGFydCBmcm9tIGRpZmZlcmVudCBjb25zdGFudHMgdGhpcyBjb21taXQgaW50ZW5kcyB0byBiZSBh IG5vLW9wLiBJZgp0aGVyZSBhcmUgY2hhbmdlcyBpbiB0aGUgcmVnaXN0ZXIgdmFsdWVzIHRoZXJl IGlzIGVpdGhlciBhIGJ1ZyBpbiB0aGlzCnBhdGNoIG9yIHRoZSB1c2VkIG1vZGUgaXMgYnJva2Vu IChlLmcuIGEgcHVsbHVwIHZhbHVlIGlzIGRlZmluZWQgZm9yIGEKcGluIHRoYXQgaGFzIGEgYml0 a2VlcGVyKS4KClNpZ25lZC1vZmYtYnk6IFV3ZSBLbGVpbmUtS8O2bmlnIDx1LmtsZWluZS1rb2Vu aWdAcGVuZ3V0cm9uaXguZGU+Ci0tLQogYXJjaC9hcm0vbWFjaC1teHMvaW5jbHVkZS9tYWNoL2lv bXV4LWlteDIzLmggfCA2MSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGFyY2gvYXJtL21hY2gtbXhz L2luY2x1ZGUvbWFjaC9pb211eC1pbXgyOC5oIHwgNjAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGFy Y2gvYXJtL21hY2gtbXhzL2luY2x1ZGUvbWFjaC9pb211eC5oICAgICAgIHwgODIgKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCAx MjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teHMvaW5jbHVkZS9t YWNoL2lvbXV4LWlteDIzLmggYi9hcmNoL2FybS9tYWNoLW14cy9pbmNsdWRlL21hY2gvaW9tdXgt aW14MjMuaAppbmRleCAzOWQ2OTgxMGVmMDguLjFlMjI1ZjhmYzUxYiAxMDA2NDQKLS0tIGEvYXJj aC9hcm0vbWFjaC1teHMvaW5jbHVkZS9tYWNoL2lvbXV4LWlteDIzLmgKKysrIGIvYXJjaC9hcm0v bWFjaC1teHMvaW5jbHVkZS9tYWNoL2lvbXV4LWlteDIzLmgKQEAgLTksNzIgKzksMTEgQEAKICAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCiAgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCiAgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgotICoKICAqLwogCi0vKiAzMzIyMjIyMjIyMjIxMTExMTExMTExCi0gKiAxMDk4NzY1 NDMyMTA5ODc2NTQzMjEwOTg3NjU0MzIxMAotICogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeXl5fIFJlZ2lzdGVyIE51bWJlcgotICogICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5f X19fIEJpdCBvZmZzZXQKLSAqICAgICAgICAgICAgICAgICAgICAgICAgXl5fX19fX19fXyBGdW5j dGlvbgotICogICAgICAgICAgICAgICAgICAgICAgIF5fX19fX19fX19fIERyaXZlIHN0cmVuZ3Ro IGZlYXR1cmUgcHJlc2VudAotICogICAgICAgICAgICAgICAgICAgICAgXl9fX19fX19fX19fIFB1 bGwgdXAgcHJlc2VudAotICogICAgICAgICAgICAgICAgICAgIF5eX19fX19fX19fX19fIERyaXZl IHN0cmVuZ3RoIHNldHRpbmcKLSAqICAgICAgICAgICAgICAgICAgIF5fX19fX19fX19fX19fXyBQ dWxsIHVwIC8gYml0IGtlZXBlciBzZXR0aW5nCi0gKiAgICAgICAgICAgICAgICAgIF5fX19fX19f X19fX19fX18gVm9sdGFnZSBzZWxlY3QgcHJlc2VudAotICogICAgICAgICAgICAgICAgIF5fX19f X19fX19fX19fX19fIFZvbHRhZ2Ugc2VsZWN0aW9uCi0gKiAgICAgICAgICAgICBeX19fX19fX19f X19fX19fX19fX18gZGlyZWN0aW9uIGlmIGVuYWJsZWQgYXMgR1BJTyAoMSA9IG91dHB1dCkKLSAq ICAgICAgICAgICAgXl9fX19fX19fX19fX19fX19fX19fXyBpbml0aWFsIG91dHB1dCB2YWx1ZSBp ZiBlbmFibGVkIGFzIEdQSU8gYW5kIGNvbmZpZ3VyZWQgYXMgb3V0cHV0Ci0gKiAgICAgICAgICAg Xl9fX19fX19fX19fX19fX19fX19fX18gQml0IGtlZXBlciBwcmVzZW50Ci0gKi8KICNpZm5kZWYg X19BU01fTUFDSF9JT01VWF9NWDIzX0gKICNkZWZpbmUgX19BU01fTUFDSF9JT01VWF9NWDIzX0gK IAotLyogY29udHJvbCBwYWQncyBmdW5jdGlvbiAqLwotI2RlZmluZSBGQklUX1NISUZUICgzKQot I2RlZmluZSBQT1JURihiYW5rLGJpdCkJKCgoYml0KSA8PCBGQklUX1NISUZUKSB8IChiYW5rKSkK LSNkZWZpbmUgR0VUX1BPUlRGKHgpICgoeCkgJiAweDcpCi0jZGVmaW5lIEdFVF9GQklUUE9TKHgp ICgoKHgpID4+IEZCSVRfU0hJRlQpICYgMHhmKQotI2RlZmluZSBHRVRfR1BJT19OTyh4KSAoKEdF VF9QT1JURih4KSA8PCA0KSArIEdFVF9GQklUUE9TKG0pKQotI2RlZmluZSBGVU5DX1NISUZUIDcK LSNkZWZpbmUgRlVOQyh4KQkoKHgpIDw8IEZVTkNfU0hJRlQpCi0jZGVmaW5lIEdFVF9GVU5DKHgp ICgoKHgpID4+IEZVTkNfU0hJRlQpICYgMykKLSNkZWZpbmUgSVNfR1BJTyAoMykKLQotLyogY29u dHJvbCBwYWQncyBHUElPIGZlYXR1cmUgaWYgZW5hYmxlZCAqLwotI2RlZmluZSBHUElPX09VVCAo MSA8PCAxOSkKLSNkZWZpbmUgR1BJT19WQUxVRSh4KSAoKHgpIDw8IDIwKQotI2RlZmluZSBHUElP X0lOICgwIDw8IDE5KQotI2RlZmluZSBHRVRfR1BJT0RJUih4KSAoISEoKHgpICYgKDEgPDwgMTkp KSkKLSNkZWZpbmUgR0VUX0dQSU9WQUwoeCkgKCEhKCh4KSAmICgxIDw8IDIwKSkpCi0KLS8qIGNv bnRyb2wgcGFkJ3MgZHJpdmUgc3RyZW5ndGggKi8KLSNkZWZpbmUgU0UgKDEgPDwgOSkKLSNkZWZp bmUgU0VfUFJFU0VOVCh4KSAoISEoKHgpICYgU0UpKQotI2RlZmluZSBTVFJFTkdUSCh4KSAoKHgp IDw8IDExKQotI2RlZmluZSBTNE1BIDAJLyogdXNlZCB0byBkZWZpbmUgYSA0IG1BIGRyaXZlIHN0 cmVuZ3RoICovCi0jZGVmaW5lIFM4TUEgMQkvKiB1c2VkIHRvIGRlZmluZSBhIDggbUEgZHJpdmUg c3RyZW5ndGggKi8KLSNkZWZpbmUgUzEyTUEgMgkvKiB1c2VkIHRvIGRlZmluZSBhIDEyIG1BIGRy aXZlIHN0cmVuZ3RoICovCi0jZGVmaW5lIFMxNk1BIDMJLyogdXNlZCB0byBkZWZpbmUgYSAxNiBt QSBkcml2ZSBzdHJlbmd0aCwgbm90IGFsbCBwYWRzIGNhbiBkcml2ZSB0aGlzIGN1cnJlbnQhICov Ci0jZGVmaW5lIEdFVF9TVFJFTkdUSCh4KSAoKCh4KSA+PiAxMSkgJiAweDMpCi0KLS8qIGNvbnRy b2wgcGFkJ3MgcHVsbCB1cCAvIGJpdCBrZWVwZXIgZmVhdHVyZSAqLwotI2RlZmluZSBQRSAoMSA8 PCAxMCkKLSNkZWZpbmUgQksgKDEgPDwgMjEpCi0jZGVmaW5lIFBFX1BSRVNFTlQoeCkgKCEhKCh4 KSAmIFBFKSkKLSNkZWZpbmUgQktfUFJFU0VOVCh4KSAoISEoKHgpICYgQkspKQotI2RlZmluZSBQ VUxMVVAoeCkgKCh4KSA8PCAxMykKLSNkZWZpbmUgQklUS0VFUEVSKHgpICgoeCkgPDwgMTQpCi0j ZGVmaW5lIEdFVF9QVUxMVVAoeCkgKCEhKCh4KSAmICgxIDw8IDEzKSkpCi0jZGVmaW5lIEdFVF9C SVRLRUVQRVIoeCkgKCEhKCh4KSAmIEJJVEtFRVBFUigxKSkpCi0KLS8qIGNvbnRyb2wgcGFkJ3Mg dm9sdGFnZSBmZWF0dXJlICovCi0jZGVmaW5lIFZFICgxIDw8IDE0KQotI2RlZmluZSBWRV9QUkVT RU5UKHgpICghISgoeCkgJiBWRSkpCi0jZGVmaW5lIFZFXzFfOFYgKDAgPDwgMTUpCi0jZGVmaW5l IFZFXzJfNVYgKDAgPDwgMTUpIC8qIGRvbid0IGFzayBteSB3aHksIFJURk0gKi8KLSNkZWZpbmUg R0VUX1ZPTFRBR0UoeCkgKCEhKCh4KSAmICgxIDw8IDE1KSkpCi0KIC8qIEJhbmsgMCwgcGlucyAw IC4uLiAxNSwgR1BJTyBwaW5zIDAgLi4uIDE1ICovCiAjZGVmaW5lIEdQTUlfRDE1CQkoRlVOQygw KSB8IFBPUlRGKDAsIDE1KSB8IFNFIHwgUEUpCiAjZGVmaW5lIEdQTUlfRDE1X0FVQVJUMl9UWAko RlVOQygxKSB8IFBPUlRGKDAsIDE1KSB8IFNFIHwgUEUpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9t YWNoLW14cy9pbmNsdWRlL21hY2gvaW9tdXgtaW14MjguaCBiL2FyY2gvYXJtL21hY2gtbXhzL2lu Y2x1ZGUvbWFjaC9pb211eC1pbXgyOC5oCmluZGV4IGM5YWI4YTkzYWVhMi4uNjExOWYzY2FmOThk IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14cy9pbmNsdWRlL21hY2gvaW9tdXgtaW14Mjgu aAorKysgYi9hcmNoL2FybS9tYWNoLW14cy9pbmNsdWRlL21hY2gvaW9tdXgtaW14MjguaApAQCAt MTAsNjkgKzEwLDkgQEAKICAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCiAgKi8KIAotLyogMzMyMjIyMjIyMjIyMTExMTExMTExMQotICogMTA5ODc2NTQzMjEw OTg3NjU0MzIxMDk4NzY1NDMyMTAKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5e XyBCaXQgb2Zmc2V0Ci0gKiAgICAgICAgICAgICAgICAgICAgICAgICBeXl5fX19fX18gUmVnaXN0 ZXIgTnVtYmVyCi0gKiAgICAgICAgICAgICAgICAgICAgICAgXl5fX19fX19fX18gRnVuY3Rpb24K LSAqICAgICAgICAgICAgICAgICAgICAgIF5fX19fX19fX19fXyBEcml2ZSBzdHJlbmd0aCBmZWF0 dXJlIHByZXNlbnQKLSAqICAgICAgICAgICAgICAgICAgICAgXl9fX19fX19fX19fXyBQdWxsIHVw IHByZXNlbnQKLSAqICAgICAgICAgICAgICAgICAgIF5eX19fX19fX19fX19fXyBEcml2ZSBzdHJl bmd0aCBzZXR0aW5nCi0gKiAgICAgICAgICAgICAgICAgIF5fX19fX19fX19fX19fX18gUHVsbCB1 cCAvIGJpdCBrZWVwZXIgc2V0dGluZwotICogICAgICAgICAgICAgICAgIF5fX19fX19fX19fX19f X19fIFZvbHRhZ2Ugc2VsZWN0IHByZXNlbnQKLSAqICAgICAgICAgICAgICAgIF5fX19fX19fX19f X19fX19fXyBWb2x0YWdlIHNlbGVjdGlvbgotICogICAgICAgICAgICBeX19fX19fX19fX19fX19f X19fX19fIGRpcmVjdGlvbiBpZiBlbmFibGVkIGFzIEdQSU8gKDEgPSBvdXRwdXQpCi0gKiAgICAg ICAgICAgXl9fX19fX19fX19fX19fX19fX19fX18gaW5pdGlhbCBvdXRwdXQgdmFsdWUgaWYgZW5h YmxlZCBhcyBHUElPCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGNv bmZpZ3VyZWQgYXMgb3V0cHV0Ci0gKiAgICAgICAgICBeX19fX19fX19fX19fX19fX19fX19fX18g Qml0IGtlZXBlciBwcmVzZW50Ci0gKi8KICNpZm5kZWYgX19NQUNIX0lPTVVYX0lNWDI4X0gKICNk ZWZpbmUgX19NQUNIX0lPTVVYX0lNWDI4X0gKIAotLyogY29udHJvbCBwYWQncyBmdW5jdGlvbiAq LwotI2RlZmluZSBGQkFOS19TSElGVCAoNSkKLSNkZWZpbmUgUE9SVEYoYmFuayxiaXQpCSgoKGJh bmspIDw8IEZCQU5LX1NISUZUKSB8IChiaXQpKQotI2RlZmluZSBHRVRfR1BJT19OTyh4KSAoKHgp ICYgMHhmZikKLSNkZWZpbmUgRlVOQ19TSElGVCA4Ci0jZGVmaW5lIEZVTkMoeCkJKCh4KSA8PCBG VU5DX1NISUZUKQotI2RlZmluZSBHRVRfRlVOQyh4KSAoKCh4KSA+PiBGVU5DX1NISUZUKSAmIDMp Ci0jZGVmaW5lIElTX0dQSU8gKDMpCi0KLS8qIGNvbnRyb2wgcGFkJ3MgR1BJTyBmZWF0dXJlIGlm IGVuYWJsZWQgKi8KLSNkZWZpbmUgR1BJT19PVVQgKDEgPDwgMjApCi0jZGVmaW5lIEdQSU9fVkFM VUUoeCkgKCh4KSA8PCAyMSkKLSNkZWZpbmUgR1BJT19JTiAoMCA8PCAyMCkKLSNkZWZpbmUgR0VU X0dQSU9ESVIoeCkgKCEhKCh4KSAmICgxIDw8IDIwKSkpCi0jZGVmaW5lIEdFVF9HUElPVkFMKHgp ICghISgoeCkgJiAoMSA8PCAyMSkpKQotCi0vKiBjb250cm9sIHBhZCdzIGRyaXZlIHN0cmVuZ3Ro ICovCi0jZGVmaW5lIFNFICgxIDw8IDEwKQotI2RlZmluZSBTRV9QUkVTRU5UKHgpICghISgoeCkg JiBTRSkpCi0jZGVmaW5lIFNUUkVOR1RIKHgpICgoeCkgPDwgMTIpCi0jZGVmaW5lIFM0TUEgMAkv KiB1c2VkIHRvIGRlZmluZSBhIDQgbUEgZHJpdmUgc3RyZW5ndGggKi8KLSNkZWZpbmUgUzhNQSAx CS8qIHVzZWQgdG8gZGVmaW5lIGEgOCBtQSBkcml2ZSBzdHJlbmd0aCAqLwotI2RlZmluZSBTMTJN QSAyCS8qIHVzZWQgdG8gZGVmaW5lIGEgMTIgbUEgZHJpdmUgc3RyZW5ndGggKi8KLSNkZWZpbmUg UzE2TUEgMwkvKiB1c2VkIHRvIGRlZmluZSBhIDE2IG1BIGRyaXZlIHN0cmVuZ3RoLAotCQkgICBu b3QgYWxsIHBhZHMgY2FuIGRyaXZlIHRoaXMgY3VycmVudCEgKi8KLSNkZWZpbmUgR0VUX1NUUkVO R1RIKHgpICgoKHgpID4+IDEyKSAmIDB4MykKLQotLyogY29udHJvbCBwYWQncyBwdWxsIHVwIC8g Yml0IGtlZXBlciBmZWF0dXJlICovCi0jZGVmaW5lIFBFICgxIDw8IDExKQotI2RlZmluZSBCSyAo MSA8PCAyMikKLSNkZWZpbmUgUEVfUFJFU0VOVCh4KSAoISEoKHgpICYgUEUpKQotI2RlZmluZSBC S19QUkVTRU5UKHgpICghISgoeCkgJiBCSykpCi0jZGVmaW5lIFBVTExVUCh4KSAoKHgpIDw8IDE0 KQotI2RlZmluZSBCSVRLRUVQRVIoeCkgKCh4KSA8PCAxNCkKLSNkZWZpbmUgR0VUX1BVTExVUCh4 KSAoISEoKHgpICYgUFVMTFVQKDEpKSkKLSNkZWZpbmUgR0VUX0JJVEtFRVBFUih4KSAoISEoKHgp ICYgQklUS0VFUEVSKDEpKSkKLQotLyogY29udHJvbCBwYWQncyB2b2x0YWdlIGZlYXR1cmUgKi8K LSNkZWZpbmUgVkUgKDEgPDwgMTUpCi0jZGVmaW5lIFZFX1BSRVNFTlQoeCkgKCEhKCh4KSAmIFZF KSkKLSNkZWZpbmUgVkVfMV84ViAoMCA8PCAxNikKLSNkZWZpbmUgVkVfM18zViAoMSA8PCAxNikK LSNkZWZpbmUgR0VUX1ZPTFRBR0UoeCkgKCEhKCh4KSAmICgxIDw8IDE2KSkpCi0KIC8qIEJhbmsg MCwgR1BJTyBwaW5zIDAgLi4uIDMxICovCiAjZGVmaW5lIEdQTUlfUkVTRVROCQkoRlVOQygwKSB8 IFBPUlRGKDAsIDI4KSB8IFNFIHwgVkUgfCBQRSkKICNkZWZpbmUgR1BNSV9SRVNFVE5fU1NQM19D TUQJKEZVTkMoMSkgfCBQT1JURigwLCAyOCkgfCBTRSB8IFZFIHwgUEUpCmRpZmYgLS1naXQgYS9h cmNoL2FybS9tYWNoLW14cy9pbmNsdWRlL21hY2gvaW9tdXguaCBiL2FyY2gvYXJtL21hY2gtbXhz L2luY2x1ZGUvbWFjaC9pb211eC5oCmluZGV4IDg0NDk2YzZiODQ5Ny4uYTY0NzQzOTMwM2ZjIDEw MDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW14cy9pbmNsdWRlL21hY2gvaW9tdXguaAorKysgYi9h cmNoL2FybS9tYWNoLW14cy9pbmNsdWRlL21hY2gvaW9tdXguaApAQCAtMTgsMTAgKzE4LDkyIEBA CiAKICNpbmNsdWRlIDx0eXBlcy5oPgogCisvKgorICogVGhlIG11eGFibGUgcGlucyBvbiBpLk1Y MjMgYXJlIG9yZ2FuaXplZCBpbiA0IGJhbmtzLiBPbiBpLk1YMjggdGhlcmUgYXJlIDcKKyAqIGJh bmtzLiBFYWNoIGJhbmsgaGFzIHVwIHRvIDMyIHBpbnMgZWFjaC4gRnVydGhlcm1vcmUgZm9yIGVh Y2ggcGluIHNvbWUgb2YgdGhlCisgKiBmb2xsb3dpbmcgcHJvcGVydGllcyBjYW4gYmUgY29uZmln dXJlZDoKKyAqICAtIGRyaXZlIHN0cmVuZ3RoOiA0IG1BLCA4IG1BLCAxMiBtQSBvciAxNiBtQQor ICogIC0gcHVsbCB1cCBlbmFibGVkIG9yIGJpdCBrZWVwZXIgZW5hYmxlZCAoYSBwaW4gY2Fubm90 IGhhdmUgYm90aCkKKyAqICAtIHZvbHRhZ2U6IDEuOCBWLCAyLjUgViAoaS5NWDIzIG9ubHkpIG9y IDMuMyBWIChpLk1YMjggb25seSkKKyAqICAtIGZ1bmN0aW9uOiAwLi4zLCB3aXRoIDMgYmVpbmcg dGhlIEdQSU8gZnVuY3Rpb25hbGl0eQorICoKKyAqIFNvIGEgY29uZmlndXJhdGlvbiBmb3IgYSBn aXZlbiBwaW4gY2FuIGJlIGRlc2NyaWJlZCBpbiBhbiB1bnNpZ25lZCBpbnRlZ2VyIG9mCisgKiBs ZW5ndGggMzI6CisgKiAgLSBbIDQ6IDBdIGJhbmsgcGluCisgKiAgLSBbIDc6IDVdIGJhbmsKKyAq ICAtIFsgICAgOF0gMSBpZmYgcGluIGhhcyBhIHN3aXRjaGFibGUgcHVsbCB1cAorICogIC0gWyAg ICA5XSAxIGlmZiBwaW4gaGFzIGEgc3dpdGNoYWJsZSBiaXQga2VlcGVyCisgKiAgLSBbICAgMTBd IDEgaWZmIHBpbiBoYXMgc3dpdGNoYWJsZSBkcml2ZSBzdHJlbmd0aAorICogIC0gWyAgIDExXSAx IGlmZiBwaW4gaGFzIHN3aXRjaGFibGUgdm9sdGFnZQorICogIC0gWzEzOjEyXSBmdW5jdGlvbgor ICogIC0gWyAgIDE0XSAxIGZvciBlbmFibGVkIHB1bGwgdXAKKyAqICAtIFsgICAxNV0gMSBpZmYg WzE0XSBpcyBhIHZhbGlkIHB1bGwgdXAgdmFsdWUKKyAqICAtIFsgICAxNl0gMSBmb3IgZW5hYmxl ZCBiaXQga2VlcGVyCisgKiAgLSBbICAgMTddIDEgaWZmIFsxNl0gaXMgYSB2YWxpZCBiaXQga2Vl cGVyIHZhbHVlCisgKiAgLSBbMTk6MThdIHZhbHVlIGZvciBkcml2ZSBzdHJlbmd0aCBpIC0+IGkg KiA0IG1BCisgKiAgLSBbICAgMjBdIDEgaWZmIFsxOToxOF0gaXMgdmFsaWQKKyAqICAtIFsgICAy MV0gMCBmb3IgMS44IFYsIDEgZm9yIDIuNSBWIHJlc3AuIDMuMyBWCisgKiAgLSBbICAgMjJdIDEg aWZmIFsyMV0gaXMgdmFsaWQKKyAqICAtIFsgICAyM10gMSBpZmYgY29uZmlndXJlIGFzIEdQSU8g b3V0IGlmIGZ1bmN0aW9uID09IDMgKGkuZS4gR1BJTykKKyAqICAtIFsgICAyNF0gaW5pdGlhbCB2 YWx1ZSBpZmYgY29uZmlndXJlZCBhcyBHUElPIG91dAorICogIC0gWyAgIDI1XSBlcnJvcgorICov CisKKyNkZWZpbmUgQkFOS1BJTihwKQkoKChwKSAmIDMxKSB8IEVSUk9SKChwKSAmIH4zMSkpCisj ZGVmaW5lIEJBTksoYikJCSgoKChiKSAmIDcpIDw8IDUpIHwgKEVSUk9SKChiKSAmIH43KSkpCisj ZGVmaW5lIFBFCQkoMSA8PCA4KQorI2RlZmluZSBCSwkJKDEgPDwgOSkKKyNkZWZpbmUgU0UJCSgx IDw8IDEwKQorI2RlZmluZSBWRQkJKDEgPDwgMTEpCisjZGVmaW5lIEZVTkMoZikJCSgoKChmKSAm IDMpIDw8IDEyKSB8IChFUlJPUigoZikgJiB+MykpKQorI2RlZmluZSBQVUxMVVAocCkJKCgoKHAp ICYgMSkgPDwgMTQpIHwgUEVWQUxJRCB8IEVSUk9SKChwKSAmIH4xKSkKKyNkZWZpbmUgUEVWQUxJ RAkJKDEgPDwgMTUpCisjZGVmaW5lIEJJVEtFRVBFUihiKQkoKCgoYikgJiAxKSA8PCAxNikgfCBC S1ZBTElEIHwgRVJST1IoKGIpICYgfjEpKQorI2RlZmluZSBCS1ZBTElECQkoMSA8PCAxNykKKyNk ZWZpbmUgU1RSRU5HVEgocykJKCgoKHMpICYgMykgPDwgMTgpIHwgU0VWQUxJRCB8IEVSUk9SKChz KSAmIH4zKSkKKyNkZWZpbmUgUzRNQQkJMAorI2RlZmluZSBTOE1BCQkxCisjZGVmaW5lIFMxMk1B CQkyCisjZGVmaW5lIFMxNk1BCQkzCisjZGVmaW5lIFNFVkFMSUQJCSgxIDw8IDIwKQorI2RlZmlu ZSBWT0xUQUdFKHYpCSgoKCh2KSAmIDEpIDw8IDIxKSB8IFZFVkFMSUQgfCBFUlJPUigodikgJiB+ MSkpCisjZGVmaW5lIFZFXzFfOFYJCVZPTFRBR0UoMCkKKyNkZWZpbmUgVkVWQUxJRAkJKDEgPDwg MjIpCisKKyNkZWZpbmUgR1BJT19PVVQJKDEgPDwgMjMpCisjZGVmaW5lIEdQSU9fSU4JCSgwIDw8 IDIzKQorI2RlZmluZSBHUElPX1ZBTFVFKHYpCSgoKCh2KSAmIDEpIDw8IDI0KSB8IEVSUk9SKCh2 KSAmIH4xKSkKKworI2RlZmluZSBFUlJPUih4KQkoISEoeCkgPDwgMjUpCisKKyNkZWZpbmUgR0VU X0dQSU9fTk8obSkJKChtKSAmIDB4ZmYpCisjZGVmaW5lIEdFVF9GVU5DKG0pCSgoKG0pID4+IDEy KSAmIDMpCisjZGVmaW5lIFBFX1BSRVNFTlQobSkJKChtKSAmIFBFKQorI2RlZmluZSBHRVRfUFVM TFVQKG0pCSgoKG0pID4+IDE0KSAmIDEpCisjZGVmaW5lIEJLX1BSRVNFTlQobSkJKChtKSAmIEJL KQorI2RlZmluZSBHRVRfQklUS0VFUEVSKG0pKCgobSkgPj4gMTYpICYgMSkKKyNkZWZpbmUgU0Vf UFJFU0VOVChtKQkoKG0pICYgU0UpCisjZGVmaW5lIEdFVF9TVFJFTkdUSChtKQkoKChtKSA+PiAx OCkgJiAzKQorI2RlZmluZSBWRV9QUkVTRU5UKG0pCSgobSkgJiBWRSkKKyNkZWZpbmUgR0VUX1ZP TFRBR0UobSkJKCgobSkgPj4gMjEpICYgMSkKKyNkZWZpbmUgR0VUX0dQSU9ESVIobSkJKCEhKCht KSAmIEdQSU9fT1VUKSkKKyNkZWZpbmUgR0VUX0dQSU9WQUwobSkJKCEhKChtKSAmIEdQSU9fVkFM VUUoMSkpKQorI2RlZmluZSBJU19HUElPCQkzCisKICNpZiBkZWZpbmVkIENPTkZJR19BUkNIX0lN WDIzCisvKgorICogVGhlIHBpbiBkZWZpbml0aW9uIG9mIGkuTVgyMyBhcmUgc3RyYW5nZS4gQmFu ayAwJ3MgcGlucyAwIC4uIDE1IGFyZSBkZWZpbmVkCisgKiB1c2luZyBQT1JURigwLCAwKSAuLiBQ T1JURigwLCAxNSkuIEl0cyBwaW5zIDE2IC4uIDMxIGhvd2V2ZXIgdXNlIFBPUlRGKDEsIDApCisg KiAuLiBQT1JURigxLCAxNSkuIFNvIHRoZSBQT1JURiBtYWNybyBpcyBtb3JlIHVnbHkgdGhhbiBu ZWNlc3NhcnkuCisgKi8KKyMgZGVmaW5lIFBPUlRGKGJhbmssYml0KQkoQkFOSygoYmFuaykgLyAy KSB8IEJBTktQSU4oKCgoYmFuaykgJiAxKSA8PCA0KSB8IChiaXQpKSB8IEVSUk9SKChiaXQpICYg fjE1KSB8IEVSUk9SKChiYW5rKSAmIH43KQorIyBkZWZpbmUgVkVfMl81VgkJVk9MVEFHRSgxKQog IyBpbmNsdWRlIDxtYWNoL2lvbXV4LWlteDIzLmg+CiAjZW5kaWYKKwogI2lmIGRlZmluZWQgQ09O RklHX0FSQ0hfSU1YMjgKKyMgZGVmaW5lIFBPUlRGKGJhbmssYml0KQkoQkFOSyhiYW5rKSB8IEJB TktQSU4oYml0KSkKKyMgZGVmaW5lIFZFXzNfM1YJVk9MVEFHRSgxKQogIyBpbmNsdWRlIDxtYWNo L2lvbXV4LWlteDI4Lmg+CiAjZW5kaWYKIAotLSAKMi4xLjEKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpiYXJlYm94IG1haWxpbmcgbGlzdApiYXJlYm94 QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9iYXJlYm94Cg==