From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= Subject: [PATCH 5/8] PM: suspend_block: Switch to list of active and inactive suspend blockers Date: Tue, 14 Apr 2009 18:41:29 -0700 Message-ID: <1239759692-28617-6-git-send-email-arve@android.com> References: <1239759692-28617-1-git-send-email-arve@android.com> <1239759692-28617-2-git-send-email-arve@android.com> <1239759692-28617-3-git-send-email-arve@android.com> <1239759692-28617-4-git-send-email-arve@android.com> <1239759692-28617-5-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: <1239759692-28617-5-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, r-woodruff2@ti.comrjw, @sisk.pl List-Id: linux-pm@vger.kernel.org VGhpcyBhbGxvd3MgYWN0aXZlIHN1c3BlbmQgYmxvY2tlcnMgdG8gYmUgbGlzdGVkCgpTaWduZWQt b2ZmLWJ5OiBBcnZlIEhqw7hubmV2w6VnIDxhcnZlQGFuZHJvaWQuY29tPgotLS0KIGluY2x1ZGUv bGludXgvc3VzcGVuZF9ibG9jay5oIHwgICAgNSArKy0KIGtlcm5lbC9wb3dlci9zdXNwZW5kX2Js b2NrLmMgIHwgICA3NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiAy IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvc3VzcGVuZF9ibG9jay5oIGIvaW5jbHVkZS9saW51eC9zdXNw ZW5kX2Jsb2NrLmgKaW5kZXggNzgyMGM2MC4uNzNhYzVmNyAxMDA3NTUKLS0tIGEvaW5jbHVkZS9s aW51eC9zdXNwZW5kX2Jsb2NrLmgKKysrIGIvaW5jbHVkZS9saW51eC9zdXNwZW5kX2Jsb2NrLmgK QEAgLTE2LDEyICsxNiwxNSBAQAogI2lmbmRlZiBfTElOVVhfU1VTUEVORF9CTE9DS19ICiAjZGVm aW5lIF9MSU5VWF9TVVNQRU5EX0JMT0NLX0gKIAorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKwog LyogQSBzdXNwZW5kX2Jsb2NrZXIgcHJldmVudHMgdGhlIHN5c3RlbSBmcm9tIGVudGVyaW5nIHN1 c3BlbmQgd2hlbiBhY3RpdmUuCiAgKi8KIAogc3RydWN0IHN1c3BlbmRfYmxvY2tlciB7CiAjaWZk ZWYgQ09ORklHX1NVU1BFTkRfQkxPQ0sKLQlhdG9taWNfdCAgICAgICAgICAgIGZsYWdzOworCXN0 cnVjdCBsaXN0X2hlYWQgICAgbGluazsKKwlpbnQgICAgICAgICAgICAgICAgIGZsYWdzOwogCWNv bnN0IGNoYXIgICAgICAgICAqbmFtZTsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9w b3dlci9zdXNwZW5kX2Jsb2NrLmMgYi9rZXJuZWwvcG93ZXIvc3VzcGVuZF9ibG9jay5jCmluZGV4 IGI0ZjIxOTEuLjY5N2Y1MmEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9wb3dlci9zdXNwZW5kX2Jsb2Nr LmMKKysrIGIva2VybmVsL3Bvd2VyL3N1c3BlbmRfYmxvY2suYwpAQCAtMzMsMTkgKzMzLDI5IEBA IG1vZHVsZV9wYXJhbV9uYW1lZChkZWJ1Z19tYXNrLCBkZWJ1Z19tYXNrLCBpbnQsIFNfSVJVR08g fCBTX0lXVVNSIHwgU19JV0dSUCk7CiAjZGVmaW5lIFNCX0lOSVRJQUxJWkVEICAgICAgICAgICAg KDFVIDw8IDgpCiAjZGVmaW5lIFNCX0FDVElWRSAgICAgICAgICAgICAgICAgKDFVIDw8IDkpCiAK K3N0YXRpYyBERUZJTkVfU1BJTkxPQ0sobGlzdF9sb2NrKTsKIHN0YXRpYyBERUZJTkVfU1BJTkxP Q0soc3RhdGVfbG9jayk7Ci1zdGF0aWMgYXRvbWljX3Qgc3VzcGVuZF9ibG9ja19jb3VudDsKLXN0 YXRpYyBhdG9taWNfdCBjdXJyZW50X2V2ZW50X251bTsKK3N0YXRpYyBMSVNUX0hFQUQoaW5hY3Rp dmVfYmxvY2tlcnMpOworc3RhdGljIExJU1RfSEVBRChhY3RpdmVfYmxvY2tlcnMpOworc3RhdGlj IGludCBjdXJyZW50X2V2ZW50X251bTsKIHN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpzdXNwZW5k X3dvcmtfcXVldWU7CiBzdHJ1Y3Qgc3VzcGVuZF9ibG9ja2VyIG1haW5fc3VzcGVuZF9ibG9ja2Vy Owogc3RhdGljIHN1c3BlbmRfc3RhdGVfdCByZXF1ZXN0ZWRfc3VzcGVuZF9zdGF0ZSA9IFBNX1NV U1BFTkRfTUVNOwogc3RhdGljIGJvb2wgZW5hYmxlX3N1c3BlbmRfYmxvY2tlcnM7CiAKK3N0YXRp YyB2b2lkIHByaW50X2FjdGl2ZV9ibG9ja2Vyc19sb2NrZWQodm9pZCkKK3sKKwlzdHJ1Y3Qgc3Vz cGVuZF9ibG9ja2VyICpibG9ja2VyOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShibG9ja2VyLCAm YWN0aXZlX2Jsb2NrZXJzLCBsaW5rKQorCQlwcl9pbmZvKCJhY3RpdmUgc3VzcGVuZCBibG9ja2Vy ICVzXG4iLCBibG9ja2VyLT5uYW1lKTsKK30KKwogYm9vbCBzdXNwZW5kX2lzX2Jsb2NrZWQodm9p ZCkKIHsKIAlpZiAoV0FSTl9PTkNFKCFlbmFibGVfc3VzcGVuZF9ibG9ja2VycywgImlnbm9yaW5n IHN1c3BlbmQgYmxvY2tlcnNcbiIpKQogCQlyZXR1cm4gMDsKLQlyZXR1cm4gISFhdG9taWNfcmVh ZCgmc3VzcGVuZF9ibG9ja19jb3VudCk7CisJcmV0dXJuICFsaXN0X2VtcHR5KCZhY3RpdmVfYmxv Y2tlcnMpOwogfQogCiBzdGF0aWMgdm9pZCBzdXNwZW5kX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1 Y3QgKndvcmspCkBAIC02Miw3ICs3Miw3IEBAIHJldHJ5OgogCQlnb3RvIGFib3J0OwogCX0KIAot CWVudHJ5X2V2ZW50X251bSA9IGF0b21pY19yZWFkKCZjdXJyZW50X2V2ZW50X251bSk7CisJZW50 cnlfZXZlbnRfbnVtID0gY3VycmVudF9ldmVudF9udW07CiAJaWYgKGRlYnVnX21hc2sgJiBERUJV R19TVVNQRU5EKQogCQlwcl9pbmZvKCJzdXNwZW5kOiBlbnRlciBzdXNwZW5kXG4iKTsKIAlyZXQg PSBwbV9zdXNwZW5kKHJlcXVlc3RlZF9zdXNwZW5kX3N0YXRlKTsKQEAgLTc2LDcgKzg2LDcgQEAg cmV0cnk6CiAJCQl0bS50bV95ZWFyICsgMTkwMCwgdG0udG1fbW9uICsgMSwgdG0udG1fbWRheSwK IAkJCXRtLnRtX2hvdXIsIHRtLnRtX21pbiwgdG0udG1fc2VjLCB0cy50dl9uc2VjKTsKIAl9Ci0J aWYgKGF0b21pY19yZWFkKCZjdXJyZW50X2V2ZW50X251bSkgPT0gZW50cnlfZXZlbnRfbnVtKSB7 CisJaWYgKGN1cnJlbnRfZXZlbnRfbnVtID09IGVudHJ5X2V2ZW50X251bSkgewogCQlpZiAoZGVi dWdfbWFzayAmIERFQlVHX1NVU1BFTkQpCiAJCQlwcl9pbmZvKCJzdXNwZW5kOiBwbV9zdXNwZW5k IHJldHVybmVkIHdpdGggbm8gZXZlbnRcbiIpOwogCQlnb3RvIHJldHJ5OwpAQCAtMTEwLDYgKzEy MCw4IEBAIHN0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBzdXNwZW5kX2Jsb2NrX3N5c2RldiA9IHsK ICAqLwogdm9pZCBzdXNwZW5kX2Jsb2NrZXJfaW5pdChzdHJ1Y3Qgc3VzcGVuZF9ibG9ja2VyICpi bG9ja2VyLCBjb25zdCBjaGFyICpuYW1lKQogeworCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3MgPSAw OworCiAJaWYgKG5hbWUpCiAJCWJsb2NrZXItPm5hbWUgPSBuYW1lOwogCUJVR19PTighYmxvY2tl ci0+bmFtZSk7CkBAIC0xMTcsNyArMTI5LDEyIEBAIHZvaWQgc3VzcGVuZF9ibG9ja2VyX2luaXQo c3RydWN0IHN1c3BlbmRfYmxvY2tlciAqYmxvY2tlciwgY29uc3QgY2hhciAqbmFtZSkKIAlpZiAo ZGVidWdfbWFzayAmIERFQlVHX1NVU1BFTkRfQkxPQ0tFUikKIAkJcHJfaW5mbygic3VzcGVuZF9i bG9ja2VyX2luaXQgbmFtZT0lc1xuIiwgYmxvY2tlci0+bmFtZSk7CiAKLQlhdG9taWNfc2V0KCZi bG9ja2VyLT5mbGFncywgU0JfSU5JVElBTElaRUQpOworCWJsb2NrZXItPmZsYWdzID0gU0JfSU5J VElBTElaRUQ7CisJSU5JVF9MSVNUX0hFQUQoJmJsb2NrZXItPmxpbmspOworCisJc3Bpbl9sb2Nr X2lycXNhdmUoJmxpc3RfbG9jaywgaXJxZmxhZ3MpOworCWxpc3RfYWRkKCZibG9ja2VyLT5saW5r LCAmaW5hY3RpdmVfYmxvY2tlcnMpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmxpc3RfbG9j aywgaXJxZmxhZ3MpOwogfQogRVhQT1JUX1NZTUJPTChzdXNwZW5kX2Jsb2NrZXJfaW5pdCk7CiAK QEAgLTEyNywxNSArMTQ0LDE1IEBAIEVYUE9SVF9TWU1CT0woc3VzcGVuZF9ibG9ja2VyX2luaXQp OwogICovCiB2b2lkIHN1c3BlbmRfYmxvY2tlcl9kZXN0cm95KHN0cnVjdCBzdXNwZW5kX2Jsb2Nr ZXIgKmJsb2NrZXIpCiB7Ci0JaW50IGZsYWdzOworCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7CiAJ aWYgKGRlYnVnX21hc2sgJiBERUJVR19TVVNQRU5EX0JMT0NLRVIpCiAJCXByX2luZm8oInN1c3Bl bmRfYmxvY2tlcl9kZXN0cm95IG5hbWU9JXNcbiIsIGJsb2NrZXItPm5hbWUpOwotCWZsYWdzID0g YXRvbWljX3hjaGcoJmJsb2NrZXItPmZsYWdzLCAwKTsKLQlXQVJOKCEoZmxhZ3MgJiBTQl9JTklU SUFMSVpFRCksICJzdXNwZW5kX2Jsb2NrZXJfZGVzdHJveSBjYWxsZWQgb24gIgotCQkJCQkidW5p bml0aWFsaXplZCBzdXNwZW5kX2Jsb2NrZXJcbiIpOwotCWlmIChmbGFncyA9PSAoU0JfSU5JVElB TElaRUQgfCBTQl9BQ1RJVkUpKQotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmc3VzcGVuZF9i bG9ja19jb3VudCkpCi0JCQlxdWV1ZV93b3JrKHN1c3BlbmRfd29ya19xdWV1ZSwgJnN1c3BlbmRf d29yayk7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmxpc3RfbG9jaywgaXJxZmxhZ3MpOworCWJsb2Nr ZXItPmZsYWdzICY9IH5TQl9JTklUSUFMSVpFRDsKKwlsaXN0X2RlbCgmYmxvY2tlci0+bGluayk7 CisJaWYgKChibG9ja2VyLT5mbGFncyAmIFNCX0FDVElWRSkgJiYgbGlzdF9lbXB0eSgmYWN0aXZl X2Jsb2NrZXJzKSkKKwkJcXVldWVfd29yayhzdXNwZW5kX3dvcmtfcXVldWUsICZzdXNwZW5kX3dv cmspOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmxpc3RfbG9jaywgaXJxZmxhZ3MpOwogfQog RVhQT1JUX1NZTUJPTChzdXNwZW5kX2Jsb2NrZXJfZGVzdHJveSk7CiAKQEAgLTE0NSwxNSArMTYy LDE5IEBAIEVYUE9SVF9TWU1CT0woc3VzcGVuZF9ibG9ja2VyX2Rlc3Ryb3kpOwogICovCiB2b2lk IHN1c3BlbmRfYmxvY2soc3RydWN0IHN1c3BlbmRfYmxvY2tlciAqYmxvY2tlcikKIHsKLQlCVUdf T04oIShhdG9taWNfcmVhZCgmYmxvY2tlci0+ZmxhZ3MpICYgU0JfSU5JVElBTElaRUQpKTsKKwl1 bnNpZ25lZCBsb25nIGlycWZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmxpc3RfbG9jaywg aXJxZmxhZ3MpOworCUJVR19PTighKGJsb2NrZXItPmZsYWdzICYgU0JfSU5JVElBTElaRUQpKTsK IAorCWJsb2NrZXItPmZsYWdzIHw9IFNCX0FDVElWRTsKKwlsaXN0X2RlbCgmYmxvY2tlci0+bGlu ayk7CiAJaWYgKGRlYnVnX21hc2sgJiBERUJVR19TVVNQRU5EX0JMT0NLRVIpCiAJCXByX2luZm8o InN1c3BlbmRfYmxvY2s6ICVzXG4iLCBibG9ja2VyLT5uYW1lKTsKLQlpZiAoYXRvbWljX2NtcHhj aGcoJmJsb2NrZXItPmZsYWdzLCBTQl9JTklUSUFMSVpFRCwKLQkgICAgU0JfSU5JVElBTElaRUQg fCBTQl9BQ1RJVkUpID09IFNCX0lOSVRJQUxJWkVEKQotCQlhdG9taWNfaW5jKCZzdXNwZW5kX2Js b2NrX2NvdW50KTsKKwlsaXN0X2FkZCgmYmxvY2tlci0+bGluaywgJmFjdGl2ZV9ibG9ja2Vycyk7 CiAKLQlhdG9taWNfaW5jKCZjdXJyZW50X2V2ZW50X251bSk7CisJY3VycmVudF9ldmVudF9udW0r KzsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZsaXN0X2xvY2ssIGlycWZsYWdzKTsKIH0KIEVY UE9SVF9TWU1CT0woc3VzcGVuZF9ibG9jayk7CiAKQEAgLTE2NSwxMyArMTg2LDIzIEBAIEVYUE9S VF9TWU1CT0woc3VzcGVuZF9ibG9jayk7CiAgKi8KIHZvaWQgc3VzcGVuZF91bmJsb2NrKHN0cnVj dCBzdXNwZW5kX2Jsb2NrZXIgKmJsb2NrZXIpCiB7CisJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsK KworCXNwaW5fbG9ja19pcnFzYXZlKCZsaXN0X2xvY2ssIGlycWZsYWdzKTsKKwogCWlmIChkZWJ1 Z19tYXNrICYgREVCVUdfU1VTUEVORF9CTE9DS0VSKQogCQlwcl9pbmZvKCJzdXNwZW5kX3VuYmxv Y2s6ICVzXG4iLCBibG9ja2VyLT5uYW1lKTsKKwlsaXN0X2RlbCgmYmxvY2tlci0+bGluayk7CisJ bGlzdF9hZGQoJmJsb2NrZXItPmxpbmssICZpbmFjdGl2ZV9ibG9ja2Vycyk7CiAKLQlpZiAoYXRv bWljX2NtcHhjaGcoJmJsb2NrZXItPmZsYWdzLCBTQl9JTklUSUFMSVpFRCB8IFNCX0FDVElWRSwK LQkgICAgU0JfSU5JVElBTElaRUQpID09IChTQl9JTklUSUFMSVpFRCB8IFNCX0FDVElWRSkpCi0J CWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZzdXNwZW5kX2Jsb2NrX2NvdW50KSkKLQkJCXF1ZXVl X3dvcmsoc3VzcGVuZF93b3JrX3F1ZXVlLCAmc3VzcGVuZF93b3JrKTsKKwlpZiAoKGJsb2NrZXIt PmZsYWdzICYgU0JfQUNUSVZFKSAmJiBsaXN0X2VtcHR5KCZhY3RpdmVfYmxvY2tlcnMpKQorCQlx dWV1ZV93b3JrKHN1c3BlbmRfd29ya19xdWV1ZSwgJnN1c3BlbmRfd29yayk7CisJYmxvY2tlci0+ ZmxhZ3MgJj0gfihTQl9BQ1RJVkUpOworCWlmIChibG9ja2VyID09ICZtYWluX3N1c3BlbmRfYmxv Y2tlcikgeworCQlpZiAoZGVidWdfbWFzayAmIERFQlVHX1NVU1BFTkQpCisJCQlwcmludF9hY3Rp dmVfYmxvY2tlcnNfbG9ja2VkKCk7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmxpc3Rf bG9jaywgaXJxZmxhZ3MpOwogfQogRVhQT1JUX1NZTUJPTChzdXNwZW5kX3VuYmxvY2spOwogCkBA IC0xODEsNyArMjEyLDcgQEAgRVhQT1JUX1NZTUJPTChzdXNwZW5kX3VuYmxvY2spOwogICovCiBi b29sIGlzX2Jsb2NraW5nX3N1c3BlbmQoc3RydWN0IHN1c3BlbmRfYmxvY2tlciAqYmxvY2tlcikK IHsKLQlyZXR1cm4gISEoYXRvbWljX3JlYWQoJmJsb2NrZXItPmZsYWdzKSAmIFNCX0FDVElWRSk7 CisJcmV0dXJuICEhKGJsb2NrZXItPmZsYWdzICYgU0JfQUNUSVZFKTsKIH0KIEVYUE9SVF9TWU1C T0woaXNfYmxvY2tpbmdfc3VzcGVuZCk7CiAKLS0gCjEuNi4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1wbSBtYWlsaW5nIGxpc3QKbGludXgt cG1AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eC1mb3VuZGF0 aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBt