From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: [RFC PATCH v2 4/4] drm/armada: Convert the probe function to the generic drm_of_component_probe() Date: Mon, 19 Oct 2015 13:21:53 +0100 Message-ID: <1445257313-7147-5-git-send-email-Liviu.Dudau@arm.com> References: <1445257313-7147-1-git-send-email-Liviu.Dudau@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1445257313-7147-1-git-send-email-Liviu.Dudau@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: David Airlie , Daniel Vetter , Philipp Zabel , Mark Yao , Heiko Stuebner , Russell King Cc: linux-rockchip , LAKML , dri-devel , LKML List-Id: linux-rockchip.vger.kernel.org VGhlIGFybWFkYSBEUk0gZHJpdmVyIGtlZXBzIHNvbWUgb2xkIHBsYXRmb3JtIGRhdGEgY29tcGF0 aWJpbGl0eSBpbiB0aGUKcHJvYmUgZnVuY3Rpb24gdGhhdCBtYWtlcyBtb3ZpbmcgdG8gdGhlIGdl bmVyaWMgZHJtX29mX2NvbXBvbmVudF9wcm9iZSgpCmEgYml0IG1vcmUgY29tcGxpY2F0ZWQgdGhh dCBpdCBzaG91bGQuIFJlZmFjdG9yIHRoZSBwcm9iZSBmdW5jdGlvbiB0byBkbwp0aGUgcGxhdGZv cm1fZGF0YSBwcm9jZXNzaW5nIGFmdGVyIHRoZSBnZW5lcmljIHByb2JlIChhbmQgb25seSBpZiB0 aGF0CmZhaWxzKS4gVGhpcyB3YXkgZnV0dXJlIGNsZWFudXAgY2FuIGZ1cnRoZXIgcmVtb3ZlIHN1 cHBvcnQgZm9yIGl0LgoKU2lnbmVkLW9mZi1ieTogTGl2aXUgRHVkYXUgPExpdml1LkR1ZGF1QGFy bS5jb20+CkNjOiBSdXNzZWxsIEtpbmcgPHJtaytrZXJuZWxAYXJtLmxpbnV4Lm9yZy51az4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9kcnYuYyB8IDczICsrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCsp LCA1MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2Fy bWFkYV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Rydi5jCmluZGV4IDYz ZDkwOWUuLjI1YzQyZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRh X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Rydi5jCkBAIC0xMSw2 ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvb2ZfZ3JhcGguaD4KICNpbmNsdWRlIDxkcm0vZHJt UC5oPgogI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KKyNpbmNsdWRlIDxkcm0vZHJt X29mLmg+CiAjaW5jbHVkZSAiYXJtYWRhX2NydGMuaCIKICNpbmNsdWRlICJhcm1hZGFfZHJtLmgi CiAjaW5jbHVkZSAiYXJtYWRhX2dlbS5oIgpAQCAtMjY1LDc4ICsyNjYsNDggQEAgc3RhdGljIHZv aWQgYXJtYWRhX2FkZF9lbmRwb2ludHMoc3RydWN0IGRldmljZSAqZGV2LAogCX0KIH0KIAotc3Rh dGljIGludCBhcm1hZGFfZHJtX2ZpbmRfY29tcG9uZW50cyhzdHJ1Y3QgZGV2aWNlICpkZXYsCi0J c3RydWN0IGNvbXBvbmVudF9tYXRjaCAqKm1hdGNoKQotewotCXN0cnVjdCBkZXZpY2Vfbm9kZSAq cG9ydDsKLQlpbnQgaTsKLQotCWlmIChkZXYtPm9mX25vZGUpIHsKLQkJc3RydWN0IGRldmljZV9u b2RlICpucCA9IGRldi0+b2Zfbm9kZTsKLQotCQlmb3IgKGkgPSAwOyA7IGkrKykgewotCQkJcG9y dCA9IG9mX3BhcnNlX3BoYW5kbGUobnAsICJwb3J0cyIsIGkpOwotCQkJaWYgKCFwb3J0KQotCQkJ CWJyZWFrOwotCi0JCQljb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgbWF0Y2gsIGNvbXBhcmVfb2Ys IHBvcnQpOwotCQkJb2Zfbm9kZV9wdXQocG9ydCk7Ci0JCX0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg Y29tcG9uZW50X21hc3Rlcl9vcHMgYXJtYWRhX21hc3Rlcl9vcHMgPSB7CisJLmJpbmQgPSBhcm1h ZGFfZHJtX2JpbmQsCisJLnVuYmluZCA9IGFybWFkYV9kcm1fdW5iaW5kLAorfTsKIAotCQlpZiAo aSA9PSAwKSB7Ci0JCQlkZXZfZXJyKGRldiwgIm1pc3NpbmcgJ3BvcnRzJyBwcm9wZXJ0eVxuIik7 Ci0JCQlyZXR1cm4gLUVOT0RFVjsKLQkJfQorc3RhdGljIGludCBhcm1hZGFfZHJtX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAq bWF0Y2ggPSBOVUxMOworCWludCByZXQ7CiAKLQkJZm9yIChpID0gMDsgOyBpKyspIHsKLQkJCXBv cnQgPSBvZl9wYXJzZV9waGFuZGxlKG5wLCAicG9ydHMiLCBpKTsKLQkJCWlmICghcG9ydCkKLQkJ CQlicmVhazsKKwlyZXQgPSBkcm1fb2ZfY29tcG9uZW50X3Byb2JlKCZwZGV2LT5kZXYsIGNvbXBh cmVfZGV2X25hbWUsCisJCQkJICAgICAmYXJtYWRhX21hc3Rlcl9vcHMpOworCWlmIChyZXQgIT0g LUVJTlZBTCkKKwkJcmV0dXJuIHJldDsKIAotCQkJYXJtYWRhX2FkZF9lbmRwb2ludHMoZGV2LCBt YXRjaCwgcG9ydCk7Ci0JCQlvZl9ub2RlX3B1dChwb3J0KTsKLQkJfQotCX0gZWxzZSBpZiAoZGV2 LT5wbGF0Zm9ybV9kYXRhKSB7Ci0JCWNoYXIgKipkZXZpY2VzID0gZGV2LT5wbGF0Zm9ybV9kYXRh OworCWlmIChwZGV2LT5kZXYucGxhdGZvcm1fZGF0YSkgeworCQljaGFyICoqZGV2aWNlcyA9IHBk ZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCQlzdHJ1Y3QgZGV2aWNlX25vZGUgKnBvcnQ7CiAJCXN0 cnVjdCBkZXZpY2UgKmQ7CisJCWludCBpOwogCiAJCWZvciAoaSA9IDA7IGRldmljZXNbaV07IGkr KykKLQkJCWNvbXBvbmVudF9tYXRjaF9hZGQoZGV2LCBtYXRjaCwgY29tcGFyZV9kZXZfbmFtZSwK KwkJCWNvbXBvbmVudF9tYXRjaF9hZGQoJnBkZXYtPmRldiwgbWF0Y2gsIGNvbXBhcmVfZGV2X25h bWUsCiAJCQkJCSAgICBkZXZpY2VzW2ldKTsKIAogCQlpZiAoaSA9PSAwKSB7Ci0JCQlkZXZfZXJy KGRldiwgIm1pc3NpbmcgJ3BvcnRzJyBwcm9wZXJ0eVxuIik7CisJCQlkZXZfZXJyKCZwZGV2LT5k ZXYsICJtaXNzaW5nICdwb3J0cycgcHJvcGVydHlcbiIpOwogCQkJcmV0dXJuIC1FTk9ERVY7CiAJ CX0KIAogCQlmb3IgKGkgPSAwOyBkZXZpY2VzW2ldOyBpKyspIHsKIAkJCWQgPSBidXNfZmluZF9k ZXZpY2VfYnlfbmFtZSgmcGxhdGZvcm1fYnVzX3R5cGUsIE5VTEwsCi0JCQkJCWRldmljZXNbaV0p OworCQkJCQkJICAgIGRldmljZXNbaV0pOwogCQkJaWYgKGQgJiYgZC0+b2Zfbm9kZSkgewogCQkJ CWZvcl9lYWNoX2NoaWxkX29mX25vZGUoZC0+b2Zfbm9kZSwgcG9ydCkKLQkJCQkJYXJtYWRhX2Fk ZF9lbmRwb2ludHMoZGV2LCBtYXRjaCwgcG9ydCk7CisJCQkJCWFybWFkYV9hZGRfZW5kcG9pbnRz KCZwZGV2LT5kZXYsIG1hdGNoLAorCQkJCQkJCSAgICAgcG9ydCk7CiAJCQl9CiAJCQlwdXRfZGV2 aWNlKGQpOwogCQl9CiAJfQogCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qg Y29tcG9uZW50X21hc3Rlcl9vcHMgYXJtYWRhX21hc3Rlcl9vcHMgPSB7Ci0JLmJpbmQgPSBhcm1h ZGFfZHJtX2JpbmQsCi0JLnVuYmluZCA9IGFybWFkYV9kcm1fdW5iaW5kLAotfTsKLQotc3RhdGlj IGludCBhcm1hZGFfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCi17Ci0J c3RydWN0IGNvbXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxMOwotCWludCByZXQ7Ci0KLQlyZXQg PSBhcm1hZGFfZHJtX2ZpbmRfY29tcG9uZW50cygmcGRldi0+ZGV2LCAmbWF0Y2gpOwotCWlmIChy ZXQgPCAwKQotCQlyZXR1cm4gcmV0OwotCiAJcmV0dXJuIGNvbXBvbmVudF9tYXN0ZXJfYWRkX3dp dGhfbWF0Y2goJnBkZXYtPmRldiwgJmFybWFkYV9tYXN0ZXJfb3BzLAogCQkJCQkgICAgICAgbWF0 Y2gpOwogfQotLSAKMi42LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==