From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH v2 1/4] drm: Put platform driver registration/unregistration loops in core. Date: Thu, 17 Sep 2015 10:57:55 -0400 Message-ID: <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: 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 VGhpcyBpcyBtb3N0bHkganVzdCBhIG1vdmUgb2YgdGhlIGNvZGUgZnJvbSBleHlub3MsIHdpdGgg YSBzbGlnaHQKcmVmb3JtYXQuICBJIHdhbnRlZCB0byBkbyBhIHNpbWlsYXIgdGhpbmcgZm9yIHZj NCwgYW5kIG1zbSBsb29rcyBsaWtlCmEgZ29vZCBjYW5kaWRhdGUgYXMgd2VsbC4KClNpZ25lZC1v ZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+Ci0tLQoKdjI6IE1vdmUgdG8gdGhl IEtNUyBoZWxwZXIgY29uZmlnIGZsYWcsIGFuZCBhZGQgb3VyIGtlcm5lbGRvYyB0bwogICAgZHJt LnRtcGwgKHVuZGVyIHRoZSAiRHJpdmVyIEluaXRpYWxpemF0aW9uIiBzZWN0aW9uKSwgYXMgcmVx dWVzdGVkCiAgICBieSBkYW52ZXQuICBNb3ZlIHRvIGRybV9wbGF0Zm9ybV9oZWxwZXIuYyBpbnN0 ZWFkIG9mIF9oZWxwZXJzLmMgdG8KICAgIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBmaWxlcy4K CiBEb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwgICAgICAgICAgfCAgNCArKysKIGRyaXZl cnMvZ3B1L2RybS9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9k cm0vZHJtX3BsYXRmb3JtX2hlbHBlci5jICAgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYyB8IDM4ICsr KystLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2RybS9kcm1QLmggICAgICAgICAgICAgICAg ICAgICAgfCAgNCArKysKIDUgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMzMgZGVs ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2RybV9wbGF0Zm9y bV9oZWxwZXIuYwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9kcm0udG1wbCBi L0RvY3VtZW50YXRpb24vRG9jQm9vay9kcm0udG1wbAppbmRleCA5ZGRmOGM2Li4xNjc4ZDhmIDEw MDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwKKysrIGIvRG9jdW1lbnRh dGlvbi9Eb2NCb29rL2RybS50bXBsCkBAIC00NjUsNiArNDY1LDEwIEBAIGNoYXIgKmRhdGU7PC9z eW5vcHNpcz4KICAgICAgICAgPC9wYXJhPgogICAgICAgPC9zZWN0Mz4KICAgICA8L3NlY3QyPgor ICAgIDxzZWN0Mj4KKyAgICAgIDx0aXRsZT5QbGF0Zm9ybSBIZWxwZXIgRnVuY3Rpb25zIFJlZmVy ZW5jZTwvdGl0bGU+CishRWRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhdGZvcm1faGVscGVyLmMKKyAg ICA8L3NlY3QyPgogICA8L3NlY3QxPgogCiAgIDwhLS0gSW50ZXJuYWxzOiBtZW1vcnkgbWFuYWdl bWVudCAtLT4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMv Z3B1L2RybS9NYWtlZmlsZQppbmRleCA0NWU3NzE5Li44ZTNmMjUxIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCkBAIC0y MSw3ICsyMSw4IEBAIGRybS0kKENPTkZJR19EUk1fUEFORUwpICs9IGRybV9wYW5lbC5vCiBkcm0t JChDT05GSUdfT0YpICs9IGRybV9vZi5vCiAKIGRybV9rbXNfaGVscGVyLXkgOj0gZHJtX2NydGNf aGVscGVyLm8gZHJtX2RwX2hlbHBlci5vIGRybV9wcm9iZV9oZWxwZXIubyBcCi0JCWRybV9wbGFu ZV9oZWxwZXIubyBkcm1fZHBfbXN0X3RvcG9sb2d5Lm8gZHJtX2F0b21pY19oZWxwZXIubworCQlk cm1fcGxhbmVfaGVscGVyLm8gZHJtX2RwX21zdF90b3BvbG9neS5vIGRybV9hdG9taWNfaGVscGVy Lm8gXAorCQlkcm1fcGxhdGZvcm1faGVscGVyLm8KIGRybV9rbXNfaGVscGVyLSQoQ09ORklHX0RS TV9MT0FEX0VESURfRklSTVdBUkUpICs9IGRybV9lZGlkX2xvYWQubwogZHJtX2ttc19oZWxwZXIt JChDT05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTikgKz0gZHJtX2ZiX2hlbHBlci5vCiBkcm1fa21z X2hlbHBlci0kKENPTkZJR19EUk1fS01TX0NNQV9IRUxQRVIpICs9IGRybV9mYl9jbWFfaGVscGVy Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhdGZvcm1faGVscGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX3BsYXRmb3JtX2hlbHBlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjQ1MDg0NmYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX3BsYXRmb3JtX2hlbHBlci5jCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln aHQgKGMpIDIwMTEgU2Ftc3VuZyBFbGVjdHJvbmljcyBDby4sIEx0ZC4KKyAqCisgKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgIGl0IGFuZC9vciBt b2RpZnkgaXQKKyAqIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCisgKiBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxkcm0vZHJtUC5oPgorCisv KioKKyAqIGRybV9wbGF0Zm9ybV9yZWdpc3Rlcl9kcml2ZXJzIC0gSGVscGVyIHRvIHJlZ2lzdGVy IGFuIGFycmF5IG9mCisgKiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVycyB3dGggcGxhdGZvcm1fZHJp dmVyX3JlZ2lzdGVyKCkuCisgKiBAZHJ2OiAgIGFycmF5IG9mIHBsYXRmb3JtIGRyaXZlcnMgdG8g cmVnaXN0ZXIKKyAqIEBjb3VudDogbnVtYmVyIG9mIGRyaXZlcnMgaW4gdGhlIGFycmF5CisgKgor ICogVXNlIGRybV9wbGF0Zm9ybV91bnJlZ2lzdGVyX2RyaXZlcnMoKSB0byB1bmRvIHRoaXMuCisg KgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIC1lcnJubyB2YWx1ZSBmcm9tIHRoZSBsYXN0Cisg KiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIgb3RoZXJ3aXNlLgorICovCitpbnQgZHJtX3BsYXRm b3JtX3JlZ2lzdGVyX2RyaXZlcnMoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqY29uc3QgKmRydiwK KwkJCQkgIGludCBjb3VudCkKK3sKKwlpbnQgaSwgcmV0OworCisJZm9yIChpID0gMDsgaSA8IGNv dW50OyArK2kpIHsKKwkJcmV0ID0gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKGRydltpXSk7CisJ CWlmIChyZXQpIHsKKwkJCXdoaWxlICgtLWkgPj0gMCkKKwkJCQlwbGF0Zm9ybV9kcml2ZXJfdW5y ZWdpc3RlcihkcnZbaV0pOworCQkJcmV0dXJuIHJldDsKKwkJfQorCX0KKworCXJldHVybiAwOwor fQorRVhQT1JUX1NZTUJPTF9HUEwoZHJtX3BsYXRmb3JtX3JlZ2lzdGVyX2RyaXZlcnMpOworCisv KioKKyAqIGRybV9wbGF0Zm9ybV91bnJlZ2lzdGVyX2RyaXZlcnMgLSBIZWxwZXIgdG8gdW5yZWdp c3RlciBhbiBhcnJheSBvZgorICogc3RydWN0IHBsYXRmb3JtX2RyaXZlcnMuCisgKiBAZHJ2OiAg IGFycmF5IG9mIHBsYXRmb3JtIGRyaXZlcnMgdG8gdW5yZWdpc3RlcgorICogQGNvdW50OiBudW1i ZXIgb2YgZHJpdmVycyBpbiB0aGUgYXJyYXkKKyAqLwordm9pZCBkcm1fcGxhdGZvcm1fdW5yZWdp c3Rlcl9kcml2ZXJzKHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmNvbnN0ICpkcnYsCisJCQkJICAg ICBpbnQgY291bnQpCit7CisJd2hpbGUgKC0tY291bnQgPj0gMCkKKwkJcGxhdGZvcm1fZHJpdmVy X3VucmVnaXN0ZXIoZHJ2W2NvdW50XSk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChkcm1fcGxhdGZv cm1fdW5yZWdpc3Rlcl9kcml2ZXJzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9k cnYuYwppbmRleCBmYTUxOTRjLi44M2Y4MjliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfZHJtX2Rydi5jCkBAIC01MjAsNTMgKzUyMCwyNyBAQCBzdGF0aWMgaW50IGV4eW5vc19kcm1f cmVnaXN0ZXJfZGV2aWNlcyh2b2lkKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBleHlu b3NfZHJtX3VucmVnaXN0ZXJfZHJpdmVycyhzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICogY29uc3Qg KmRydiwKLQkJCQkJICBpbnQgY291bnQpCi17Ci0Jd2hpbGUgKC0tY291bnQgPj0gMCkKLQkJcGxh dGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoZHJ2W2NvdW50XSk7Ci19Ci0KLXN0YXRpYyBpbnQgZXh5 bm9zX2RybV9yZWdpc3Rlcl9kcml2ZXJzKHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKiBjb25zdCAq ZHJ2LAotCQkJCSAgICAgICBpbnQgY291bnQpCi17Ci0JaW50IGksIHJldDsKLQotCWZvciAoaSA9 IDA7IGkgPCBjb3VudDsgKytpKSB7Ci0JCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3Rlcihk cnZbaV0pOwotCQlpZiAoIXJldCkKLQkJCWNvbnRpbnVlOwotCi0JCXdoaWxlICgtLWkgPj0gMCkK LQkJCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKGRydltpXSk7Ci0KLQkJcmV0dXJuIHJldDsK LQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGlubGluZSBpbnQgZXh5bm9zX2RybV9yZWdp c3Rlcl9rbXNfZHJpdmVycyh2b2lkKQogewotCXJldHVybiBleHlub3NfZHJtX3JlZ2lzdGVyX2Ry aXZlcnMoZXh5bm9zX2RybV9rbXNfZHJpdmVycywKLQkJCQkJQVJSQVlfU0laRShleHlub3NfZHJt X2ttc19kcml2ZXJzKSk7CisJcmV0dXJuIGRybV9wbGF0Zm9ybV9yZWdpc3Rlcl9kcml2ZXJzKGV4 eW5vc19kcm1fa21zX2RyaXZlcnMsCisJCQkJCSAgICAgQVJSQVlfU0laRShleHlub3NfZHJtX2tt c19kcml2ZXJzKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGV4eW5vc19kcm1fcmVnaXN0ZXJf bm9uX2ttc19kcml2ZXJzKHZvaWQpCiB7Ci0JcmV0dXJuIGV4eW5vc19kcm1fcmVnaXN0ZXJfZHJp dmVycyhleHlub3NfZHJtX25vbl9rbXNfZHJpdmVycywKLQkJCQkJQVJSQVlfU0laRShleHlub3Nf ZHJtX25vbl9rbXNfZHJpdmVycykpOworCXJldHVybiBkcm1fcGxhdGZvcm1fcmVnaXN0ZXJfZHJp dmVycyhleHlub3NfZHJtX25vbl9rbXNfZHJpdmVycywKKwkJCQkJICAgICBBUlJBWV9TSVpFKGV4 eW5vc19kcm1fbm9uX2ttc19kcml2ZXJzKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBleHlu b3NfZHJtX3VucmVnaXN0ZXJfa21zX2RyaXZlcnModm9pZCkKIHsKLQlleHlub3NfZHJtX3VucmVn aXN0ZXJfZHJpdmVycyhleHlub3NfZHJtX2ttc19kcml2ZXJzLAorCWRybV9wbGF0Zm9ybV91bnJl Z2lzdGVyX2RyaXZlcnMoZXh5bm9zX2RybV9rbXNfZHJpdmVycywKIAkJCQkJQVJSQVlfU0laRShl eHlub3NfZHJtX2ttc19kcml2ZXJzKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBleHlub3Nf ZHJtX3VucmVnaXN0ZXJfbm9uX2ttc19kcml2ZXJzKHZvaWQpCiB7Ci0JZXh5bm9zX2RybV91bnJl Z2lzdGVyX2RyaXZlcnMoZXh5bm9zX2RybV9ub25fa21zX2RyaXZlcnMsCisJZHJtX3BsYXRmb3Jt X3VucmVnaXN0ZXJfZHJpdmVycyhleHlub3NfZHJtX25vbl9rbXNfZHJpdmVycywKIAkJCQkJQVJS QVlfU0laRShleHlub3NfZHJtX25vbl9rbXNfZHJpdmVycykpOwogfQogCmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKaW5kZXggOGI1Y2U3Yy4uYTc3 NDU3NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2Ry bVAuaApAQCAtMTA4Nyw2ICsxMDg3LDEwIEBAIGV4dGVybiBpbnQgZHJtX3BjaWVfZ2V0X3NwZWVk X2NhcF9tYXNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiAqc3BlZWRfbWFzayk7CiAvKiBw bGF0Zm9ybSBzZWN0aW9uICovCiBleHRlcm4gaW50IGRybV9wbGF0Zm9ybV9pbml0KHN0cnVjdCBk cm1fZHJpdmVyICpkcml2ZXIsIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRmb3JtX2Rldmlj ZSk7CiBleHRlcm4gaW50IGRybV9wbGF0Zm9ybV9zZXRfYnVzaWQoc3RydWN0IGRybV9kZXZpY2Ug KmQsIHN0cnVjdCBkcm1fbWFzdGVyICptKTsKK2ludCBkcm1fcGxhdGZvcm1fcmVnaXN0ZXJfZHJp dmVycyhzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpjb25zdCAqZHJ2LAorCQkJCSAgaW50IGNvdW50 KTsKK3ZvaWQgZHJtX3BsYXRmb3JtX3VucmVnaXN0ZXJfZHJpdmVycyhzdHJ1Y3QgcGxhdGZvcm1f ZHJpdmVyICpjb25zdCAqZHJ2LAorCQkJCSAgICAgaW50IGNvdW50KTsKIAogLyogcmV0dXJucyB0 cnVlIGlmIGN1cnJlbnRseSBva2F5IHRvIHNsZWVwICovCiBzdGF0aWMgX19pbmxpbmVfXyBib29s IGRybV9jYW5fc2xlZXAodm9pZCkKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=