From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= Subject: [PATCH 11/13] PM: earlysuspend: Removing dependence on console. Date: Wed, 4 Feb 2009 18:50:24 -0800 Message-ID: <1233802226-23386-12-git-send-email-arve@android.com> References: <1233802226-23386-1-git-send-email-arve@android.com> <1233802226-23386-2-git-send-email-arve@android.com> <1233802226-23386-3-git-send-email-arve@android.com> <1233802226-23386-4-git-send-email-arve@android.com> <1233802226-23386-5-git-send-email-arve@android.com> <1233802226-23386-6-git-send-email-arve@android.com> <1233802226-23386-7-git-send-email-arve@android.com> <1233802226-23386-8-git-send-email-arve@android.com> <1233802226-23386-9-git-send-email-arve@android.com> <1233802226-23386-10-git-send-email-arve@android.com> <1233802226-23386-11-git-send-email-arve@android.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1233802226-23386-11-git-send-email-arve@android.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.linux-foundation.org Errors-To: linux-pm-bounces@lists.linux-foundation.org To: linux-pm@lists.linux-foundation.org Cc: ncunningham@crca.org.au, u.luckas@road.de, swetland@google.com, Rebecca Schultz List-Id: linux-pm@vger.kernel.org RnJvbTogUmViZWNjYSBTY2h1bHR6IDxyc2NodWx0ekBnb29nbGUuY29tPgoKUmF0aGVyIHRoYW4g c2lnbmFsaW5nIGEgZnVsbCB1cGRhdGUgb2YgdGhlIGRpc3BsYXkgZnJvbSB1c2Vyc3BhY2Ugdmlh IGEKY29uc29sZSBzd2l0Y2gsIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyAyIGZpbGVzIGludCAvc3lz L3Bvd2VyLAp3YWl0X2Zvcl9mYl9zbGVlcCBhbmQgd2FpdF9mb3JfZmJfd2FrZS4gIFJlYWRpbmcg dGhlc2UgZmlsZXMgd2lsbCBibG9jawp1bnRpbCB0aGUgcmVxdWVzdGVkIHN0YXRlIGhhcyBiZWVu IGVudGVyZWQuICBXaGVuIGEgcmVhZCBmcm9tCndhaXRfZm9yX2ZiX3NsZWVwIHJldHVybnMgdXNl cnNwYWNlIHNob3VsZCBzdG9wIGRyYXdpbmcuICBXaGVuCndhaXRfZm9yX2ZiX3dha2UgcmV0dXJu cywgaXQgc2hvdWxkIGRvIGEgZnVsbCB1cGRhdGUuICBJZiBlaXRoZXIgYXJlIGNhbGxlZAp3aGVu IHRoZSBmYiBkcml2ZXIgaXMgYWxyZWFkeSBpbiB0aGUgcmVxdWVzdGVkIHN0YXRlLCB0aGV5IHdp bGwgcmV0dXJuCmltbWVkaWF0ZWx5LgoKU2lnbmVkLW9mZi1ieTogUmViZWNjYSBTY2h1bHR6IDxy c2NodWx0ekBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBBcnZlIEhqw7hubmV2w6VnIDxhcnZl QGFuZHJvaWQuY29tPgotLS0KIGtlcm5lbC9wb3dlci9LY29uZmlnICAgICAgICAgIHwgICAgOSAr KysKIGtlcm5lbC9wb3dlci9NYWtlZmlsZSAgICAgICAgIHwgICAgMSArCiBrZXJuZWwvcG93ZXIv ZmJlYXJseXN1c3BlbmQuYyB8ICAxNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTYzIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQga2VybmVsL3Bvd2VyL2ZiZWFybHlzdXNwZW5kLmMKCmRp ZmYgLS1naXQgYS9rZXJuZWwvcG93ZXIvS2NvbmZpZyBiL2tlcm5lbC9wb3dlci9LY29uZmlnCmlu ZGV4IGYxYTNkNWMuLjYxNjM0MWQgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9wb3dlci9LY29uZmlnCisr KyBiL2tlcm5lbC9wb3dlci9LY29uZmlnCkBAIC0xNjgsNiArMTY4LDcgQEAgY29uZmlnIEVBUkxZ U1VTUEVORAogCiBjaG9pY2UKIAlwcm9tcHQgIlVzZXItc3BhY2Ugc2NyZWVuIGFjY2VzcyIKKwlk ZWZhdWx0IEZCX0VBUkxZU1VTUEVORCBpZiAhRlJBTUVCVUZGRVJfQ09OU09MRQogCWRlZmF1bHQg Q09OU09MRV9FQVJMWVNVU1BFTkQKIAlkZXBlbmRzIG9uIEhBU19FQVJMWVNVU1BFTkQKIApAQCAt MTgxLDYgKzE4MiwxNCBAQCBjaG9pY2UKIAkJICBSZWdpc3RlciBlYXJseSBzdXNwZW5kIGhhbmRs ZXIgdG8gcGVyZm9ybSBhIGNvbnNvbGUgc3dpdGNoIHRvCiAJCSAgd2hlbiB1c2VyLXNwYWNlIHNo b3VsZCBzdG9wIGRyYXdpbmcgdG8gdGhlIHNjcmVlbiBhbmQgYSBzd2l0Y2gKIAkJICBiYWNrIHdo ZW4gaXQgc2hvdWxkIHJlc3VtZS4KKworCWNvbmZpZyBGQl9FQVJMWVNVU1BFTkQKKwkJYm9vbCAi U3lzZnMgaW50ZXJmYWNlIgorCQlkZXBlbmRzIG9uIEhBU19FQVJMWVNVU1BFTkQKKwkJLS0taGVs cC0tLQorCQkgIFJlZ2lzdGVyIGVhcmx5IHN1c3BlbmQgaGFuZGxlciB0aGF0IG5vdGlmaWVzIGFu ZCB3YWl0cyBmb3IKKwkJICB1c2VyLXNwYWNlIHRocm91Z2ggc3lzZnMgd2hlbiB1c2VyLXNwYWNl IHNob3VsZCBzdG9wIGRyYXdpbmcKKwkJICB0byB0aGUgc2NyZWVuIGFuZCBub3RpZmllcyB1c2Vy LXNwYWNlIHdoZW4gaXQgc2hvdWxkIHJlc3VtZS4KIGVuZGNob2ljZQogCiBjb25maWcgSElCRVJO QVRJT04KZGlmZiAtLWdpdCBhL2tlcm5lbC9wb3dlci9NYWtlZmlsZSBiL2tlcm5lbC9wb3dlci9N YWtlZmlsZQppbmRleCA4YmYyOTNkLi41YmVhYTIxIDEwMDY0NAotLS0gYS9rZXJuZWwvcG93ZXIv TWFrZWZpbGUKKysrIGIva2VybmVsL3Bvd2VyL01ha2VmaWxlCkBAIC0xMCw2ICsxMCw3IEBAIG9i ai0kKENPTkZJR19XQUtFTE9DSykJCSs9IHdha2Vsb2NrLm8KIG9iai0kKENPTkZJR19VU0VSX1dB S0VMT0NLKQkrPSB1c2Vyd2FrZWxvY2subwogb2JqLSQoQ09ORklHX0VBUkxZU1VTUEVORCkJKz0g ZWFybHlzdXNwZW5kLm8KIG9iai0kKENPTkZJR19DT05TT0xFX0VBUkxZU1VTUEVORCkJKz0gY29u c29sZWVhcmx5c3VzcGVuZC5vCitvYmotJChDT05GSUdfRkJfRUFSTFlTVVNQRU5EKQkrPSBmYmVh cmx5c3VzcGVuZC5vCiBvYmotJChDT05GSUdfSElCRVJOQVRJT04pCSs9IHN3c3VzcC5vIGRpc2su byBzbmFwc2hvdC5vIHN3YXAubyB1c2VyLm8KIAogb2JqLSQoQ09ORklHX01BR0lDX1NZU1JRKQkr PSBwb3dlcm9mZi5vCmRpZmYgLS1naXQgYS9rZXJuZWwvcG93ZXIvZmJlYXJseXN1c3BlbmQuYyBi L2tlcm5lbC9wb3dlci9mYmVhcmx5c3VzcGVuZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjE1MTM3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvcG93ZXIvZmJlYXJs eXN1c3BlbmQuYwpAQCAtMCwwICsxLDE1MyBAQAorLyoga2VybmVsL3Bvd2VyL2ZiZWFybHlzdXNw ZW5kLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwOCBHb29nbGUsIEluYy4KKyAqCisg KiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGFuZAorICogbWF5IGJlIGNvcGllZCwgZGlzdHJpYnV0 ZWQsIGFuZCBtb2RpZmllZCB1bmRlciB0aG9zZSB0ZXJtcy4KKyAqCisgKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvZWFybHlzdXNwZW5kLmg+CisjaW5jbHVk ZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvd2FpdC5oPgorCisjaW5jbHVkZSAi cG93ZXIuaCIKKworc3RhdGljIHdhaXRfcXVldWVfaGVhZF90IGZiX3N0YXRlX3dxOworc3RhdGlj IERFRklORV9TUElOTE9DSyhmYl9zdGF0ZV9sb2NrKTsKK3N0YXRpYyBlbnVtIHsKKwlGQl9TVEFU RV9TVE9QUEVEX0RSQVdJTkcsCisJRkJfU1RBVEVfUkVRVUVTVF9TVE9QX0RSQVdJTkcsCisJRkJf U1RBVEVfRFJBV0lOR19PSywKK30gZmJfc3RhdGU7CisKKy8qIHRlbGwgdXNlcnNwYWNlIHRvIHN0 b3AgZHJhd2luZywgd2FpdCBmb3IgaXQgdG8gc3RvcCAqLworc3RhdGljIHZvaWQgc3RvcF9kcmF3 aW5nX2Vhcmx5X3N1c3BlbmQoc3RydWN0IGVhcmx5X3N1c3BlbmQgKmgpCit7CisJaW50IHJldDsK Kwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZmYl9zdGF0 ZV9sb2NrLCBpcnFfZmxhZ3MpOworCWZiX3N0YXRlID0gRkJfU1RBVEVfUkVRVUVTVF9TVE9QX0RS QVdJTkc7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZmJfc3RhdGVfbG9jaywgaXJxX2ZsYWdz KTsKKworCXdha2VfdXBfYWxsKCZmYl9zdGF0ZV93cSk7CisJcmV0ID0gd2FpdF9ldmVudF90aW1l b3V0KGZiX3N0YXRlX3dxLAorCQkJCSBmYl9zdGF0ZSA9PSBGQl9TVEFURV9TVE9QUEVEX0RSQVdJ TkcsCisJCQkJIEhaKTsKKwlpZiAodW5saWtlbHkoZmJfc3RhdGUgIT0gRkJfU1RBVEVfU1RPUFBF RF9EUkFXSU5HKSkKKwkJcHJfd2FybmluZygic3RvcF9kcmF3aW5nX2Vhcmx5X3N1c3BlbmQ6IHRp bWVvdXQgd2FpdGluZyBmb3IgIgorCQkJICAgInVzZXJzcGFjZSB0byBzdG9wIGRyYXdpbmdcbiIp OworfQorCisvKiB0ZWxsIHVzZXJzcGFjZSB0byBzdGFydCBkcmF3aW5nICovCitzdGF0aWMgdm9p ZCBzdGFydF9kcmF3aW5nX2xhdGVfcmVzdW1lKHN0cnVjdCBlYXJseV9zdXNwZW5kICpoKQorewor CXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmZiX3N0YXRl X2xvY2ssIGlycV9mbGFncyk7CisJZmJfc3RhdGUgPSBGQl9TVEFURV9EUkFXSU5HX09LOworCXNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJmZiX3N0YXRlX2xvY2ssIGlycV9mbGFncyk7CisJd2FrZV91 cCgmZmJfc3RhdGVfd3EpOworfQorCitzdGF0aWMgc3RydWN0IGVhcmx5X3N1c3BlbmQgc3RvcF9k cmF3aW5nX2Vhcmx5X3N1c3BlbmRfZGVzYyA9IHsKKwkubGV2ZWwgPSBFQVJMWV9TVVNQRU5EX0xF VkVMX1NUT1BfRFJBV0lORywKKwkuc3VzcGVuZCA9IHN0b3BfZHJhd2luZ19lYXJseV9zdXNwZW5k LAorCS5yZXN1bWUgPSBzdGFydF9kcmF3aW5nX2xhdGVfcmVzdW1lLAorfTsKKworc3RhdGljIHNz aXplX3Qgd2FpdF9mb3JfZmJfc2xlZXBfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkg ICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwljaGFyICpz ID0gYnVmOworCWludCByZXQ7CisKKwlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGUoZmJf c3RhdGVfd3EsCisJCQkJICAgICAgIGZiX3N0YXRlICE9IEZCX1NUQVRFX0RSQVdJTkdfT0spOwor CWlmIChyZXQgJiYgZmJfc3RhdGUgPT0gRkJfU1RBVEVfRFJBV0lOR19PSykKKwkJcmV0dXJuIHJl dDsKKwllbHNlCisJCXMgKz0gc3ByaW50ZihidWYsICJzbGVlcGluZyIpOworCXJldHVybiBzIC0g YnVmOworfQorCitzdGF0aWMgc3NpemVfdCB3YWl0X2Zvcl9mYl93YWtlX3Nob3coc3RydWN0IGtv YmplY3QgKmtvYmosCisJCQkJICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIg KmJ1ZikKK3sKKwljaGFyICpzID0gYnVmOworCWludCByZXQ7CisJdW5zaWduZWQgbG9uZyBpcnFf ZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZmJfc3RhdGVfbG9jaywgaXJxX2ZsYWdzKTsK KwlpZiAoZmJfc3RhdGUgPT0gRkJfU1RBVEVfUkVRVUVTVF9TVE9QX0RSQVdJTkcpIHsKKwkJZmJf c3RhdGUgPSBGQl9TVEFURV9TVE9QUEVEX0RSQVdJTkc7CisJCXdha2VfdXAoJmZiX3N0YXRlX3dx KTsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZmJfc3RhdGVfbG9jaywgaXJxX2ZsYWdz KTsKKworCXJldCA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShmYl9zdGF0ZV93cSwKKwkJCQkg ICAgICAgZmJfc3RhdGUgPT0gRkJfU1RBVEVfRFJBV0lOR19PSyk7CisJaWYgKHJldCAmJiBmYl9z dGF0ZSAhPSBGQl9TVEFURV9EUkFXSU5HX09LKQorCQlyZXR1cm4gcmV0OworCWVsc2UKKwkJcyAr PSBzcHJpbnRmKGJ1ZiwgImF3YWtlIik7CisKKwlyZXR1cm4gcyAtIGJ1ZjsKK30KKworI2RlZmlu ZSBwb3dlcl9yb19hdHRyKF9uYW1lKSBcCitzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIF9u YW1lIyNfYXR0ciA9IHsJXAorCS5hdHRyCT0gewkJCQlcCisJCS5uYW1lID0gX19zdHJpbmdpZnko X25hbWUpLAlcCisJCS5tb2RlID0gMDQ0NCwJCQlcCisJfSwJCQkJCVwKKwkuc2hvdwk9IF9uYW1l IyNfc2hvdywJCQlcCisJLnN0b3JlCT0gTlVMTCwJCVwKK30KKworcG93ZXJfcm9fYXR0cih3YWl0 X2Zvcl9mYl9zbGVlcCk7Citwb3dlcl9yb19hdHRyKHdhaXRfZm9yX2ZiX3dha2UpOworCitzdGF0 aWMgc3RydWN0IGF0dHJpYnV0ZSAqZ1tdID0geworCSZ3YWl0X2Zvcl9mYl9zbGVlcF9hdHRyLmF0 dHIsCisJJndhaXRfZm9yX2ZiX3dha2VfYXR0ci5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMg c3RydWN0IGF0dHJpYnV0ZV9ncm91cCBhdHRyX2dyb3VwID0geworCS5hdHRycyA9IGcsCit9Owor CitzdGF0aWMgaW50IF9faW5pdCBhbmRyb2lkX3Bvd2VyX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0 OworCisJaW5pdF93YWl0cXVldWVfaGVhZCgmZmJfc3RhdGVfd3EpOworCWZiX3N0YXRlID0gRkJf U1RBVEVfRFJBV0lOR19PSzsKKworCXJldCA9IHN5c2ZzX2NyZWF0ZV9ncm91cChwb3dlcl9rb2Jq LCAmYXR0cl9ncm91cCk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoImFuZHJvaWRfcG93ZXJfaW5p dDogc3lzZnNfY3JlYXRlX2dyb3VwIGZhaWxlZFxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJ cmVnaXN0ZXJfZWFybHlfc3VzcGVuZCgmc3RvcF9kcmF3aW5nX2Vhcmx5X3N1c3BlbmRfZGVzYyk7 CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkICBfX2V4aXQgYW5kcm9pZF9wb3dlcl9leGl0 KHZvaWQpCit7CisJdW5yZWdpc3Rlcl9lYXJseV9zdXNwZW5kKCZzdG9wX2RyYXdpbmdfZWFybHlf c3VzcGVuZF9kZXNjKTsKKwlzeXNmc19yZW1vdmVfZ3JvdXAocG93ZXJfa29iaiwgJmF0dHJfZ3Jv dXApOworfQorCittb2R1bGVfaW5pdChhbmRyb2lkX3Bvd2VyX2luaXQpOworbW9kdWxlX2V4aXQo YW5kcm9pZF9wb3dlcl9leGl0KTsKKwotLSAKMS42LjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXBtIG1haWxpbmcgbGlzdApsaW51eC1wbUBs aXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4LWZvdW5kYXRpb24u b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcG0=