From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: [RFC PATCH v2 1/4] drm: Introduce generic probe function for component based masters. Date: Mon, 19 Oct 2015 13:21:50 +0100 Message-ID: <1445257313-7147-2-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 QSBsb3Qgb2YgY29tcG9uZW50IGJhc2VkIERSTSBkcml2ZXJzIHVzZSBhIHZhcmlhbnQgb2YgdGhl IHNhbWUgY29kZQphcyB0aGUgcHJvYmUgZnVuY3Rpb24uIFRoZXkgYmluZCB0aGUgY3J0YyBwb3J0 cyBpbiB0aGUgZmlyc3QgaXRlcmF0aW9uCmFuZCB0aGVuIHNjYW4gdGhyb3VnaCB0aGUgY2hpbGQg bm9kZXMgYW5kIGJpbmQgdGhlIGVuY29kZXJzIGF0dGFjaGVkCnRvIHRoZSByZW1vdGUgZW5kcG9p bnRzLiBGYWN0b3IgdGhlIGNvbW1vbiBjb2RlIGludG8gYSBzZXBhcmF0ZQpmdW5jdGlvbiBjYWxs ZWQgZHJtX29mX2NvbXBvbmVudF9wcm9iZSgpIGluIG9yZGVyIHRvIGluY3JlYXNlIGNvZGUKcmV1 c2UuCgpDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpTaWduZWQtb2ZmLWJ5OiBM aXZpdSBEdWRhdSA8TGl2aXUuRHVkYXVAYXJtLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJt X29mLmMgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIGluY2x1ZGUvZHJtL2RybV9vZi5oICAgICB8IDEyICsrKysrKysKIDIgZmlsZXMgY2hhbmdl ZCwgMTA0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX29m LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX29mLmMKaW5kZXggYmUzODg0MC4uY2YxNjI0MCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9vZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fb2YuYwpAQCAtMSwzICsxLDQgQEAKKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KICNp bmNsdWRlIDxsaW51eC9leHBvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVk ZSA8bGludXgvb2ZfZ3JhcGguaD4KQEAgLTYxLDMgKzYyLDk0IEBAIHVpbnQzMl90IGRybV9vZl9m aW5kX3Bvc3NpYmxlX2NydGNzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0dXJuIHBvc3Np YmxlX2NydGNzOwogfQogRVhQT1JUX1NZTUJPTChkcm1fb2ZfZmluZF9wb3NzaWJsZV9jcnRjcyk7 CisKKy8qKgorICogZHJtX29mX2NvbXBvbmVudF9wcm9iZSAtIEdlbmVyaWMgcHJvYmUgZnVuY3Rp b24gZm9yIGEgY29tcG9uZW50IGJhc2VkIG1hc3RlcgorICogQGRldjogbWFzdGVyIGRldmljZSBj b250YWluaW5nIHRoZSBPRiBub2RlCisgKiBAY29tcGFyZV9vZjogY29tcGFyZSBmdW5jdGlvbiB1 c2VkIGZvciBtYXRjaGluZyBjb21wb25lbnRzCisgKiBAbWFzdGVyX29wczogY29tcG9uZW50IG1h c3RlciBvcHMgdG8gYmUgdXNlZAorICoKKyAqIFBhcnNlIHRoZSBwbGF0Zm9ybSBkZXZpY2UgT0Yg bm9kZSBhbmQgYmluZCBhbGwgdGhlIGNvbXBvbmVudHMgYXNzb2NpYXRlZAorICogd2l0aCB0aGUg bWFzdGVyLiBJbnRlcmZhY2UgcG9ydHMgYXJlIGFkZGVkIGJlZm9yZSB0aGUgZW5jb2RlcnMgaW4g b3JkZXIgdG8KKyAqIHNhdGlzZnkgdGhlaXIgLmJpbmQgcmVxdWlyZW1lbnRzCisgKiBTZWUgRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2dyYXBoLnR4dCBmb3IgdGhlIGJpbmRpbmdz LgorICoKKyAqIFJldHVybnMgemVybyBpZiBzdWNjZXNzZnVsLCBvciBvbmUgb2YgdGhlIHN0YW5k YXJkIGVycm9yIGNvZGVzIGlmIGl0IGZhaWxzLgorICovCitpbnQgZHJtX29mX2NvbXBvbmVudF9w cm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkgICBpbnQgKCpjb21wYXJlX29mKShzdHJ1Y3Qg ZGV2aWNlICosIHZvaWQgKiksCisJCQkgICBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X21hc3Rlcl9v cHMgKm1hc3Rlcl9vcHMpCit7CisJc3RydWN0IGRldmljZV9ub2RlICplcCwgKnBvcnQsICpyZW1v dGU7CisJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxMOworCWludCBpLCByZXQ7 CisKKwlpZiAoIWRldi0+b2Zfbm9kZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKgorCSAqIEJp bmQgdGhlIGNydGMncyBwb3J0cyBmaXJzdCwgc28gdGhhdCBkcm1fb2ZfZmluZF9wb3NzaWJsZV9j cnRjcygpCisJICogY2FsbGVkIGZyb20gZW5jb2RlcidzIC5iaW5kIGNhbGxiYWNrcyB3b3JrcyBh cyBleHBlY3RlZAorCSAqLworCWZvciAoaSA9IDA7IDsgaSsrKSB7CisJCXBvcnQgPSBvZl9wYXJz ZV9waGFuZGxlKGRldi0+b2Zfbm9kZSwgInBvcnRzIiwgaSk7CisJCWlmICghcG9ydCkKKwkJCWJy ZWFrOworCisJCWlmICghb2ZfZGV2aWNlX2lzX2F2YWlsYWJsZShwb3J0LT5wYXJlbnQpKSB7CisJ CQlvZl9ub2RlX3B1dChwb3J0KTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJY29tcG9uZW50X21h dGNoX2FkZChkZXYsICZtYXRjaCwgY29tcGFyZV9vZiwgcG9ydCk7CisJCW9mX25vZGVfcHV0KHBv cnQpOworCX0KKworCWlmIChpID09IDApIHsKKwkJZGV2X2VycihkZXYsICJtaXNzaW5nICdwb3J0 cycgcHJvcGVydHlcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlpZiAoIW1hdGNoKSB7 CisJCWRldl9lcnIoZGV2LCAibm8gYXZhaWxhYmxlIHBvcnRcbiIpOworCQlyZXR1cm4gLUVOT0RF VjsKKwl9CisKKwkvKgorCSAqIEZvciBib3VuZCBjcnRjcywgYmluZCB0aGUgZW5jb2RlcnMgYXR0 YWNoZWQgdG8gdGhlaXIgcmVtb3RlIGVuZHBvaW50CisJICovCisJZm9yIChpID0gMDsgOyBpKysp IHsKKwkJcG9ydCA9IG9mX3BhcnNlX3BoYW5kbGUoZGV2LT5vZl9ub2RlLCAicG9ydHMiLCBpKTsK KwkJaWYgKCFwb3J0KQorCQkJYnJlYWs7CisKKwkJaWYgKCFvZl9kZXZpY2VfaXNfYXZhaWxhYmxl KHBvcnQtPnBhcmVudCkpIHsKKwkJCW9mX25vZGVfcHV0KHBvcnQpOworCQkJY29udGludWU7CisJ CX0KKworCQlmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKHBvcnQsIGVwKSB7CisJCQlyZW1vdGUgPSBv Zl9ncmFwaF9nZXRfcmVtb3RlX3BvcnRfcGFyZW50KGVwKTsKKwkJCWlmICghcmVtb3RlIHx8ICFv Zl9kZXZpY2VfaXNfYXZhaWxhYmxlKHJlbW90ZSkpIHsKKwkJCQlvZl9ub2RlX3B1dChyZW1vdGUp OworCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlIGlmICghb2ZfZGV2aWNlX2lzX2F2YWlsYWJsZShy ZW1vdGUtPnBhcmVudCkpIHsKKwkJCQlkZXZfd2FybihkZXYsICJwYXJlbnQgZGV2aWNlIG9mICVz IGlzIG5vdCBhdmFpbGFibGVcbiIsCisJCQkJCSByZW1vdGUtPmZ1bGxfbmFtZSk7CisJCQkJb2Zf bm9kZV9wdXQocmVtb3RlKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJY29tcG9uZW50X21h dGNoX2FkZChkZXYsICZtYXRjaCwgY29tcGFyZV9vZiwgcmVtb3RlKTsKKwkJCW9mX25vZGVfcHV0 KHJlbW90ZSk7CisJCX0KKwkJb2Zfbm9kZV9wdXQocG9ydCk7CisJfQorCisJcmV0ID0gZG1hX3Nl dF9jb2hlcmVudF9tYXNrKGRldiwgRE1BX0JJVF9NQVNLKDMyKSk7CisJaWYgKHJldCkKKwkJcmV0 dXJuIHJldDsKKworCXJldHVybiBjb21wb25lbnRfbWFzdGVyX2FkZF93aXRoX21hdGNoKGRldiwg bWFzdGVyX29wcywgbWF0Y2gpOworfQorRVhQT1JUX1NZTUJPTChkcm1fb2ZfY29tcG9uZW50X3By b2JlKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9vZi5oIGIvaW5jbHVkZS9kcm0vZHJt X29mLmgKaW5kZXggMjQ0MWY3MS4uN2MwYzA1YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJt X29mLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX29mLmgKQEAgLTEsMTggKzEsMzAgQEAKICNpZm5k ZWYgX19EUk1fT0ZfSF9fCiAjZGVmaW5lIF9fRFJNX09GX0hfXwogCitzdHJ1Y3QgY29tcG9uZW50 X21hc3Rlcl9vcHM7CitzdHJ1Y3QgZGV2aWNlOwogc3RydWN0IGRybV9kZXZpY2U7CiBzdHJ1Y3Qg ZGV2aWNlX25vZGU7CiAKICNpZmRlZiBDT05GSUdfT0YKIGV4dGVybiB1aW50MzJfdCBkcm1fb2Zf ZmluZF9wb3NzaWJsZV9jcnRjcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCQkgICBzdHJ1 Y3QgZGV2aWNlX25vZGUgKnBvcnQpOworZXh0ZXJuIGludCBkcm1fb2ZfY29tcG9uZW50X3Byb2Jl KHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgIGludCAoKmNvbXBhcmVfb2YpKHN0cnVjdCBkZXZp Y2UgKiwgdm9pZCAqKSwKKwkJCQkgIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfbWFzdGVyX29wcyAq bWFzdGVyX29wcyk7CiAjZWxzZQogc3RhdGljIGlubGluZSB1aW50MzJfdCBkcm1fb2ZfZmluZF9w b3NzaWJsZV9jcnRjcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCQkJICBzdHJ1Y3QgZGV2 aWNlX25vZGUgKnBvcnQpCiB7CiAJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbmxpbmUgaW50IGRy bV9vZl9jb21wb25lbnRfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQlpbnQgKCpjb21w YXJlX29mKShzdHJ1Y3QgZGV2aWNlICosIHZvaWQgKiksCisJCQkJCSBjb25zdCBzdHJ1Y3QgY29t cG9uZW50X21hc3Rlcl9vcHMgKm1hc3Rlcl9vcHMpCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CiAj ZW5kaWYKIAogI2VuZGlmIC8qIF9fRFJNX09GX0hfXyAqLwotLSAKMi42LjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==