From mboxrd@z Thu Jan 1 00:00:00 1970 From: Behan Webster Subject: [PATCH] Remove nested functions from Thinkpad ACPI Date: Wed, 19 Jun 2013 20:19:26 -0400 Message-ID: <1371687566-2371-1-git-send-email-behanw@converseincode.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ibm-acpi-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: Henrique de Moraes Holschuh , Matthew Garrett Cc: "open list:THINKPAD ACPI EXT..." , Behan Webster , open list , =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= , "open list:THINKPAD ACPI EXT..." List-Id: platform-driver-x86.vger.kernel.org VGhlIG9ubHkgcmVhbCBjaGFuZ2UgaXMgcGFzc2luZyBpbiBldmVudF9tYXNrIHRvIHRoZSBmb3Jt ZXJseSBuZXN0ZWQgZnVuY3Rpb25zLgpPdGhlcndpc2UgaXQncyBqdXN0IG1vdmluZyBhcm91bmQg ZnVuY3Rpb24gYW5kIG1hY3JvIGNvZGUuCgpUaGlzIGlzIHRoZSBvbmx5IHBsYWNlIGluIHRoZSBM aW51eCBrZXJuZWwgd2hlcmUgbmVzdGVkIGZ1bmN0aW9ucyBhcmUgc3RpbGwgaW4KdXNlLiBOZXN0 ZWQgZnVuY3Rpb25zIGFyZW4ndCBwYXJ0IG9mIHRoZSBDIHN0YW5kYXJkcywgYW5kIGNvbXBsaWNh dGUgdGhlCmdlbmVyYXRlZCBjb2RlLiBBbHRob3VnaCB0aGUgTGludXggS2VybmVsIGhhcyBuZXZl ciBzZXQgb3V0IHRvIGJlIGVudGlyZWx5IEMKc3RhbmRhcmQgY29tcGxpYW50LCBpdCBpcyBpbmNy ZWFzaW5nbHkgY29tcGxpYW50IHRvIHRoZSBzdGFuZGFyZCB3aGljaCBpcwpzdXBwb3J0ZWQgYnkg b3RoZXIgY29tcGlsZXJzIHN1Y2ggYXMgQ2xhbmcuIFRoZSBMTFZNTGludXggcHJvamVjdCBpcyB3 b3JraW5nIG9uCmJlaW5nIGFibGUgdG8gY29tcGlsZSB0aGUgTGludXgga2VybmVsIHdpdGggQ2xh bmcuIFRoZSB1c2Ugb2YgbmVzdGVkIGZ1bmN0aW9ucwpibG9ja3MgdGhpcyBlZmZvcnQuCgpTaWdu ZWQtb2ZmLWJ5OiBCZWhhbiBXZWJzdGVyIDxiZWhhbndAY29udmVyc2VpbmNvZGUuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBKYW4tU2ltb24gTcO2bGxlciA8ZGw5cGZAZ214LmRlPgotLS0KIGRyaXZlcnMv cGxhdGZvcm0veDg2L3RoaW5rcGFkX2FjcGkuYyB8IDg2ICsrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDQxIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L3RoaW5rcGFkX2FjcGku YyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L3RoaW5rcGFkX2FjcGkuYwppbmRleCA1NGQzMWMwLi5l YmEyMzU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni90aGlua3BhZF9hY3BpLmMK KysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvdGhpbmtwYWRfYWNwaS5jCkBAIC0yMzI0LDUzICsy MzI0LDU1IEBAIHN0YXRpYyB2b2lkIGhvdGtleV9yZWFkX252cmFtKHN0cnVjdCB0cF9udnJhbV9z dGF0ZSAqbiwgY29uc3QgdTMyIG0pCiAJfQogfQogCi1zdGF0aWMgdm9pZCBob3RrZXlfY29tcGFy ZV9hbmRfaXNzdWVfZXZlbnQoc3RydWN0IHRwX252cmFtX3N0YXRlICpvbGRuLAotCQkJCQkgICBz dHJ1Y3QgdHBfbnZyYW1fc3RhdGUgKm5ld24sCi0JCQkJCSAgIGNvbnN0IHUzMiBldmVudF9tYXNr KQotewotCiAjZGVmaW5lIFRQQUNQSV9DT01QQVJFX0tFWShfX3NjYW5jb2RlLCBfX21lbWJlcikg XAotCWRvIHsgXAotCQlpZiAoKGV2ZW50X21hc2sgJiAoMSA8PCBfX3NjYW5jb2RlKSkgJiYgXAot CQkgICAgb2xkbi0+X19tZW1iZXIgIT0gbmV3bi0+X19tZW1iZXIpIFwKLQkJCXRwYWNwaV9ob3Rr ZXlfc2VuZF9rZXkoX19zY2FuY29kZSk7IFwKLQl9IHdoaWxlICgwKQorZG8geyBcCisJaWYgKChl dmVudF9tYXNrICYgKDEgPDwgX19zY2FuY29kZSkpICYmIFwKKwkgICAgb2xkbi0+X19tZW1iZXIg IT0gbmV3bi0+X19tZW1iZXIpIFwKKwkJdHBhY3BpX2hvdGtleV9zZW5kX2tleShfX3NjYW5jb2Rl KTsgXAorfSB3aGlsZSAoMCkKIAogI2RlZmluZSBUUEFDUElfTUFZX1NFTkRfS0VZKF9fc2NhbmNv ZGUpIFwKLQlkbyB7IFwKLQkJaWYgKGV2ZW50X21hc2sgJiAoMSA8PCBfX3NjYW5jb2RlKSkgXAot CQkJdHBhY3BpX2hvdGtleV9zZW5kX2tleShfX3NjYW5jb2RlKTsgXAotCX0gd2hpbGUgKDApCitk byB7IFwKKwlpZiAoZXZlbnRfbWFzayAmICgxIDw8IF9fc2NhbmNvZGUpKSBcCisJCXRwYWNwaV9o b3RrZXlfc2VuZF9rZXkoX19zY2FuY29kZSk7IFwKK30gd2hpbGUgKDApCiAKLQl2b2lkIGlzc3Vl X3ZvbGNoYW5nZShjb25zdCB1bnNpZ25lZCBpbnQgb2xkdm9sLAotCQkJICAgICBjb25zdCB1bnNp Z25lZCBpbnQgbmV3dm9sKQotCXsKLQkJdW5zaWduZWQgaW50IGkgPSBvbGR2b2w7CitzdGF0aWMg dm9pZCBpc3N1ZV92b2xjaGFuZ2UoY29uc3QgdW5zaWduZWQgaW50IG9sZHZvbCwKKwkJCSAgICBj b25zdCB1bnNpZ25lZCBpbnQgbmV3dm9sLAorCQkJICAgIGNvbnN0IHUzMiBldmVudF9tYXNrKQor eworCXVuc2lnbmVkIGludCBpID0gb2xkdm9sOwogCi0JCXdoaWxlIChpID4gbmV3dm9sKSB7Ci0J CQlUUEFDUElfTUFZX1NFTkRfS0VZKFRQX0FDUElfSE9US0VZU0NBTl9WT0xVTUVET1dOKTsKLQkJ CWktLTsKLQkJfQotCQl3aGlsZSAoaSA8IG5ld3ZvbCkgewotCQkJVFBBQ1BJX01BWV9TRU5EX0tF WShUUF9BQ1BJX0hPVEtFWVNDQU5fVk9MVU1FVVApOwotCQkJaSsrOwotCQl9CisJd2hpbGUgKGkg PiBuZXd2b2wpIHsKKwkJVFBBQ1BJX01BWV9TRU5EX0tFWShUUF9BQ1BJX0hPVEtFWVNDQU5fVk9M VU1FRE9XTik7CisJCWktLTsKKwl9CisJd2hpbGUgKGkgPCBuZXd2b2wpIHsKKwkJVFBBQ1BJX01B WV9TRU5EX0tFWShUUF9BQ1BJX0hPVEtFWVNDQU5fVk9MVU1FVVApOworCQlpKys7CiAJfQorfQog Ci0Jdm9pZCBpc3N1ZV9icmlnaHRuZXNzY2hhbmdlKGNvbnN0IHVuc2lnbmVkIGludCBvbGRicnQs Ci0JCQkJICAgIGNvbnN0IHVuc2lnbmVkIGludCBuZXdicnQpCi0JewotCQl1bnNpZ25lZCBpbnQg aSA9IG9sZGJydDsKK3N0YXRpYyB2b2lkIGlzc3VlX2JyaWdodG5lc3NjaGFuZ2UoY29uc3QgdW5z aWduZWQgaW50IG9sZGJydCwKKwkJCQkgICBjb25zdCB1bnNpZ25lZCBpbnQgbmV3YnJ0LAorCQkJ CSAgIGNvbnN0IHUzMiBldmVudF9tYXNrKQoreworCXVuc2lnbmVkIGludCBpID0gb2xkYnJ0Owog Ci0JCXdoaWxlIChpID4gbmV3YnJ0KSB7Ci0JCQlUUEFDUElfTUFZX1NFTkRfS0VZKFRQX0FDUElf SE9US0VZU0NBTl9GTkVORCk7Ci0JCQlpLS07Ci0JCX0KLQkJd2hpbGUgKGkgPCBuZXdicnQpIHsK LQkJCVRQQUNQSV9NQVlfU0VORF9LRVkoVFBfQUNQSV9IT1RLRVlTQ0FOX0ZOSE9NRSk7Ci0JCQlp Kys7Ci0JCX0KKwl3aGlsZSAoaSA+IG5ld2JydCkgeworCQlUUEFDUElfTUFZX1NFTkRfS0VZKFRQ X0FDUElfSE9US0VZU0NBTl9GTkVORCk7CisJCWktLTsKIAl9CisJd2hpbGUgKGkgPCBuZXdicnQp IHsKKwkJVFBBQ1BJX01BWV9TRU5EX0tFWShUUF9BQ1BJX0hPVEtFWVNDQU5fRk5IT01FKTsKKwkJ aSsrOworCX0KK30KKworc3RhdGljIHZvaWQgaG90a2V5X2NvbXBhcmVfYW5kX2lzc3VlX2V2ZW50 KHN0cnVjdCB0cF9udnJhbV9zdGF0ZSAqb2xkbiwKKwkJCQkJICAgc3RydWN0IHRwX252cmFtX3N0 YXRlICpuZXduLAorCQkJCQkgICBjb25zdCB1MzIgZXZlbnRfbWFzaykKK3sKIAogCVRQQUNQSV9D T01QQVJFX0tFWShUUF9BQ1BJX0hPVEtFWVNDQU5fVEhJTktQQUQsIHRoaW5rcGFkX3RvZ2dsZSk7 CiAJVFBBQ1BJX0NPTVBBUkVfS0VZKFRQX0FDUElfSE9US0VZU0NBTl9GTlNQQUNFLCB6b29tX3Rv Z2dsZSk7CkBAIC0yNDA1LDcgKzI0MDcsOCBAQCBzdGF0aWMgdm9pZCBob3RrZXlfY29tcGFyZV9h bmRfaXNzdWVfZXZlbnQoc3RydWN0IHRwX252cmFtX3N0YXRlICpvbGRuLAogCQkgICAgb2xkbi0+ dm9sdW1lX2xldmVsICE9IG5ld24tPnZvbHVtZV9sZXZlbCkgewogCQkJLyogcmVjZW50bHkgbXV0 ZWQsIG9yIHJlcGVhdGVkIG11dGUga2V5cHJlc3MsIG9yCiAJCQkgKiBtdWx0aXBsZSBwcmVzc2Vz IGVuZGluZyBpbiBtdXRlICovCi0JCQlpc3N1ZV92b2xjaGFuZ2Uob2xkbi0+dm9sdW1lX2xldmVs LCBuZXduLT52b2x1bWVfbGV2ZWwpOworCQkJaXNzdWVfdm9sY2hhbmdlKG9sZG4tPnZvbHVtZV9s ZXZlbCwgbmV3bi0+dm9sdW1lX2xldmVsLAorCQkJCWV2ZW50X21hc2spOwogCQkJVFBBQ1BJX01B WV9TRU5EX0tFWShUUF9BQ1BJX0hPVEtFWVNDQU5fTVVURSk7CiAJCX0KIAl9IGVsc2UgewpAQCAt MjQxNSw3ICsyNDE4LDggQEAgc3RhdGljIHZvaWQgaG90a2V5X2NvbXBhcmVfYW5kX2lzc3VlX2V2 ZW50KHN0cnVjdCB0cF9udnJhbV9zdGF0ZSAqb2xkbiwKIAkJCVRQQUNQSV9NQVlfU0VORF9LRVko VFBfQUNQSV9IT1RLRVlTQ0FOX1ZPTFVNRVVQKTsKIAkJfQogCQlpZiAob2xkbi0+dm9sdW1lX2xl dmVsICE9IG5ld24tPnZvbHVtZV9sZXZlbCkgewotCQkJaXNzdWVfdm9sY2hhbmdlKG9sZG4tPnZv bHVtZV9sZXZlbCwgbmV3bi0+dm9sdW1lX2xldmVsKTsKKwkJCWlzc3VlX3ZvbGNoYW5nZShvbGRu LT52b2x1bWVfbGV2ZWwsIG5ld24tPnZvbHVtZV9sZXZlbCwKKwkJCQlldmVudF9tYXNrKTsKIAkJ fSBlbHNlIGlmIChvbGRuLT52b2x1bWVfdG9nZ2xlICE9IG5ld24tPnZvbHVtZV90b2dnbGUpIHsK IAkJCS8qIHJlcGVhdGVkIHZvbCB1cC9kb3duIGtleXByZXNzIGF0IGVuZCBvZiBzY2FsZSA/ICov CiAJCQlpZiAobmV3bi0+dm9sdW1lX2xldmVsID09IDApCkBAIC0yNDI4LDcgKzI0MzIsNyBAQCBz dGF0aWMgdm9pZCBob3RrZXlfY29tcGFyZV9hbmRfaXNzdWVfZXZlbnQoc3RydWN0IHRwX252cmFt X3N0YXRlICpvbGRuLAogCS8qIGhhbmRsZSBicmlnaHRuZXNzICovCiAJaWYgKG9sZG4tPmJyaWdo dG5lc3NfbGV2ZWwgIT0gbmV3bi0+YnJpZ2h0bmVzc19sZXZlbCkgewogCQlpc3N1ZV9icmlnaHRu ZXNzY2hhbmdlKG9sZG4tPmJyaWdodG5lc3NfbGV2ZWwsCi0JCQkJICAgICAgIG5ld24tPmJyaWdo dG5lc3NfbGV2ZWwpOworCQkJCSAgICAgICBuZXduLT5icmlnaHRuZXNzX2xldmVsLCBldmVudF9t YXNrKTsKIAl9IGVsc2UgaWYgKG9sZG4tPmJyaWdodG5lc3NfdG9nZ2xlICE9IG5ld24tPmJyaWdo dG5lc3NfdG9nZ2xlKSB7CiAJCS8qIHJlcGVhdGVkIGtleSBwcmVzc2VzIHRoYXQgZGlkbid0IGNo YW5nZSBzdGF0ZSAqLwogCQlpZiAobmV3bi0+YnJpZ2h0bmVzc19sZXZlbCA9PSAwKQotLSAKMS44 LjEuMgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGlzIFNGLm5ldCBlbWFpbCBpcyBzcG9uc29y ZWQgYnkgV2luZG93czoKCkJ1aWxkIGZvciBXaW5kb3dzIFN0b3JlLgoKaHR0cDovL3Auc2YubmV0 L3NmdS93aW5kb3dzLWRldjJkZXYKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KaWJtLWFjcGktZGV2ZWwgbWFpbGluZyBsaXN0CmlibS1hY3BpLWRldmVsQGxp c3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9s aXN0aW5mby9pYm0tYWNwaS1kZXZlbAo=