From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [RFC 2/2] drm/panel: Use generic object registry Date: Tue, 4 Nov 2014 17:29:28 +0100 Message-ID: <1415118568-18771-2-git-send-email-thierry.reding@gmail.com> References: <1415118568-18771-1-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pd0-f174.google.com (mail-pd0-f174.google.com [209.85.192.174]) by gabe.freedesktop.org (Postfix) with ESMTP id 0DA5E6E50A for ; Tue, 4 Nov 2014 08:29:40 -0800 (PST) Received: by mail-pd0-f174.google.com with SMTP id p10so13890879pdj.19 for ; Tue, 04 Nov 2014 08:29:39 -0800 (PST) In-Reply-To: <1415118568-18771-1-git-send-email-thierry.reding@gmail.com> 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: Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkNvbnZlcnQgdG8gdGhl IG5ldyBnZW5lcmljIG9iamVjdCByZWdpc3RyeSBhbmQgaW50cm9kdWNlIHByb3BlciBvYmplY3QK YW5kIG1vZHVsZSByZWZlcmVuY2UgY291bnRpbmcuIFRoaXMgc2hvdWxkIG1ha2UgcGFuZWwgcmVn aXN0cmF0aW9uIGFuZApyZW1vdmFsIGEgbG90IG1vcmUgcm9idXN0LgoKU2lnbmVkLW9mZi1ieTog VGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v ZHJtX3BhbmVsLmMgfCAxMDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0KIGluY2x1ZGUvZHJtL2RybV9wYW5lbC5oICAgICB8ICAxMyArKysrLS0KIDIgZmlsZXMg Y2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5j CmluZGV4IDNkZmUzYzg4NjUwMi4uYzFiNThiZDQyMWEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX3BhbmVsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCkBAIC0y MywxMyArMjMsMTEgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4 L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JlZ2lzdHJ5Lmg+CiAKICNpbmNsdWRlIDxkcm0v ZHJtX2NydGMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX3BhbmVsLmg+CiAKLXN0YXRpYyBERUZJTkVf TVVURVgocGFuZWxfbG9jayk7Ci1zdGF0aWMgTElTVF9IRUFEKHBhbmVsX2xpc3QpOwotCiAvKioK ICAqIERPQzogZHJtIHBhbmVsCiAgKgpAQCAtMzgsNiArMzYsMzMgQEAgc3RhdGljIExJU1RfSEVB RChwYW5lbF9saXN0KTsKICAqIGRyaXZlcnMuCiAgKi8KIAorLyoKKyAqIERSTSBwYW5lbCByZWdp c3RyeQorICovCitzdGF0aWMgc3RydWN0IHJlZ2lzdHJ5IHBhbmVscyA9IHsKKwkubG9jayA9IF9f TVVURVhfSU5JVElBTElaRVIocGFuZWxzLmxvY2spLAorCS5saXN0ID0gTElTVF9IRUFEX0lOSVQo cGFuZWxzLmxpc3QpLAorCS5vd25lciA9IFRISVNfTU9EVUxFLAorfTsKKworc3RhdGljIGlubGlu ZSBzdHJ1Y3QgZHJtX3BhbmVsICp0b19kcm1fcGFuZWwoc3RydWN0IHJlZ2lzdHJ5X3JlY29yZCAq cmVjb3JkKQoreworCXJldHVybiBjb250YWluZXJfb2YocmVjb3JkLCBzdHJ1Y3QgZHJtX3BhbmVs LCByZWNvcmQpOworfQorCitzdGF0aWMgdm9pZCBkcm1fcGFuZWxfcmVsZWFzZShzdHJ1Y3QgcmVn aXN0cnlfcmVjb3JkICpyZWNvcmQpCit7CisJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSB0b19k cm1fcGFuZWwocmVjb3JkKTsKKworCS8qCisJICogVGhlIC5yZWxlYXNlKCkgY2FsbGJhY2sgaXMg b3B0aW9uYWwgYmVjYXVzZSBkcml2ZXJzIG1heSBub3QgbmVlZAorCSAqIHRvIG1hbnVhbGx5IHJl bGVhc2UgYW55IHJlc291cmNlcyAoZS5nLiBpZiB0aGV5J3ZlIHVzZWQgZGV2bV8qKCkKKwkgKiBo ZWxwZXIgZnVuY3Rpb25zKS4KKwkgKi8KKwlpZiAocGFuZWwtPmZ1bmNzICYmIHBhbmVsLT5mdW5j cy0+cmVsZWFzZSkKKwkJcGFuZWwtPmZ1bmNzLT5yZWxlYXNlKHBhbmVsKTsKK30KKwogLyoqCiAg KiBkcm1fcGFuZWxfaW5pdCAtIGluaXRpYWxpemUgYSBwYW5lbAogICogQHBhbmVsOiBEUk0gcGFu ZWwKQEAgLTQ3LDExICs3Miw0OCBAQCBzdGF0aWMgTElTVF9IRUFEKHBhbmVsX2xpc3QpOwogICov CiB2b2lkIGRybV9wYW5lbF9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQogewotCUlOSVRf TElTVF9IRUFEKCZwYW5lbC0+bGlzdCk7CisJcmVnaXN0cnlfcmVjb3JkX2luaXQoJnBhbmVsLT5y ZWNvcmQpOworCXBhbmVsLT5yZWNvcmQucmVsZWFzZSA9IGRybV9wYW5lbF9yZWxlYXNlOwogfQog RVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfaW5pdCk7CiAKIC8qKgorICogZHJtX3BhbmVsX3JlZiAt IGFjcXVpcmUgYSByZWZlcmVuY2UgdG8gYSBwYW5lbAorICogQHBhbmVsOiBEUk0gcGFuZWwKKyAq CisgKiBJbmNyZWFzZXMgdGhlIHJlZmVyZW5jZSBvbiBhIHBhbmVsIGFuZCByZXR1cm5zIGEgcG9p bnRlciB0byBpdC4KKyAqCisgKiBSZXR1cm46IEEgcmVmZXJlbmNlIHRvIHRoZSBwYW5lbCBvbiBz dWNjZXNzIG9yIE5VTEwgb24gZmFpbHVyZS4KKyAqLworc3RydWN0IGRybV9wYW5lbCAqZHJtX3Bh bmVsX3JlZihzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKK3sKKwlpZiAocGFuZWwpIHsKKwkJc3Ry dWN0IHJlZ2lzdHJ5X3JlY29yZCAqcmVjb3JkOworCisJCXJlY29yZCA9IHJlZ2lzdHJ5X3JlY29y ZF9yZWYoJnBhbmVsLT5yZWNvcmQpOworCQlpZiAoIXJlY29yZCkKKwkJCXBhbmVsID0gTlVMTDsK Kwl9CisKKwlyZXR1cm4gcGFuZWw7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9yZWYpOwor CisvKioKKyAqIGRybV9wYW5lbF91bnJlZiAtIHJlbGVhc2UgYSByZWZlcmVuY2UgdG8gYSBwYW5l bAorICogQHBhbmVsOiBEUk0gcGFuZWwKKyAqCisgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBj b3VudCBvbiBhIHBhbmVsLiBJZiB0aGUgcmVmZXJlbmNlIGNvdW50IHJlYWNoZXMgMAorICogdGhl IHBhbmVsIGlzIGRlc3Ryb3llZC4KKyAqLwordm9pZCBkcm1fcGFuZWxfdW5yZWYoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwpCit7CisJaWYgKHBhbmVsKQorCQlyZWdpc3RyeV9yZWNvcmRfdW5yZWYo JnBhbmVsLT5yZWNvcmQpOworfQorRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfdW5yZWYpOworCisv KioKICAqIGRybV9wYW5lbF9hZGQgLSBhZGQgYSBwYW5lbCB0byB0aGUgZ2xvYmFsIHJlZ2lzdHJ5 CiAgKiBAcGFuZWw6IHBhbmVsIHRvIGFkZAogICoKQEAgLTYyLDExICsxMjQsMTAgQEAgRVhQT1JU X1NZTUJPTChkcm1fcGFuZWxfaW5pdCk7CiAgKi8KIGludCBkcm1fcGFuZWxfYWRkKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsKQogewotCW11dGV4X2xvY2soJnBhbmVsX2xvY2spOwotCWxpc3RfYWRk X3RhaWwoJnBhbmVsLT5saXN0LCAmcGFuZWxfbGlzdCk7Ci0JbXV0ZXhfdW5sb2NrKCZwYW5lbF9s b2NrKTsKKwlwYW5lbC0+cmVjb3JkLm93bmVyID0gcGFuZWwtPmRldi0+ZHJpdmVyLT5vd25lcjsK KwlwYW5lbC0+cmVjb3JkLmRldiA9IHBhbmVsLT5kZXY7CiAKLQlyZXR1cm4gMDsKKwlyZXR1cm4g cmVnaXN0cnlfYWRkKCZwYW5lbHMsICZwYW5lbC0+cmVjb3JkKTsKIH0KIEVYUE9SVF9TWU1CT0wo ZHJtX3BhbmVsX2FkZCk7CiAKQEAgLTc0LDEzICsxMzUsMTIgQEAgRVhQT1JUX1NZTUJPTChkcm1f cGFuZWxfYWRkKTsKICAqIGRybV9wYW5lbF9yZW1vdmUgLSByZW1vdmUgYSBwYW5lbCBmcm9tIHRo ZSBnbG9iYWwgcmVnaXN0cnkKICAqIEBwYW5lbDogRFJNIHBhbmVsCiAgKgotICogUmVtb3ZlcyBh IHBhbmVsIGZyb20gdGhlIGdsb2JhbCByZWdpc3RyeS4KKyAqIFJlbW92ZXMgYSBwYW5lbCBmcm9t IHRoZSBnbG9iYWwgcmVnaXN0cnkuIFJlZmVyZW5jZXMgdG8gdGhlIG9iamVjdCBjYW4KKyAqIHN0 aWxsIGV4aXN0LCBidXQgZHJpdmVycyB3b24ndCBiZSBhYmxlIHRvIGxvb2sgdGhlIHBhbmVsIHVw IGFnYWluLgogICovCiB2b2lkIGRybV9wYW5lbF9yZW1vdmUoc3RydWN0IGRybV9wYW5lbCAqcGFu ZWwpCiB7Ci0JbXV0ZXhfbG9jaygmcGFuZWxfbG9jayk7Ci0JbGlzdF9kZWxfaW5pdCgmcGFuZWwt Pmxpc3QpOwotCW11dGV4X3VubG9jaygmcGFuZWxfbG9jayk7CisJcmVnaXN0cnlfcmVtb3ZlKCZw YW5lbHMsICZwYW5lbC0+cmVjb3JkKTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3BhbmVsX3JlbW92 ZSk7CiAKQEAgLTEzMiwyNSArMTkyLDE5IEBAIEVYUE9SVF9TWU1CT0woZHJtX3BhbmVsX2RldGFj aCk7CiAgKiBAbnA6IGRldmljZSB0cmVlIG5vZGUgb2YgdGhlIHBhbmVsCiAgKgogICogU2VhcmNo ZXMgdGhlIHNldCBvZiByZWdpc3RlcmVkIHBhbmVscyBmb3Igb25lIHRoYXQgbWF0Y2hlcyB0aGUg Z2l2ZW4gZGV2aWNlCi0gKiB0cmVlIG5vZGUuIElmIGEgbWF0Y2hpbmcgcGFuZWwgaXMgZm91bmQs IHJldHVybiBhIHBvaW50ZXIgdG8gaXQuCisgKiB0cmVlIG5vZGUuIElmIGEgbWF0Y2hpbmcgcGFu ZWwgaXMgZm91bmQsIHJldHVybiBhIHJlZmVyZW5jZSB0byBpdC4KICAqCiAgKiBSZXR1cm46IEEg cG9pbnRlciB0byB0aGUgcGFuZWwgcmVnaXN0ZXJlZCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2Ug dHJlZQogICogbm9kZSBvciBOVUxMIGlmIG5vIHBhbmVsIG1hdGNoaW5nIHRoZSBkZXZpY2UgdHJl ZSBub2RlIGNhbiBiZSBmb3VuZC4KICAqLwogc3RydWN0IGRybV9wYW5lbCAqb2ZfZHJtX2ZpbmRf cGFuZWwoc3RydWN0IGRldmljZV9ub2RlICpucCkKIHsKLQlzdHJ1Y3QgZHJtX3BhbmVsICpwYW5l bDsKLQotCW11dGV4X2xvY2soJnBhbmVsX2xvY2spOworCXN0cnVjdCByZWdpc3RyeV9yZWNvcmQg KnJlY29yZDsKIAotCWxpc3RfZm9yX2VhY2hfZW50cnkocGFuZWwsICZwYW5lbF9saXN0LCBsaXN0 KSB7Ci0JCWlmIChwYW5lbC0+ZGV2LT5vZl9ub2RlID09IG5wKSB7Ci0JCQltdXRleF91bmxvY2so JnBhbmVsX2xvY2spOwotCQkJcmV0dXJuIHBhbmVsOwotCQl9Ci0JfQorCXJlY29yZCA9IHJlZ2lz dHJ5X2ZpbmRfYnlfb2Zfbm9kZSgmcGFuZWxzLCBucCk7CisJaWYgKHJlY29yZCkKKwkJcmV0dXJu IGNvbnRhaW5lcl9vZihyZWNvcmQsIHN0cnVjdCBkcm1fcGFuZWwsIHJlY29yZCk7CiAKLQltdXRl eF91bmxvY2soJnBhbmVsX2xvY2spOwogCXJldHVybiBOVUxMOwogfQogRVhQT1JUX1NZTUJPTChv Zl9kcm1fZmluZF9wYW5lbCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaCBi L2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCmluZGV4IGI4OGI0ZGNkNjk4Yi4uMTE3ZTIyMWRiYzA4 IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAorKysgYi9pbmNsdWRlL2RybS9k cm1fcGFuZWwuaApAQCAtMjQsNyArMjQsOCBAQAogI2lmbmRlZiBfX0RSTV9QQU5FTF9IX18KICNk ZWZpbmUgX19EUk1fUEFORUxfSF9fCiAKLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVk ZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcmVnaXN0cnkuaD4KIAogc3RydWN0 IGRybV9jb25uZWN0b3I7CiBzdHJ1Y3QgZHJtX2RldmljZTsKQEAgLTMyLDYgKzMzLDcgQEAgc3Ry dWN0IGRybV9wYW5lbDsKIAogLyoqCiAgKiBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIC0gcGVyZm9y bSBvcGVyYXRpb25zIG9uIGEgZ2l2ZW4gcGFuZWwKKyAqIEByZWxlYXNlOiBjYWxsZWQgd2hlbiB0 aGUgZmluYWwgcmVmZXJlbmNlIGlzIGRyb3BwZWQKICAqIEBkaXNhYmxlOiBkaXNhYmxlIHBhbmVs ICh0dXJuIG9mZiBiYWNrIGxpZ2h0LCBldGMuKQogICogQHVucHJlcGFyZTogdHVybiBvZmYgcGFu ZWwKICAqIEBwcmVwYXJlOiB0dXJuIG9uIHBhbmVsIGFuZCBwZXJmb3JtIHNldCB1cApAQCAtNjMs NiArNjUsNyBAQCBzdHJ1Y3QgZHJtX3BhbmVsOwogICogdGhlIHBhbmVsLiBUaGlzIGlzIHRoZSBq b2Igb2YgdGhlIC51bnByZXBhcmUoKSBmdW5jdGlvbi4KICAqLwogc3RydWN0IGRybV9wYW5lbF9m dW5jcyB7CisJdm9pZCAoKnJlbGVhc2UpKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIAlpbnQg KCpkaXNhYmxlKShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7CiAJaW50ICgqdW5wcmVwYXJlKShz dHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7CiAJaW50ICgqcHJlcGFyZSkoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwpOwpAQCAtNzIsMjAgKzc1LDIwIEBAIHN0cnVjdCBkcm1fcGFuZWxfZnVuY3Mgewog CiAvKioKICAqIHN0cnVjdCBkcm1fcGFuZWwgLSBEUk0gcGFuZWwgb2JqZWN0CisgKiBAcmVjb3Jk OiByZWdpc3RyeSByZWNvcmQKICAqIEBkcm06IERSTSBkZXZpY2Ugb3duaW5nIHRoZSBwYW5lbAog ICogQGNvbm5lY3RvcjogRFJNIGNvbm5lY3RvciB0aGF0IHRoZSBwYW5lbCBpcyBhdHRhY2hlZCB0 bwogICogQGRldjogcGFyZW50IGRldmljZSBvZiB0aGUgcGFuZWwKICAqIEBmdW5jczogb3BlcmF0 aW9ucyB0aGF0IGNhbiBiZSBwZXJmb3JtZWQgb24gdGhlIHBhbmVsCi0gKiBAbGlzdDogcGFuZWwg ZW50cnkgaW4gcmVnaXN0cnkKICAqLwogc3RydWN0IGRybV9wYW5lbCB7CisJc3RydWN0IHJlZ2lz dHJ5X3JlY29yZCByZWNvcmQ7CisKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtOwogCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0IGRldmljZSAqZGV2OwogCiAJY29uc3Qg c3RydWN0IGRybV9wYW5lbF9mdW5jcyAqZnVuY3M7Ci0KLQlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7 CiB9OwogCiAvKioKQEAgLTE4MCw2ICsxODMsOCBAQCBzdGF0aWMgaW5saW5lIGludCBkcm1fcGFu ZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQogfQogCiB2b2lkIGRybV9wYW5l bF9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKK3N0cnVjdCBkcm1fcGFuZWwgKmRybV9w YW5lbF9yZWYoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpOwordm9pZCBkcm1fcGFuZWxfdW5yZWYo c3RydWN0IGRybV9wYW5lbCAqcGFuZWwpOwogCiBpbnQgZHJtX3BhbmVsX2FkZChzdHJ1Y3QgZHJt X3BhbmVsICpwYW5lbCk7CiB2b2lkIGRybV9wYW5lbF9yZW1vdmUoc3RydWN0IGRybV9wYW5lbCAq cGFuZWwpOwotLSAKMi4xLjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==