From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: [PATCH v6 5/6] staging/android: refactor SYNC_IOC_FILE_INFO Date: Wed, 2 Mar 2016 16:52:10 -0300 Message-ID: <1456948331-7300-5-git-send-email-gustavo@padovan.org> References: <1456948331-7300-1-git-send-email-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yw0-f196.google.com (mail-yw0-f196.google.com [209.85.161.196]) by gabe.freedesktop.org (Postfix) with ESMTPS id 241436E98A for ; Wed, 2 Mar 2016 19:52:35 +0000 (UTC) Received: by mail-yw0-f196.google.com with SMTP id h80so11674296ywc.3 for ; Wed, 02 Mar 2016 11:52:35 -0800 (PST) In-Reply-To: <1456948331-7300-1-git-send-email-gustavo@padovan.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Greg Kroah-Hartman Cc: devel@driverdev.osuosl.org, Daniel Stone , Daniel Vetter , Riley Andrews , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= , Gustavo Padovan , John Harrison List-Id: dri-devel@lists.freedesktop.org RnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgoK Q2hhbmdlIFNZTkNfSU9DX0ZJTEVfSU5GTyBiZWhhdmlvdXIgdG8gYXZvaWQgZnV0dXJlIEFQSSBi cmVha3MgYW5kCm9wdGltaXplIGJ1ZmZlcgoKTm93IG51bV9mZW5jZXMgY2FuIGJlIGZpbGxlZCBi eSB0aGUgY2FsbGVyIHRvIGluZm9ybSBob3cgbWFueSBmZW5jZXMgaXQKd2FudHMgdG8gcmV0cmll dmUgZnJvbSB0aGUga2VybmVsLiBJZiB0aGUgbnVtX2ZlbmNlcyBwYXNzZWQgaXMgZ3JlYXRlcgp0 aGFuIHplcm8gaW5mby0+c3luY19mZW5jZV9pbmZvIHNob3VsZCBwb2ludCB0byBhIGJ1ZmZlciB3 aXRoIGVub3VnaCBzcGFjZQp0byBmaXQgYWxsIGZlbmNlcy4KCkhvd2V2ZXIgaWYgbnVtX2ZlbmNl cyBwYXNzZWQgdG8gdGhlIGtlcm5lbCBpcyAwLCB0aGUga2VybmVsIHdpbGwgcmVwbHkKd2l0aCBu dW1iZXIgb2YgZmVuY2VzIG9mIHRoZSBzeW5jX2ZpbGUuCgpTZW5kaW5nIGZpcnN0IGFuIGlvY3Rs IHdpdGggbnVtX2ZlbmNlcyA9IDAgY2FuIG9wdGltaXplIGJ1ZmZlciBhbGxvY2F0aW9uLAppbiBh IGZpcnN0IGNhbGwgd2l0aCBudW1fZmVuY2VzID0gMCB1c2Vyc3BhY2Ugd2lsbCByZWNlaXZlIHRo ZSBhY3R1YWwKbnVtYmVyIG9mIGZlbmNlcyBpbiB0aGUgbnVtX2ZlbmNlcyBmaWxlZC4KClRoZW4g aXQgY2FuIGFsbG9jYXRlIGEgYnVmZmVyIHdpdGggdGhlIGNvcnJlY3Qgc2l6ZSBvbiBzeW5jX2Zl bmNlX2luZm8gYW5kCmNhbGwgU1lOQ19JT0NfRklMRV9JTkZPIGFnYWluLCBidXQgbm93IHdpdGgg dGhlIGFjdHVhbCB2YWx1ZSBvZiBudW1fZmVuY2VzCmluIHRoZSBzeW5jX2ZpbGUuCgpBbHNvLCBp bmZvLT5zeW5jX2ZlbmNlX2luZm8gd2FzIGNvbnZlcnRlZCB0byBfX3U2NCBwb2ludGVyIHRvIHBy ZXZlbnQKMzJiaXQgY29tcGF0aWJpbGl0eSBpc3N1ZXMuCgpBbiBleGFtcGxlIHVzZXJzcGFjZSBj b2RlIGZvciB0aGUgbGF0ZXIgd291bGQgYmU6CgoJc3RydWN0IHN5bmNfZmlsZV9pbmZvICppbmZv OwoJaW50IGVyciwgc2l6ZSwgbnVtX2ZlbmNlczsKCglpbmZvID0gbWFsbG9jKHNpemVvZigqaW5m bykpOwoKCWluZm8uZmxhZ3MgPSAwOwoJZXJyID0gaW9jdGwoZmQsIFNZTkNfSU9DX0ZJTEVfSU5G TywgaW5mbyk7CgludW1fZmVuY2VzID0gaW5mby0+bnVtX2ZlbmNlczsKCglpZiAobnVtX2ZlbmNl cykgewoJCWluZm8uZmxhZ3MgPSAwOwoJCXNpemUgPSBzaXplb2Yoc3RydWN0IHN5bmNfZmVuY2Vf aW5mbykgKiBudW1fZmVuY2VzOwoJCWluZm8tPm51bV9mZW5jZXMgPSBudW1fZmVuY2VzOwoJCWlu Zm8tPnN5bmNfZmVuY2VfaW5mbyA9ICh1aW50NjRfdCkgY2FsbG9jKG51bV9mZW5jZXMsCgkJCQkJ CQkgIHNpemVvZihzdHJ1Y3Qgc3luY19mZW5jZV9pbmZvKSk7CgoJCWVyciA9IGlvY3RsKGZkLCBT WU5DX0lPQ19GSUxFX0lORk8sIGluZm8pOwoJfQoKdjI6IGZpeCBmZW5jZV9pbmZvIG1lbW9yeSBs ZWFrCgp2MzogQ29tbWVudHMgZnJvbSBFbWlsIFZlbGlrb3YKCS0gaW1wcm92ZSBjb21taXQgbWVz c2FnZQoJLSByZW1vdmUgX191NjQgY2FzdAoJLSByZW1vdmUgY2hlY2sgZm9yIG91dHB1dCBmaWVs ZHMgaW4gZmlsZV9pbmZvCgktIGNsZWFuIHVwIHN5bmNfZmlsbF9mZW5jZV9pbmZvKCkKCiAgICBD b21tZW50cyBmcm9tIE1hYXJ0ZW4gTGFua2hvcnN0CgktIHJlbW92ZSBpbi5udW1fZmVuY2VzICYm ICFpbi5zeW5jX2ZlbmNlX2luZm8gY2hlY2sKCS0gcmVtb3ZlIGluZm8tPmxlbiBhbmQgdXNlIG9u bHkgbnVtX2ZlbmNlcyB0byBjYWxjdWxhdGUgc2l6ZQoKICAgIENvbW1lbnRzIGZyb20gRGFuIENh cnBlbnRlcgoJLSBmaXggaW5mby0+c3luY19mZW5jZV9pbmZvIGRvY3VtZW50YXRpb24KClNpZ25l ZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51 az4KLS0tCiBkcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9zeW5jLmMgICAgICB8IDY0ICsrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL3Vh cGkvc3luYy5oIHwgIDkgKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyks IDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL3N5 bmMuYyBiL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL3N5bmMuYwppbmRleCBkYzVmMzgyLi4zNjA0 ZTQ1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvc3luYy5jCisrKyBiL2Ry aXZlcnMvc3RhZ2luZy9hbmRyb2lkL3N5bmMuYwpAQCAtNDc5LDEzICs0NzksOSBAQCBlcnJfcHV0 X2ZkOgogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgc3luY19maWxsX2ZlbmNlX2luZm8o c3RydWN0IGZlbmNlICpmZW5jZSwgdm9pZCAqZGF0YSwgaW50IHNpemUpCitzdGF0aWMgdm9pZCBz eW5jX2ZpbGxfZmVuY2VfaW5mbyhzdHJ1Y3QgZmVuY2UgKmZlbmNlLAorCQkJCXN0cnVjdCBzeW5j X2ZlbmNlX2luZm8gKmluZm8pCiB7Ci0Jc3RydWN0IHN5bmNfZmVuY2VfaW5mbyAqaW5mbyA9IGRh dGE7Ci0KLQlpZiAoc2l6ZSA8IHNpemVvZigqaW5mbykpCi0JCXJldHVybiAtRU5PTUVNOwotCiAJ c3RybGNweShpbmZvLT5vYmpfbmFtZSwgZmVuY2UtPm9wcy0+Z2V0X3RpbWVsaW5lX25hbWUoZmVu Y2UpLAogCQlzaXplb2YoaW5mby0+b2JqX25hbWUpKTsKIAlzdHJsY3B5KGluZm8tPmRyaXZlcl9u YW1lLCBmZW5jZS0+b3BzLT5nZXRfZHJpdmVyX25hbWUoZmVuY2UpLApAQCAtNDk1LDI4ICs0OTEs MjAgQEAgc3RhdGljIGludCBzeW5jX2ZpbGxfZmVuY2VfaW5mbyhzdHJ1Y3QgZmVuY2UgKmZlbmNl LCB2b2lkICpkYXRhLCBpbnQgc2l6ZSkKIAllbHNlCiAJCWluZm8tPnN0YXR1cyA9IDA7CiAJaW5m by0+dGltZXN0YW1wX25zID0ga3RpbWVfdG9fbnMoZmVuY2UtPnRpbWVzdGFtcCk7Ci0KLQlyZXR1 cm4gc2l6ZW9mKCppbmZvKTsKIH0KIAogc3RhdGljIGxvbmcgc3luY19maWxlX2lvY3RsX2ZlbmNl X2luZm8oc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlLAogCQkJCQl1bnNpZ25lZCBsb25nIGFy ZykKIHsKLQlzdHJ1Y3Qgc3luY19maWxlX2luZm8gKmluZm87CisJc3RydWN0IHN5bmNfZmlsZV9p bmZvIGluLCAqaW5mbzsKKwlzdHJ1Y3Qgc3luY19mZW5jZV9pbmZvICpmZW5jZV9pbmZvID0gTlVM TDsKIAlfX3UzMiBzaXplOwotCV9fdTMyIGxlbiA9IDA7CiAJaW50IHJldCwgaTsKIAotCWlmIChj b3B5X2Zyb21fdXNlcigmc2l6ZSwgKHZvaWQgX191c2VyICopYXJnLCBzaXplb2Yoc2l6ZSkpKQor CWlmIChjb3B5X2Zyb21fdXNlcigmaW4sICh2b2lkIF9fdXNlciAqKWFyZywgc2l6ZW9mKGluKSkp CiAJCXJldHVybiAtRUZBVUxUOwogCi0JaWYgKHNpemUgPCBzaXplb2Yoc3RydWN0IHN5bmNfZmls ZV9pbmZvKSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpZiAoc2l6ZSA+IDQwOTYpCi0JCXNpemUg PSA0MDk2OwotCi0JaW5mbyA9IGt6YWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7CisJaW5mbyA9IGt6 YWxsb2Moc2l6ZW9mKCppbmZvKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFpbmZvKQogCQlyZXR1cm4g LUVOT01FTTsKIApAQCAtNTI1LDI5ICs1MTMsNDcgQEAgc3RhdGljIGxvbmcgc3luY19maWxlX2lv Y3RsX2ZlbmNlX2luZm8oc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlLAogCWlmIChpbmZvLT5z dGF0dXMgPj0gMCkKIAkJaW5mby0+c3RhdHVzID0gIWluZm8tPnN0YXR1czsKIAotCWluZm8tPm51 bV9mZW5jZXMgPSBzeW5jX2ZpbGUtPm51bV9mZW5jZXM7Ci0KLQlsZW4gPSBzaXplb2Yoc3RydWN0 IHN5bmNfZmlsZV9pbmZvKTsKKwkvKgorCSAqIFBhc3NpbmcgbnVtX2ZlbmNlcyA9IDAgbWVhbnMg dGhhdCB1c2Vyc3BhY2UgZG9lc24ndCB3YW50IHRvCisJICogcmV0cmlldmUgYW55IHN5bmNfZmVu Y2VfaW5mby4gSWYgbnVtX2ZlbmNlcyA9IDAgd2Ugc2tpcCBmaWxsaW5nCisJICogc3luY19mZW5j ZV9pbmZvIGFuZCByZXR1cm4gdGhlIGFjdHVhbCBudW1iZXIgb2YgZmVuY2VzIG9uCisJICogaW5m by0+bnVtX2ZlbmNlcy4KKwkgKi8KKwlpZiAoIWluLm51bV9mZW5jZXMpCisJCWdvdG8gbm9fZmVu Y2VzOwogCi0JZm9yIChpID0gMDsgaSA8IHN5bmNfZmlsZS0+bnVtX2ZlbmNlczsgKytpKSB7Ci0J CXN0cnVjdCBmZW5jZSAqZmVuY2UgPSBzeW5jX2ZpbGUtPmNic1tpXS5mZW5jZTsKKwlpZiAoaW4u bnVtX2ZlbmNlcyA8IHN5bmNfZmlsZS0+bnVtX2ZlbmNlcykgeworCQlyZXQgPSAtRUlOVkFMOwor CQlnb3RvIG91dDsKKwl9CiAKLQkJcmV0ID0gc3luY19maWxsX2ZlbmNlX2luZm8oZmVuY2UsICh1 OCAqKWluZm8gKyBsZW4sIHNpemUgLSBsZW4pOworCXNpemUgPSBzeW5jX2ZpbGUtPm51bV9mZW5j ZXMgKiBzaXplb2YoKmZlbmNlX2luZm8pOworCWZlbmNlX2luZm8gPSBremFsbG9jKHNpemUsIEdG UF9LRVJORUwpOworCWlmICghZmVuY2VfaW5mbykgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3Rv IG91dDsKKwl9CiAKLQkJaWYgKHJldCA8IDApCi0JCQlnb3RvIG91dDsKKwlmb3IgKGkgPSAwOyBp IDwgc3luY19maWxlLT5udW1fZmVuY2VzOyArK2kpCisJCXN5bmNfZmlsbF9mZW5jZV9pbmZvKHN5 bmNfZmlsZS0+Y2JzW2ldLmZlbmNlLCAmZmVuY2VfaW5mb1tpXSk7CiAKLQkJbGVuICs9IHJldDsK KwlpZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNlciAqKWluLnN5bmNfZmVuY2VfaW5mbywgZmVu Y2VfaW5mbywgc2l6ZSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXQ7CiAJfQogCi0J aW5mby0+bGVuID0gbGVuOworCWluZm8tPnN5bmNfZmVuY2VfaW5mbyA9IGluLnN5bmNfZmVuY2Vf aW5mbzsKKworbm9fZmVuY2VzOgorCWluZm8tPm51bV9mZW5jZXMgPSBzeW5jX2ZpbGUtPm51bV9m ZW5jZXM7CiAKLQlpZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNlciAqKWFyZywgaW5mbywgbGVu KSkKKwlpZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNlciAqKWFyZywgaW5mbywgc2l6ZW9mKCpp bmZvKSkpCiAJCXJldCA9IC1FRkFVTFQ7CiAJZWxzZQogCQlyZXQgPSAwOwogCiBvdXQ6CisJa2Zy ZWUoZmVuY2VfaW5mbyk7CiAJa2ZyZWUoaW5mbyk7CiAKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvdWFwaS9zeW5jLmggYi9kcml2ZXJzL3N0YWdpbmcv YW5kcm9pZC91YXBpL3N5bmMuaAppbmRleCBhNmM2NDhjLi5mMDY0OTIzIDEwMDY0NAotLS0gYS9k cml2ZXJzL3N0YWdpbmcvYW5kcm9pZC91YXBpL3N5bmMuaAorKysgYi9kcml2ZXJzL3N0YWdpbmcv YW5kcm9pZC91YXBpL3N5bmMuaApAQCAtNDIsMjEgKzQyLDE4IEBAIHN0cnVjdCBzeW5jX2ZlbmNl X2luZm8gewogCiAvKioKICAqIHN0cnVjdCBzeW5jX2ZpbGVfaW5mbyAtIGRhdGEgcmV0dXJuZWQg ZnJvbSBmZW5jZSBpbmZvIGlvY3RsCi0gKiBAbGVuOglpb2N0bCBjYWxsZXIgd3JpdGVzIHRoZSBz aXplIG9mIHRoZSBidWZmZXIgaXRzIHBhc3NpbmcgaW4uCi0gKgkJaW9jdGwgcmV0dXJucyBsZW5n dGggb2Ygc3luY19maWxlX2luZm8gcmV0dXJuZWQgdG8KLSAqCQl1c2Vyc3BhY2UgaW5jbHVkaW5n IHB0X2luZm8uCiAgKiBAbmFtZToJbmFtZSBvZiBmZW5jZQogICogQHN0YXR1czoJc3RhdHVzIG9m IGZlbmNlLiAxOiBzaWduYWxlZCAwOmFjdGl2ZSA8MDplcnJvcgogICogQG51bV9mZW5jZXMJbnVt YmVyIG9mIGZlbmNlcyBpbiB0aGUgc3luY19maWxlCi0gKiBAc3luY19mZW5jZV9pbmZvOiBhcnJh eSBvZiBzeW5jX2ZlbmNlX2luZm8gZm9yIGV2ZXJ5IGZlbmNlIGluIHRoZSBzeW5jX2ZpbGUKKyAq IEBzeW5jX2ZlbmNlX2luZm86IHBvaW50ZXIgdG8gYXJyYXkgb2Ygc3RydWN0cyBzeW5jX2ZlbmNl X2luZm8gd2l0aCBhbGwKKyAqCQkgZmVuY2VzIGluIHRoZSBzeW5jX2ZpbGUKICAqLwogc3RydWN0 IHN5bmNfZmlsZV9pbmZvIHsKLQlfX3UzMglsZW47CiAJY2hhcgluYW1lWzMyXTsKIAlfX3MzMglz dGF0dXM7CiAJX191MzIJbnVtX2ZlbmNlczsKIAotCV9fdTgJc3luY19mZW5jZV9pbmZvWzBdOwor CV9fdTY0CXN5bmNfZmVuY2VfaW5mbzsKIH07CiAKICNkZWZpbmUgU1lOQ19JT0NfTUFHSUMJCSc+ JwotLSAKMi41LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=