From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= Subject: [PATCH 4/8] Input: Block suspend while event queue is not empty. Date: Tue, 14 Apr 2009 18:41:28 -0700 Message-ID: <1239759692-28617-5-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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1239759692-28617-4-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 QWRkIGFuIGlvY3RsLCBFVklPQ1NTVVNQRU5EQkxPQ0ssIHRvIGVuYWJsZXMgYSBzdXNwZW5kX2Js b2NrZXIgdGhhdCB3aWxsIGJsb2NrCnN1c3BlbmQgd2hpbGUgdGhlIGV2ZW50IHF1ZXVlIGlzIG5v dCBlbXB0eS4gVGhpcyBhbGxvd3MgdXNlcnNwYWNlIGNvZGUgdG8KcHJvY2VzcyBpbnB1dCBldmVu dHMgd2hpbGUgdGhlIGRldmljZSBhcHBlYXJzIHRvIGJlIGFzbGVlcC4KClNpZ25lZC1vZmYtYnk6 IEFydmUgSGrDuG5uZXbDpWcgPGFydmVAYW5kcm9pZC5jb20+Ci0tLQogZHJpdmVycy9pbnB1dC9l dmRldi5jIHwgICAyMSArKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvaW5wdXQu aCB8ICAgIDMgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDAgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9ldmRldi5jIGIvZHJpdmVycy9pbnB1 dC9ldmRldi5jCmluZGV4IGVkOGJhYTAuLjNhNjE0MjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5w dXQvZXZkZXYuYworKysgYi9kcml2ZXJzL2lucHV0L2V2ZGV2LmMKQEAgLTE5LDYgKzE5LDcgQEAK ICNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5j bHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3VzcGVuZF9ibG9jay5oPgog I2luY2x1ZGUgImlucHV0LWNvbXBhdC5oIgogCiBzdHJ1Y3QgZXZkZXYgewpAQCAtNDMsNiArNDQs OCBAQCBzdHJ1Y3QgZXZkZXZfY2xpZW50IHsKIAlzdHJ1Y3QgZmFzeW5jX3N0cnVjdCAqZmFzeW5j OwogCXN0cnVjdCBldmRldiAqZXZkZXY7CiAJc3RydWN0IGxpc3RfaGVhZCBub2RlOworCWludCB1 c2Vfc3VzcGVuZF9ibG9ja2VyOworCXN0cnVjdCBzdXNwZW5kX2Jsb2NrZXIgc3VzcGVuZF9ibG9j a2VyOwogfTsKIAogc3RhdGljIHN0cnVjdCBldmRldiAqZXZkZXZfdGFibGVbRVZERVZfTUlOT1JT XTsKQEAgLTU1LDYgKzU4LDggQEAgc3RhdGljIHZvaWQgZXZkZXZfcGFzc19ldmVudChzdHJ1Y3Qg ZXZkZXZfY2xpZW50ICpjbGllbnQsCiAJICogSW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIGp1c3Qg YWNxdWlyZSB0aGUgbG9jawogCSAqLwogCXNwaW5fbG9jaygmY2xpZW50LT5idWZmZXJfbG9jayk7 CisJaWYgKGNsaWVudC0+dXNlX3N1c3BlbmRfYmxvY2tlcikKKwkJc3VzcGVuZF9ibG9jaygmY2xp ZW50LT5zdXNwZW5kX2Jsb2NrZXIpOwogCWNsaWVudC0+YnVmZmVyW2NsaWVudC0+aGVhZCsrXSA9 ICpldmVudDsKIAljbGllbnQtPmhlYWQgJj0gRVZERVZfQlVGRkVSX1NJWkUgLSAxOwogCXNwaW5f dW5sb2NrKCZjbGllbnQtPmJ1ZmZlcl9sb2NrKTsKQEAgLTIzNiw2ICsyNDEsOCBAQCBzdGF0aWMg aW50IGV2ZGV2X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUp CiAJbXV0ZXhfdW5sb2NrKCZldmRldi0+bXV0ZXgpOwogCiAJZXZkZXZfZGV0YWNoX2NsaWVudChl dmRldiwgY2xpZW50KTsKKwlpZiAoY2xpZW50LT51c2Vfc3VzcGVuZF9ibG9ja2VyKQorCQlzdXNw ZW5kX2Jsb2NrZXJfZGVzdHJveSgmY2xpZW50LT5zdXNwZW5kX2Jsb2NrZXIpOwogCWtmcmVlKGNs aWVudCk7CiAKIAlldmRldl9jbG9zZV9kZXZpY2UoZXZkZXYpOwpAQCAtMzM1LDYgKzM0Miw4IEBA IHN0YXRpYyBpbnQgZXZkZXZfZmV0Y2hfbmV4dF9ldmVudChzdHJ1Y3QgZXZkZXZfY2xpZW50ICpj bGllbnQsCiAJaWYgKGhhdmVfZXZlbnQpIHsKIAkJKmV2ZW50ID0gY2xpZW50LT5idWZmZXJbY2xp ZW50LT50YWlsKytdOwogCQljbGllbnQtPnRhaWwgJj0gRVZERVZfQlVGRkVSX1NJWkUgLSAxOwor CQlpZiAoY2xpZW50LT51c2Vfc3VzcGVuZF9ibG9ja2VyICYmIGNsaWVudC0+aGVhZCA9PSBjbGll bnQtPnRhaWwpCisJCQlzdXNwZW5kX3VuYmxvY2soJmNsaWVudC0+c3VzcGVuZF9ibG9ja2VyKTsK IAl9CiAKIAlzcGluX3VubG9ja19pcnEoJmNsaWVudC0+YnVmZmVyX2xvY2spOwpAQCAtNTg1LDYg KzU5NCwxOCBAQCBzdGF0aWMgbG9uZyBldmRldl9kb19pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwg dW5zaWduZWQgaW50IGNtZCwKIAkJZWxzZQogCQkJcmV0dXJuIGV2ZGV2X3VuZ3JhYihldmRldiwg Y2xpZW50KTsKIAorCWNhc2UgRVZJT0NHU1VTUEVOREJMT0NLOgorCQlyZXR1cm4gcHV0X3VzZXIo RVZfVkVSU0lPTiwgaXApOworCisJY2FzZSBFVklPQ1NTVVNQRU5EQkxPQ0s6CisJCXNwaW5fbG9j a19pcnEoJmNsaWVudC0+YnVmZmVyX2xvY2spOworCQlpZiAoKGNsaWVudC0+dXNlX3N1c3BlbmRf YmxvY2tlciA9ICEhcCkpCisJCQlzdXNwZW5kX2Jsb2NrZXJfaW5pdCgmY2xpZW50LT5zdXNwZW5k X2Jsb2NrZXIsICJldmRldiIpOworCQllbHNlCisJCQlzdXNwZW5kX2Jsb2NrZXJfZGVzdHJveSgm Y2xpZW50LT5zdXNwZW5kX2Jsb2NrZXIpOworCQlzcGluX3VubG9ja19pcnEoJmNsaWVudC0+YnVm ZmVyX2xvY2spOworCQlyZXR1cm4gMDsKKwogCWRlZmF1bHQ6CiAKIAkJaWYgKF9JT0NfVFlQRShj bWQpICE9ICdFJykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaW5wdXQuaCBiL2luY2x1ZGUv bGludXgvaW5wdXQuaAppbmRleCAxMjQ5YTBjLi42N2UyMzMyIDEwMDY0NAotLS0gYS9pbmNsdWRl L2xpbnV4L2lucHV0LmgKKysrIGIvaW5jbHVkZS9saW51eC9pbnB1dC5oCkBAIC04MSw2ICs4MSw5 IEBAIHN0cnVjdCBpbnB1dF9hYnNpbmZvIHsKIAogI2RlZmluZSBFVklPQ0dSQUIJCV9JT1coJ0Un LCAweDkwLCBpbnQpCQkJLyogR3JhYi9SZWxlYXNlIGRldmljZSAqLwogCisjZGVmaW5lIEVWSU9D R1NVU1BFTkRCTE9DSwlfSU9SKCdFJywgMHg5MSwgaW50KQkJCS8qIGdldCBzdXNwZW5kIGJsb2Nr IGVuYWJsZSAqLworI2RlZmluZSBFVklPQ1NTVVNQRU5EQkxPQ0sJX0lPVygnRScsIDB4OTEsIGlu dCkJCQkvKiBzZXQgc3VzcGVuZCBibG9jayBlbmFibGUgKi8KKwogLyoKICAqIEV2ZW50IHR5cGVz CiAgKi8KLS0gCjEuNi4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1wbSBtYWlsaW5nIGxpc3QKbGludXgtcG1AbGlzdHMubGludXgtZm91bmRh dGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LXBt