From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [RFC v2 1/5] drm/dsi: Refactor device creation Date: Tue, 6 Oct 2015 14:54:38 +0530 Message-ID: <1444123482-25579-2-git-send-email-architt@codeaurora.org> References: <1435641851-27295-1-git-send-email-architt@codeaurora.org> <1444123482-25579-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.codeaurora.org (smtp.codeaurora.org [198.145.29.96]) by gabe.freedesktop.org (Postfix) with ESMTPS id 26B8B7208D for ; Tue, 6 Oct 2015 02:24:54 -0700 (PDT) In-Reply-To: <1444123482-25579-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, a.hajda@samsung.com Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, treding@nvidia.com List-Id: dri-devel@lists.freedesktop.org U2ltcGxpZnkgdGhlIG1pcGkgZHNpIGRldmljZSBjcmVhdGlvbiBwcm9jZXNzLiBkZXZpY2VfaW5p dGlhbGl6ZSBhbmQKZGV2aWNlX2FkZCBkb24ndCBuZWVkIHRvIGJlIGNhbGxlZCBzZXBhcmF0ZWx5 IHdoZW4gY3JlYXRpbmcKbWlwaV9kc2lfZGV2aWNlJ3MuIFVzZSBkZXZpY2VfcmVnaXN0ZXIgaW5z dGVhZCB0byBzaW1wbGlmeSB0aGluZ3MuCgpDcmVhdGUgYSBoZWxwZXIgZnVuY3Rpb24gbWlwaV9k c2lfZGV2aWNlX25ldyB3aGljaCB0YWtlcyBpbiBzdHJ1Y3QKbWlwaV9kc2lfZGV2aWNlX2luZm8g YW5kIG1pcGlfZHNpX2hvc3QuIEl0IGNsdWJzIHRoZSBmdW5jdGlvbnMKbWlwaV9kc2lfZGV2aWNl X2FsbG9jIGFuZCBtaXBpX2RzaV9kZXZpY2VfYWRkIGludG8gb25lLgoKbWlwaV9kc2lfZGV2aWNl X2luZm8gYWN0cyBhcyBhIHRlbXBsYXRlIHRvIHBvcHVsYXRlIHRoZSBkc2kgZGV2aWNlCmluZm9y bWF0aW9uLiBUaGlzIGlzIHBvcHVsYXRlZCBieSBvZl9taXBpX2RzaV9kZXZpY2VfYWRkIGFuZCBw YXNzZWQgdG8KbWlwaV9kc2lfZGV2aWNlX25ldy4KCkxhdGVyIG9uLCB3ZSdsbCBwcm92aWRlIG1p cGlfZHNpX2RldmljZV9uZXcgYXMgYSBzdGFuZGFsb25lIHdheSB0byBjcmVhdGUKYSBkc2kgZGV2 aWNlIG5vdCBhdmFpbGFibGUgdmlhIERULgoKVGhlIG5ldyBkZXZpY2UgY3JlYXRpb24gcHJvY2Vz cyB0cmllcyB0byBjbG9zZWx5IGZvbGxvdyB3aGF0J3MgYmVlbiBkb25lCmluIGkyY19uZXdfZGV2 aWNlIGluIGkyYy1jb3JlLgoKU2lnbmVkLW9mZi1ieTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBj b2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMgfCA2MSAr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvZHJtL2Ry bV9taXBpX2RzaS5oICAgICB8IDE1ICsrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDQwIGlu c2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fbWlwaV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbWlwaV9kc2kuYwppbmRleCAy ZDVjYThlZS4uMjQ1ZWNmZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9taXBpX2Rz aS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbWlwaV9kc2kuYwpAQCAtMTAyLDkgKzEwMiwx OCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRldmljZV90eXBlIG1pcGlfZHNpX2RldmljZV90eXBl ID0gewogCS5yZWxlYXNlID0gbWlwaV9kc2lfZGV2X3JlbGVhc2UsCiB9OwogCi1zdGF0aWMgc3Ry dWN0IG1pcGlfZHNpX2RldmljZSAqbWlwaV9kc2lfZGV2aWNlX2FsbG9jKHN0cnVjdCBtaXBpX2Rz aV9ob3N0ICpob3N0KQorc3RydWN0IG1pcGlfZHNpX2RldmljZSAqbWlwaV9kc2lfZGV2aWNlX25l dyhzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKKwkJCQkJICAgIHN0cnVjdCBtaXBpX2RzaV9k ZXZpY2VfaW5mbyAqaW5mbykKIHsKIAlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2k7CisJc3Ry dWN0IGRldmljZSAqZGV2ID0gaG9zdC0+ZGV2OworCWludCByOworCisJaWYgKGluZm8tPnJlZyA+ IDMpIHsKKwkJZGV2X2VycihkZXYsICJkZXZpY2Ugbm9kZSBoYXMgaW52YWxpZCByZWcgcHJvcGVy dHk6ICV1XG4iLAorCQkJaW5mby0+cmVnKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisJ fQogCiAJZHNpID0ga3phbGxvYyhzaXplb2YoKmRzaSksIEdGUF9LRVJORUwpOwogCWlmICghZHNp KQpAQCAtMTE0LDI2ICsxMjMsMjcgQEAgc3RhdGljIHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKm1p cGlfZHNpX2RldmljZV9hbGxvYyhzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCkKIAlkc2ktPmRl di5idXMgPSAmbWlwaV9kc2lfYnVzX3R5cGU7CiAJZHNpLT5kZXYucGFyZW50ID0gaG9zdC0+ZGV2 OwogCWRzaS0+ZGV2LnR5cGUgPSAmbWlwaV9kc2lfZGV2aWNlX3R5cGU7CisJZHNpLT5kZXYub2Zf bm9kZSA9IGluZm8tPm5vZGU7CisJZHNpLT5jaGFubmVsID0gaW5mby0+cmVnOwogCi0JZGV2aWNl X2luaXRpYWxpemUoJmRzaS0+ZGV2KTsKLQotCXJldHVybiBkc2k7Ci19Ci0KLXN0YXRpYyBpbnQg bWlwaV9kc2lfZGV2aWNlX2FkZChzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCi17Ci0Jc3Ry dWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QgPSBkc2ktPmhvc3Q7CisJZGV2X3NldF9uYW1lKCZkc2kt PmRldiwgIiVzLiVkIiwgZGV2X25hbWUoaG9zdC0+ZGV2KSwgaW5mby0+cmVnKTsKIAotCWRldl9z ZXRfbmFtZSgmZHNpLT5kZXYsICIlcy4lZCIsIGRldl9uYW1lKGhvc3QtPmRldiksICBkc2ktPmNo YW5uZWwpOworCXIgPSBkZXZpY2VfcmVnaXN0ZXIoJmRzaS0+ZGV2KTsKKwlpZiAocikgeworCQlk ZXZfZXJyKGRldiwgImZhaWxlZCB0byByZWdpc3RlciBkZXZpY2U6ICVkXG4iLCByKTsKKwkJa2Zy ZWUoZHNpKTsKKwkJcmV0dXJuIEVSUl9QVFIocik7CisJfQogCi0JcmV0dXJuIGRldmljZV9hZGQo JmRzaS0+ZGV2KTsKKwlyZXR1cm4gZHNpOwogfQorRVhQT1JUX1NZTUJPTChtaXBpX2RzaV9kZXZp Y2VfbmV3KTsKIAogc3RhdGljIHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKgogb2ZfbWlwaV9kc2lf ZGV2aWNlX2FkZChzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwgc3RydWN0IGRldmljZV9ub2Rl ICpub2RlKQogewotCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaTsKIAlzdHJ1Y3QgZGV2aWNl ICpkZXYgPSBob3N0LT5kZXY7CisJc3RydWN0IG1pcGlfZHNpX2RldmljZV9pbmZvIGluZm8gPSB7 IH07CiAJaW50IHJldDsKIAl1MzIgcmVnOwogCkBAIC0xNDQsMzEgKzE1NCwxMCBAQCBvZl9taXBp X2RzaV9kZXZpY2VfYWRkKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LCBzdHJ1Y3QgZGV2aWNl X25vZGUgKm5vZGUpCiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCX0KIAotCWlmIChyZWcg PiAzKSB7Ci0JCWRldl9lcnIoZGV2LCAiZGV2aWNlIG5vZGUgJXMgaGFzIGludmFsaWQgcmVnIHBy b3BlcnR5OiAldVxuIiwKLQkJCW5vZGUtPmZ1bGxfbmFtZSwgcmVnKTsKLQkJcmV0dXJuIEVSUl9Q VFIoLUVJTlZBTCk7Ci0JfQotCi0JZHNpID0gbWlwaV9kc2lfZGV2aWNlX2FsbG9jKGhvc3QpOwot CWlmIChJU19FUlIoZHNpKSkgewotCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSBE U0kgZGV2aWNlICVzOiAlbGRcbiIsCi0JCQlub2RlLT5mdWxsX25hbWUsIFBUUl9FUlIoZHNpKSk7 Ci0JCXJldHVybiBkc2k7Ci0JfQotCi0JZHNpLT5kZXYub2Zfbm9kZSA9IG9mX25vZGVfZ2V0KG5v ZGUpOwotCWRzaS0+Y2hhbm5lbCA9IHJlZzsKKwlpbmZvLnJlZyA9IHJlZzsKKwlpbmZvLm5vZGUg PSBvZl9ub2RlX2dldChub2RlKTsKIAotCXJldCA9IG1pcGlfZHNpX2RldmljZV9hZGQoZHNpKTsK LQlpZiAocmV0KSB7Ci0JCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFkZCBEU0kgZGV2aWNlICVz OiAlZFxuIiwKLQkJCW5vZGUtPmZ1bGxfbmFtZSwgcmV0KTsKLQkJa2ZyZWUoZHNpKTsKLQkJcmV0 dXJuIEVSUl9QVFIocmV0KTsKLQl9Ci0KLQlyZXR1cm4gZHNpOworCXJldHVybiBtaXBpX2RzaV9k ZXZpY2VfbmV3KGhvc3QsICZpbmZvKTsKIH0KIAogaW50IG1pcGlfZHNpX2hvc3RfcmVnaXN0ZXIo c3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f bWlwaV9kc2kuaCBiL2luY2x1ZGUvZHJtL2RybV9taXBpX2RzaS5oCmluZGV4IGYxZDhkMGQuLjkw ZjRmM2MgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9taXBpX2RzaS5oCisrKyBiL2luY2x1 ZGUvZHJtL2RybV9taXBpX2RzaS5oCkBAIC0xNDAsNiArMTQwLDE5IEBAIGVudW0gbWlwaV9kc2lf cGl4ZWxfZm9ybWF0IHsKIH07CiAKIC8qKgorICogc3RydWN0IG1pcGlfZHNpX2RldmljZV9pbmZv IC0gdGVtcGxhdGUgZm9yIGNyZWF0aW5nIGEgbWlwaV9kc2lfZGV2aWNlCisgKiBAcmVnOiBEU0kg dmlydHVhbCBjaGFubmVsIGFzc2lnbmVkIHRvIHBlcmlwaGVyYWwKKyAqIEBub2RlOiBwb2ludGVy IHRvIE9GIGRldmljZSBub2RlCisgKgorICogVGhpcyBpcyBwb3B1bGF0ZWQgYW5kIHBhc3NlZCB0 byBtaXBpX2RzaV9kZXZpY2VfbmV3IHRvIGNyZWF0ZSBhIG5ldworICogRFNJIGRldmljZQorICov CitzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlX2luZm8geworCXUzMiByZWc7CisJc3RydWN0IGRldmlj ZV9ub2RlICpub2RlOworfTsKKworLyoqCiAgKiBzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlIC0gRFNJ IHBlcmlwaGVyYWwgZGV2aWNlCiAgKiBAaG9zdDogRFNJIGhvc3QgZm9yIHRoaXMgcGVyaXBoZXJh bAogICogQGRldjogZHJpdmVyIG1vZGVsIGRldmljZSBub2RlIGZvciB0aGlzIHBlcmlwaGVyYWwK QEAgLTE3NCw2ICsxODcsOCBAQCBzc2l6ZV90IG1pcGlfZHNpX2dlbmVyaWNfd3JpdGUoc3RydWN0 IG1pcGlfZHNpX2RldmljZSAqZHNpLCBjb25zdCB2b2lkICpwYXlsb2FkLAogc3NpemVfdCBtaXBp X2RzaV9nZW5lcmljX3JlYWQoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpLCBjb25zdCB2b2lk ICpwYXJhbXMsCiAJCQkgICAgICBzaXplX3QgbnVtX3BhcmFtcywgdm9pZCAqZGF0YSwgc2l6ZV90 IHNpemUpOwogCitzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICptaXBpX2RzaV9kZXZpY2VfbmV3KHN0 cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAorCQkJCQkgICAgc3RydWN0IG1pcGlfZHNpX2Rldmlj ZV9pbmZvICppbmZvKTsKIC8qKgogICogZW51bSBtaXBpX2RzaV9kY3NfdGVhcl9tb2RlIC0gVGVh cmluZyBFZmZlY3QgT3V0cHV0IExpbmUgbW9kZQogICogQE1JUElfRFNJX0RDU19URUFSX01PREVf VkJMQU5LOiB0aGUgVEUgb3V0cHV0IGxpbmUgY29uc2lzdHMgb2YgVi1CbGFua2luZwotLSAKVGhl IFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2Rl IEF1cm9yYSBGb3J1bSwKaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=