From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 02/22] drm: Add functions to setup/tear down drm_events. Date: Mon, 11 Jan 2016 22:40:56 +0100 Message-ID: <1452548477-15905-3-git-send-email-daniel.vetter@ffwll.ch> References: <1452548477-15905-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by gabe.freedesktop.org (Postfix) with ESMTPS id 280796E59C for ; Mon, 11 Jan 2016 13:41:24 -0800 (PST) Received: by mail-wm0-f67.google.com with SMTP id u188so28131212wmu.0 for ; Mon, 11 Jan 2016 13:41:24 -0800 (PST) In-Reply-To: <1452548477-15905-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org QW4gYXR0ZW1wdCBhdCBub3Qgc3ByZWFkaW5nIG91dCB0aGUgZmlsZV9wcml2LT5ldmVudF9zcGFj ZSBzdHVmZiBvdXQKcXVpdGUgc28gZmFyIGFuZCB3aWRlLiAgQW5kIEkgdGhpbmsgZml4ZXMgc29t ZXRoaW5nIGluIGlwcF9nZXRfZXZlbnQoKQp0aGF0IGlzIGJyb2tlbiAob3IgaWYgdGhleSBhcmUg ZG9pbmcgc29tZXRoaW5nIG1vcmUgd2VpcmQvc3VidGxlLCB0aGVuCmJyZWFrcyBpdCBpbiBhIGZ1 biB3YXkpLgoKQmFzZWQgdXBvbiBhIHBhdGNoIGZyb20gUm9iIENsYXJrLCByZWJhc2VkIGFuZCBw b2xpc2hlZC4KCnYyOiBTcGVsbGluZyBmaXhlcyAoQWxleCkuCgpDYzogQWxleCBEZXVjaGVyIDxh bGV4ZGV1Y2hlckBnbWFpbC5jb20+CkFja2VkLWJ5OiBEYW5pZWwgU3RvbmUgPGRhbmllbHNAY29s bGFib3JhLmNvbT4KUmV2aWV3ZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJA YW1kLmNvbT4KQ2M6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i eTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYyB8IDQ0ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgIHwgMzYgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYyAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybVAuaCAgICAgICAgICAgfCAg NyArKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYwppbmRleCAzZjc0MTkzODg1ZjEuLjhmYjQ2OWM0ZTRiOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCkBAIC0xMzQ3LDQ0ICsxMzQ3LDIzIEBAIHN0YXRpYyBzdHJ1Y3QgZHJt X3BlbmRpbmdfdmJsYW5rX2V2ZW50ICpjcmVhdGVfdmJsYW5rX2V2ZW50KAogCQlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwgdWludDY0X3QgdXNlcl9k YXRhKQogewogCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmUgPSBOVUxMOwotCXVu c2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5ldmVudF9sb2Nr LCBmbGFncyk7Ci0JaWYgKGZpbGVfcHJpdi0+ZXZlbnRfc3BhY2UgPCBzaXplb2YgZS0+ZXZlbnQp IHsKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Ci0J CWdvdG8gb3V0OwotCX0KLQlmaWxlX3ByaXYtPmV2ZW50X3NwYWNlIC09IHNpemVvZiBlLT5ldmVu dDsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKKwlp bnQgcmV0OwogCiAJZSA9IGt6YWxsb2Moc2l6ZW9mICplLCBHRlBfS0VSTkVMKTsKLQlpZiAoZSA9 PSBOVUxMKSB7Ci0JCXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsK LQkJZmlsZV9wcml2LT5ldmVudF9zcGFjZSArPSBzaXplb2YgZS0+ZXZlbnQ7Ci0JCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwotCQlnb3RvIG91dDsKLQl9 CisJaWYgKCFlKQorCQlyZXR1cm4gTlVMTDsKIAogCWUtPmV2ZW50LmJhc2UudHlwZSA9IERSTV9F VkVOVF9GTElQX0NPTVBMRVRFOwotCWUtPmV2ZW50LmJhc2UubGVuZ3RoID0gc2l6ZW9mIGUtPmV2 ZW50OworCWUtPmV2ZW50LmJhc2UubGVuZ3RoID0gc2l6ZW9mKGUtPmV2ZW50KTsKIAllLT5ldmVu dC51c2VyX2RhdGEgPSB1c2VyX2RhdGE7Ci0JZS0+YmFzZS5ldmVudCA9ICZlLT5ldmVudC5iYXNl OwotCWUtPmJhc2UuZmlsZV9wcml2ID0gZmlsZV9wcml2OwotCWUtPmJhc2UuZGVzdHJveSA9ICh2 b2lkICgqKSAoc3RydWN0IGRybV9wZW5kaW5nX2V2ZW50ICopKSBrZnJlZTsKLQotb3V0OgotCXJl dHVybiBlOwotfQogCi1zdGF0aWMgdm9pZCBkZXN0cm95X3ZibGFua19ldmVudChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAotCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwgc3RydWN0IGRybV9w ZW5kaW5nX3ZibGFua19ldmVudCAqZSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOworCXJldCA9 IGRybV9ldmVudF9yZXNlcnZlX2luaXQoZGV2LCBmaWxlX3ByaXYsICZlLT5iYXNlLCAmZS0+ZXZl bnQuYmFzZSk7CisJaWYgKHJldCkgeworCQlrZnJlZShlKTsKKwkJcmV0dXJuIE5VTEw7CisJfQog Ci0Jc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwotCWZpbGVfcHJp di0+ZXZlbnRfc3BhY2UgKz0gc2l6ZW9mIGUtPmV2ZW50OwotCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwotCWtmcmVlKGUpOworCXJldHVybiBlOwogfQog CiBzdGF0aWMgaW50IGF0b21pY19zZXRfcHJvcChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUsCkBAIC0xNjQ2LDggKzE2MjUsNyBAQCBvdXQ6CiAJCQlpZiAoIWNydGNfc3RhdGUtPmV2ZW50 KQogCQkJCWNvbnRpbnVlOwogCi0JCQlkZXN0cm95X3ZibGFua19ldmVudChkZXYsIGZpbGVfcHJp diwKLQkJCQkJICAgICBjcnRjX3N0YXRlLT5ldmVudCk7CisJCQlkcm1fZXZlbnRfY2FuY2VsX2Zy ZWUoZGV2LCAmY3J0Y19zdGF0ZS0+ZXZlbnQtPmJhc2UpOwogCQl9CiAJfQogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5j CmluZGV4IDFlNzVhMTQ1ODM0YS4uNjBhNDE4NGQ0MWI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAtNTI2 NCw3ICs1MjY0LDYgQEAgaW50IGRybV9tb2RlX3BhZ2VfZmxpcF9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiA9IE5VTEw7CiAJc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCAqZSA9IE5V TEw7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgcmV0ID0gLUVJTlZBTDsKIAogCWlmIChw YWdlX2ZsaXAtPmZsYWdzICYgfkRSTV9NT0RFX1BBR0VfRkxJUF9GTEFHUyB8fApAQCAtNTMxNSw0 MSArNTMxNCwyNiBAQCBpbnQgZHJtX21vZGVfcGFnZV9mbGlwX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJfQogCiAJaWYgKHBhZ2VfZmxpcC0+ZmxhZ3MgJiBEUk1fTU9ERV9QQUdFX0ZM SVBfRVZFTlQpIHsKLQkJcmV0ID0gLUVOT01FTTsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+ ZXZlbnRfbG9jaywgZmxhZ3MpOwotCQlpZiAoZmlsZV9wcml2LT5ldmVudF9zcGFjZSA8IHNpemVv ZihlLT5ldmVudCkpIHsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldi0+ZXZlbnRfbG9j aywgZmxhZ3MpOwotCQkJZ290byBvdXQ7Ci0JCX0KLQkJZmlsZV9wcml2LT5ldmVudF9zcGFjZSAt PSBzaXplb2YoZS0+ZXZlbnQpOwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50 X2xvY2ssIGZsYWdzKTsKLQotCQllID0ga3phbGxvYyhzaXplb2YoKmUpLCBHRlBfS0VSTkVMKTsK LQkJaWYgKGUgPT0gTlVMTCkgewotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+ZXZlbnRfbG9j aywgZmxhZ3MpOwotCQkJZmlsZV9wcml2LT5ldmVudF9zcGFjZSArPSBzaXplb2YoZS0+ZXZlbnQp OwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7CisJ CWUgPSBremFsbG9jKHNpemVvZiAqZSwgR0ZQX0tFUk5FTCk7CisJCWlmICghZSkgeworCQkJcmV0 ID0gLUVOT01FTTsKIAkJCWdvdG8gb3V0OwogCQl9Ci0KIAkJZS0+ZXZlbnQuYmFzZS50eXBlID0g RFJNX0VWRU5UX0ZMSVBfQ09NUExFVEU7CiAJCWUtPmV2ZW50LmJhc2UubGVuZ3RoID0gc2l6ZW9m KGUtPmV2ZW50KTsKIAkJZS0+ZXZlbnQudXNlcl9kYXRhID0gcGFnZV9mbGlwLT51c2VyX2RhdGE7 Ci0JCWUtPmJhc2UuZXZlbnQgPSAmZS0+ZXZlbnQuYmFzZTsKLQkJZS0+YmFzZS5maWxlX3ByaXYg PSBmaWxlX3ByaXY7Ci0JCWUtPmJhc2UuZGVzdHJveSA9Ci0JCQkodm9pZCAoKikgKHN0cnVjdCBk cm1fcGVuZGluZ19ldmVudCAqKSkga2ZyZWU7CisJCXJldCA9IGRybV9ldmVudF9yZXNlcnZlX2lu aXQoZGV2LCBmaWxlX3ByaXYsICZlLT5iYXNlLCAmZS0+ZXZlbnQuYmFzZSk7CisJCWlmIChyZXQp IHsKKwkJCWtmcmVlKGUpOworCQkJZ290byBvdXQ7CisJCX0KIAl9CiAKIAljcnRjLT5wcmltYXJ5 LT5vbGRfZmIgPSBjcnRjLT5wcmltYXJ5LT5mYjsKIAlyZXQgPSBjcnRjLT5mdW5jcy0+cGFnZV9m bGlwKGNydGMsIGZiLCBlLCBwYWdlX2ZsaXAtPmZsYWdzKTsKIAlpZiAocmV0KSB7Ci0JCWlmIChw YWdlX2ZsaXAtPmZsYWdzICYgRFJNX01PREVfUEFHRV9GTElQX0VWRU5UKSB7Ci0JCQlzcGluX2xv Y2tfaXJxc2F2ZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Ci0JCQlmaWxlX3ByaXYtPmV2ZW50 X3NwYWNlICs9IHNpemVvZihlLT5ldmVudCk7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZk ZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKLQkJCWtmcmVlKGUpOwotCQl9CisJCWlmIChwYWdlX2Zs aXAtPmZsYWdzICYgRFJNX01PREVfUEFHRV9GTElQX0VWRU5UKQorCQkJZHJtX2V2ZW50X2NhbmNl bF9mcmVlKGRldiwgJmUtPmJhc2UpOwogCQkvKiBLZWVwIHRoZSBvbGQgZmIsIGRvbid0IHVucmVm IGl0LiAqLwogCQljcnRjLT5wcmltYXJ5LT5vbGRfZmIgPSBOVUxMOwogCX0gZWxzZSB7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f Zm9wcy5jCmluZGV4IDczMDc1YTFmYTM4MC4uNDc2NDA4YjYzOGUzIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwpA QCAtNjcyLDMgKzY3Miw3MCBAQCB1bnNpZ25lZCBpbnQgZHJtX3BvbGwoc3RydWN0IGZpbGUgKmZp bHAsIHN0cnVjdCBwb2xsX3RhYmxlX3N0cnVjdCAqd2FpdCkKIAlyZXR1cm4gbWFzazsKIH0KIEVY UE9SVF9TWU1CT0woZHJtX3BvbGwpOworCisvKioKKyAqIGRybV9ldmVudF9yZXNlcnZlX2luaXQg LSBpbml0IGEgRFJNIGV2ZW50IGFuZCByZXNlcnZlIHNwYWNlIGZvciBpdAorICogQGRldjogRFJN IGRldmljZQorICogQGZpbGVfcHJpdjogRFJNIGZpbGUgcHJpdmF0ZSBkYXRhCisgKiBAcDogdHJh Y2tpbmcgc3RydWN0dXJlIGZvciB0aGUgcGVuZGluZyBldmVudAorICogQGU6IGFjdHVhbCBldmVu dCBkYXRhIHRvIGRlbGl2ZXIgdG8gdXNlcnNwYWNlCisgKgorICogVGhpcyBmdW5jdGlvbiBwcmVw YXJlcyB0aGUgcGFzc2VkIGluIGV2ZW50IGZvciBldmVudHVhbCBkZWxpdmVyeS4gSWYgdGhlIGV2 ZW50CisgKiBkb2Vzbid0IGdldCBkZWxpdmVyZWQgKGJlY2F1c2UgdGhlIElPQ1RMIGZhaWxzIGxh dGVyIG9uLCBiZWZvcmUgcXVldWluZyB1cAorICogYW55dGhpbmcpIHRoZW4gdGhlIGV2ZW4gbXVz dCBiZSBjYW5jZWxsZWQgYW5kIGZyZWVkIHVzaW5nCisgKiBkcm1fZXZlbnRfY2FuY2VsX2ZyZWUo KS4KKyAqCisgKiBJZiBjYWxsZXJzIGVtYmVkZGVkIEBwIGludG8gYSBsYXJnZXIgc3RydWN0dXJl IGl0IG11c3QgYmUgYWxsb2NhdGVkIHdpdGgKKyAqIGttYWxsb2MgYW5kIEBwIG11c3QgYmUgdGhl IGZpcnN0IG1lbWJlciBlbGVtZW50LgorICoKKyAqIFJFVFVSTlM6CisgKgorICogMCBvbiBzdWNj ZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorICovCitpbnQgZHJtX2V2 ZW50X3Jlc2VydmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJICAgc3RydWN0IGRy bV9maWxlICpmaWxlX3ByaXYsCisJCQkgICBzdHJ1Y3QgZHJtX3BlbmRpbmdfZXZlbnQgKnAsCisJ CQkgICBzdHJ1Y3QgZHJtX2V2ZW50ICplKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50 IHJldCA9IDA7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7 CisKKwlpZiAoZmlsZV9wcml2LT5ldmVudF9zcGFjZSA8IGUtPmxlbmd0aCkgeworCQlyZXQgPSAt RU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisKKwlmaWxlX3ByaXYtPmV2ZW50X3NwYWNlIC09IGUt Pmxlbmd0aDsKKworCXAtPmV2ZW50ID0gZTsKKwlwLT5maWxlX3ByaXYgPSBmaWxlX3ByaXY7CisK KwkvKiB3ZSAqY291bGQqIHBhc3MgdGhpcyBpbiBhcyBhcmcsIGJ1dCBldmVyeW9uZSB1c2VzIGtm cmVlOiAqLworCXAtPmRlc3Ryb3kgPSAodm9pZCAoKikgKHN0cnVjdCBkcm1fcGVuZGluZ19ldmVu dCAqKSkga2ZyZWU7CisKK291dDoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50 X2xvY2ssIGZsYWdzKTsKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChkcm1fZXZlbnRf cmVzZXJ2ZV9pbml0KTsKKworLyoqCisgKiBkcm1fZXZlbnRfY2FuY2VsX2ZyZWUgLSBmcmVlIGEg RFJNIGV2ZW50IGFuZCByZWxlYXNlIGl0J3Mgc3BhY2UKKyAqIEBkZXY6IERSTSBkZXZpY2UKKyAq IEBwOiB0cmFja2luZyBzdHJ1Y3R1cmUgZm9yIHRoZSBwZW5kaW5nIGV2ZW50CisgKgorICogVGhp cyBmdW5jdGlvbiBmcmVlcyB0aGUgZXZlbnQgQHAgaW5pdGlhbGl6ZWQgd2l0aCBkcm1fZXZlbnRf cmVzZXJ2ZV9pbml0KCkKKyAqIGFuZCByZWxlYXNlcyBhbnkgYWxsb2NhdGVkIHNwYWNlLgorICov Cit2b2lkIGRybV9ldmVudF9jYW5jZWxfZnJlZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJ ICAgc3RydWN0IGRybV9wZW5kaW5nX2V2ZW50ICpwKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7 CisJc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOworCXAtPmZpbGVf cHJpdi0+ZXZlbnRfc3BhY2UgKz0gcC0+ZXZlbnQtPmxlbmd0aDsKKwlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKKwlwLT5kZXN0cm95KHApOworfQorRVhQ T1JUX1NZTUJPTChkcm1fZXZlbnRfY2FuY2VsX2ZyZWUpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtUC5oIGIvaW5jbHVkZS9kcm0vZHJtUC5oCmluZGV4IGZjOWI5YWQ1YjA4OS4uYWQ0ZDBh MzEyOTRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1QLmgKKysrIGIvaW5jbHVkZS9kcm0v ZHJtUC5oCkBAIC05MjUsOCArOTI1LDEzIEBAIHNzaXplX3QgZHJtX3JlYWQoc3RydWN0IGZpbGUg KmZpbHAsIGNoYXIgX191c2VyICpidWZmZXIsCiAJCSBzaXplX3QgY291bnQsIGxvZmZfdCAqb2Zm c2V0KTsKIGludCBkcm1fcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAq ZmlscCk7CiBpbnQgZHJtX25ld19zZXRfbWFzdGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fZmlsZSAqZnByaXYpOwotCiB1bnNpZ25lZCBpbnQgZHJtX3BvbGwoc3RydWN0IGZp bGUgKmZpbHAsIHN0cnVjdCBwb2xsX3RhYmxlX3N0cnVjdCAqd2FpdCk7CitpbnQgZHJtX2V2ZW50 X3Jlc2VydmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJICAgc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXYsCisJCQkgICBzdHJ1Y3QgZHJtX3BlbmRpbmdfZXZlbnQgKnAsCisJCQkg ICBzdHJ1Y3QgZHJtX2V2ZW50ICplKTsKK3ZvaWQgZHJtX2V2ZW50X2NhbmNlbF9mcmVlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCisJCQkgICBzdHJ1Y3QgZHJtX3BlbmRpbmdfZXZlbnQgKnApOwog CiAvKiBNaXNjLiBJT0NUTCBzdXBwb3J0IChkcm1faW9jdGwuYykgKi8KIGludCBkcm1fbm9vcChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAotLSAKMi42LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==