From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH v2 4/4] drm/msm: Use exynos's model for handling component driver matching. Date: Thu, 17 Sep 2015 10:57:58 -0400 Message-ID: <1442501878-9037-4-git-send-email-eric@anholt.net> References: <1442501878-9037-1-git-send-email-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1442501878-9037-1-git-send-email-eric@anholt.net> 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 Cc: linux-arm-msm@vger.kernel.org, Seung-Woo Kim , linux-kernel@vger.kernel.org, Kyungmin Park List-Id: dri-devel@lists.freedesktop.org VGhpcyBlbGltaW5hdGVzIHRoZSBuZWVkIGZvciB0aGUgImNvbm5lY3RvcnMiIGFuZCAiZ3B1cyIg bm9kZXMgaW4gdGhlCmRldmljZXRyZWUsIHdoaWNoIHdlIHdlcmUgZG9pbmcgbm90aGluZyBjb25u ZWN0b3ItIG9yIGdwdS1zcGVjaWZpYwp3aXRoLgoKU2lnbmVkLW9mZi1ieTogRXJpYyBBbmhvbHQg PGVyaWNAYW5ob2x0Lm5ldD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyB8IDY1 ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvZHJt L2RybVAuaCAgICAgICAgICAgIHwgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9u cygrKSwgNDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwppbmRleCBhOWIwNTczLi40 ZTEyNjNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwpAQCAtMTAzOSwzNCArMTAzOSw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyBtc21fcG1fb3BzID0gewogICogQ29tcG9uZW50aXpl ZCBkcml2ZXIgc3VwcG9ydDoKICAqLwogCi0jaWZkZWYgQ09ORklHX09GCi0vKiBOT1RFOiB0aGUg Q09ORklHX09GIGNhc2UgZHVwbGljYXRlcyB0aGUgc2FtZSBjb2RlIGFzIGV4eW5vcyBvciBpbXgK LSAqIChvciBwcm9iYWJseSBhbnkgb3RoZXIpLi4gc28gcHJvYmFibHkgc29tZSByb29tIGZvciBz b21lIGhlbHBlcnMKLSAqLwotc3RhdGljIGludCBjb21wYXJlX29mKHN0cnVjdCBkZXZpY2UgKmRl diwgdm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gZGV2LT5vZl9ub2RlID09IGRhdGE7Ci19Ci0KLXN0 YXRpYyBpbnQgYWRkX2NvbXBvbmVudHMoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgY29tcG9u ZW50X21hdGNoICoqbWF0Y2hwdHIsCi0JCWNvbnN0IGNoYXIgKm5hbWUpCi17Ci0Jc3RydWN0IGRl dmljZV9ub2RlICpucCA9IGRldi0+b2Zfbm9kZTsKLQl1bnNpZ25lZCBpOwotCi0JZm9yIChpID0g MDsgOyBpKyspIHsKLQkJc3RydWN0IGRldmljZV9ub2RlICpub2RlOwotCi0JCW5vZGUgPSBvZl9w YXJzZV9waGFuZGxlKG5wLCBuYW1lLCBpKTsKLQkJaWYgKCFub2RlKQotCQkJYnJlYWs7Ci0KLQkJ Y29tcG9uZW50X21hdGNoX2FkZChkZXYsIG1hdGNocHRyLCBjb21wYXJlX29mLCBub2RlKTsKLQl9 Ci0KLQlyZXR1cm4gMDsKLX0KLSNlbHNlCisjaWZuZGVmIENPTkZJR19PRgogc3RhdGljIGludCBj b21wYXJlX2RldihzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCiB7CiAJcmV0dXJuIGRl diA9PSBkYXRhOwpAQCAtMTA4OCw2ICsxMDYxLDIwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29t cG9uZW50X21hc3Rlcl9vcHMgbXNtX2RybV9vcHMgPSB7CiAJLnVuYmluZCA9IG1zbV9kcm1fdW5i aW5kLAogfTsKIAorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmNvbnN0IG5vbmNvbXBv bmVudF9kcml2ZXJzW10gPSB7CisjaWYgSVNfRU5BQkxFRChDT05GSUdfRFJNX01TTV9EU0kpCisJ Jm1zbV9kc2lfcGh5X2RyaXZlciwKKyNlbmRpZgorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9y bV9kcml2ZXIgKmNvbnN0IGNvbXBvbmVudF9kcml2ZXJzW10gPSB7CisjaWYgSVNfRU5BQkxFRChD T05GSUdfRFJNX01TTV9EU0kpCisJJm1zbV9kc2lfZHJpdmVyLAorI2VuZGlmCisJJm1zbV9oZG1p X2RyaXZlciwKKwkmYWRyZW5vX2RyaXZlciwKK307CisKIC8qCiAgKiBQbGF0Zm9ybSBkcml2ZXI6 CiAgKi8KQEAgLTEwOTYsOCArMTA4Myw5IEBAIHN0YXRpYyBpbnQgbXNtX3BkZXZfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAlzdHJ1Y3QgY29tcG9uZW50X21hdGNoICpt YXRjaCA9IE5VTEw7CiAjaWZkZWYgQ09ORklHX09GCi0JYWRkX2NvbXBvbmVudHMoJnBkZXYtPmRl diwgJm1hdGNoLCAiY29ubmVjdG9ycyIpOwotCWFkZF9jb21wb25lbnRzKCZwZGV2LT5kZXYsICZt YXRjaCwgImdwdXMiKTsKKwlkcm1fcGxhdGZvcm1fY29tcG9uZW50X21hdGNoX2FkZF9kcml2ZXJz KCZwZGV2LT5kZXYsICZtYXRjaCwKKwkJCQkJCSBjb21wb25lbnRfZHJpdmVycywKKwkJCQkJCSBB UlJBWV9TSVpFKGNvbXBvbmVudF9kcml2ZXJzKSk7CiAjZWxzZQogCS8qIEZvciBub24tRFQgY2Fz ZSwgaXQga2luZGEgc3Vja3MuICBXZSBkb24ndCBhY3R1YWxseSBoYXZlIGEgd2F5CiAJICogdG8g a25vdyB3aGV0aGVyIG9yIG5vdCB3ZSBhcmUgd2FpdGluZyBmb3IgY2VydGFpbiBkZXZpY2VzIChv ciBpZgpAQCAtMTE1OSwyMCArMTE0NywxNyBAQCBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZl ciBtc21fcGxhdGZvcm1fZHJpdmVyID0gewogCS5pZF90YWJsZSAgID0gbXNtX2lkLAogfTsKIAot c3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmNvbnN0IGNvbXBvbmVudF9kcml2ZXJzW10g PSB7Ci0jaWYgSVNfRU5BQkxFRChDT05GSUdfRFJNX01TTV9EU0kpCi0JJm1zbV9kc2lfcGh5X2Ry aXZlciwKLQkmbXNtX2RzaV9kcml2ZXIsCi0jZW5kaWYKLQkmbXNtX2hkbWlfZHJpdmVyLAotCSZh ZHJlbm9fZHJpdmVyLAotfTsKLQogc3RhdGljIGludCBfX2luaXQgbXNtX2RybV9yZWdpc3Rlcih2 b2lkKQogewogCWludCByZXQ7CiAKIAlEQkcoImluaXQiKTsKKworCXJldCA9IGRybV9wbGF0Zm9y bV9yZWdpc3Rlcl9kcml2ZXJzKG5vbmNvbXBvbmVudF9kcml2ZXJzLAorCQkJCQkgICAgQVJSQVlf U0laRShub25jb21wb25lbnRfZHJpdmVycykpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisK IAlyZXQgPSBkcm1fcGxhdGZvcm1fcmVnaXN0ZXJfZHJpdmVycyhjb21wb25lbnRfZHJpdmVycywK IAkJCQkJICAgIEFSUkFZX1NJWkUoY29tcG9uZW50X2RyaXZlcnMpKTsKIAlpZiAocmV0KQpAQCAt MTE4Nyw2ICsxMTcyLDggQEAgc3RhdGljIHZvaWQgX19leGl0IG1zbV9kcm1fdW5yZWdpc3Rlcih2 b2lkKQogCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZtc21fcGxhdGZvcm1fZHJpdmVyKTsK IAlkcm1fcGxhdGZvcm1fdW5yZWdpc3Rlcl9kcml2ZXJzKGNvbXBvbmVudF9kcml2ZXJzLAogCQkJ CQlBUlJBWV9TSVpFKGNvbXBvbmVudF9kcml2ZXJzKSk7CisJZHJtX3BsYXRmb3JtX3VucmVnaXN0 ZXJfZHJpdmVycyhub25jb21wb25lbnRfZHJpdmVycywKKwkJCQkJQVJSQVlfU0laRShub25jb21w b25lbnRfZHJpdmVycykpOwogfQogCiBtb2R1bGVfaW5pdChtc21fZHJtX3JlZ2lzdGVyKTsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaAppbmRleCBi NjVkODg2Li4wZGE4NTk5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1QLmgKKysrIGIvaW5j bHVkZS9kcm0vZHJtUC5oCkBAIC0xMDk0LDcgKzEwOTQsNyBAQCB2b2lkIGRybV9wbGF0Zm9ybV91 bnJlZ2lzdGVyX2RyaXZlcnMoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqY29uc3QgKmRydiwKIAkJ CQkgICAgIGludCBjb3VudCk7CiB2b2lkIGRybV9wbGF0Zm9ybV9jb21wb25lbnRfbWF0Y2hfYWRk X2RyaXZlcnMoc3RydWN0IGRldmljZSAqZGV2LAogCQkJCQkgICAgICBzdHJ1Y3QgY29tcG9uZW50 X21hdGNoICoqbWF0Y2gsCi0JCQkJCSAgICAgIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKipkcml2 ZXJzLAorCQkJCQkgICAgICBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpjb25zdCAqZHJpdmVycywK IAkJCQkJICAgICAgaW50IGNvdW50KTsKIAogLyogcmV0dXJucyB0cnVlIGlmIGN1cnJlbnRseSBv a2F5IHRvIHNsZWVwICovCi0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK