From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 1/4] drm: Put platform driver registration/unregistration loops in core. Date: Wed, 16 Sep 2015 14:14:07 -0400 Message-ID: <1442427250-9833-2-git-send-email-eric@anholt.net> References: <1442427250-9833-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: <1442427250-9833-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 VGhpcyBpcyBtb3N0bHkganVzdCBhIG1vdmUgb2YgdGhlIGNvZGUgZnJvbSBleHlub3MsIHdpdGgg YSBzbGlnaHQKcmVmb3JtYXQuICBJIHdhbnRlZCB0byBkbyBhIHNpbWlsYXIgdGhpbmcgZm9yIHZj NCwgYW5kIG1zbSBsb29rcyBsaWtlCmEgZ29vZCBjYW5kaWRhdGUgYXMgd2VsbC4KClNpZ25lZC1v ZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJt L01ha2VmaWxlICAgICAgICAgICAgICAgIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3Bs YXRmb3JtX2hlbHBlcnMuYyAgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYyB8IDM4ICsrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvZHJtL2RybVAuaCAgICAgICAgICAgICAgICAgICAg ICB8ICA0ICsrKwogNCBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYXRmb3JtX2hl bHBlcnMuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSBiL2RyaXZlcnMv Z3B1L2RybS9NYWtlZmlsZQppbmRleCA0NWU3NzE5Li4yNjZkMTk5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCkBAIC03 LDcgKzcsOCBAQCBkcm0teSAgICAgICA6PQlkcm1fYXV0aC5vIGRybV9idWZzLm8gZHJtX2NhY2hl Lm8gXAogCQlkcm1fZm9wcy5vIGRybV9nZW0ubyBkcm1faW9jdGwubyBkcm1faXJxLm8gXAogCQlk cm1fbG9jay5vIGRybV9tZW1vcnkubyBkcm1fZHJ2Lm8gZHJtX3ZtLm8gXAogCQlkcm1fYWdwc3Vw cG9ydC5vIGRybV9zY2F0dGVyLm8gZHJtX3BjaS5vIFwKLQkJZHJtX3BsYXRmb3JtLm8gZHJtX3N5 c2ZzLm8gZHJtX2hhc2h0YWIubyBkcm1fbW0ubyBcCisJCWRybV9wbGF0Zm9ybS5vIGRybV9wbGF0 Zm9ybV9oZWxwZXJzLm8gXAorCQlkcm1fc3lzZnMubyBkcm1faGFzaHRhYi5vIGRybV9tbS5vIFwK IAkJZHJtX2NydGMubyBkcm1fbW9kZXMubyBkcm1fZWRpZC5vIFwKIAkJZHJtX2luZm8ubyBkcm1f ZGVidWdmcy5vIGRybV9lbmNvZGVyX3NsYXZlLm8gXAogCQlkcm1fdHJhY2VfcG9pbnRzLm8gZHJt X2dsb2JhbC5vIGRybV9wcmltZS5vIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f cGxhdGZvcm1faGVscGVycy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGF0Zm9ybV9oZWxwZXJz LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU0YzNlMwotLS0gL2Rldi9u dWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhdGZvcm1faGVscGVycy5jCkBAIC0wLDAg KzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEgU2Ftc3VuZyBFbGVjdHJvbmljcyBD by4sIEx0ZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyICB0aGUgdGVybXMgb2Yg IHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICog RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vu c2UsIG9yIChhdCB5b3VyCisgKiBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNp bmNsdWRlIDxkcm0vZHJtUC5oPgorCisvKioKKyAqIGRybV9wbGF0Zm9ybV9yZWdpc3Rlcl9kcml2 ZXJzIC0gSGVscGVyIHRvIHJlZ2lzdGVyIGFuIGFycmF5IG9mCisgKiBzdHJ1Y3QgcGxhdGZvcm1f ZHJpdmVycy4KKyAqLworaW50IGRybV9wbGF0Zm9ybV9yZWdpc3Rlcl9kcml2ZXJzKHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgKmNvbnN0ICpkcnYsCisJCQkJICBpbnQgY291bnQpCit7CisJaW50IGks IHJldDsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CisJCXJldCA9IHBsYXRmb3Jt X2RyaXZlcl9yZWdpc3RlcihkcnZbaV0pOworCQlpZiAocmV0KSB7CisJCQl3aGlsZSAoLS1pID49 IDApCisJCQkJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoZHJ2W2ldKTsKKwkJCXJldHVybiBy ZXQ7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGRybV9wbGF0 Zm9ybV9yZWdpc3Rlcl9kcml2ZXJzKTsKKworLyoqCisgKiBkcm1fcGxhdGZvcm1fdW5yZWdpc3Rl cl9kcml2ZXJzIC0gSGVscGVyIHRvIHVucmVnaXN0ZXIgYW4gYXJyYXkgb2YKKyAqIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXJzIChpbiB0aGUgb3Bwb3NpdGUgb3JkZXIgdGhleSB3b3VsZCBoYXZlIGJl ZW4KKyAqIHJlZ2lzdGVyZWQgYnkgZHJtX3BsYXRmb3JtX3JlZ2lzdGVyX2RyaXZlcnMoKSkuCisg Ki8KK3ZvaWQgZHJtX3BsYXRmb3JtX3VucmVnaXN0ZXJfZHJpdmVycyhzdHJ1Y3QgcGxhdGZvcm1f ZHJpdmVyICpjb25zdCAqZHJ2LAorCQkJCSAgICAgaW50IGNvdW50KQoreworCXdoaWxlICgtLWNv dW50ID49IDApCisJCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKGRydltjb3VudF0pOworfQor RVhQT1JUX1NZTUJPTF9HUEwoZHJtX3BsYXRmb3JtX3VucmVnaXN0ZXJfZHJpdmVycyk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmMKaW5kZXggZmE1MTk0Yy4uODNmODI5YiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYwpAQCAtNTIwLDUzICs1MjAs MjcgQEAgc3RhdGljIGludCBleHlub3NfZHJtX3JlZ2lzdGVyX2RldmljZXModm9pZCkKIAlyZXR1 cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgZXh5bm9zX2RybV91bnJlZ2lzdGVyX2RyaXZlcnMoc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciAqIGNvbnN0ICpkcnYsCi0JCQkJCSAgaW50IGNvdW50KQotewot CXdoaWxlICgtLWNvdW50ID49IDApCi0JCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKGRydltj b3VudF0pOwotfQotCi1zdGF0aWMgaW50IGV4eW5vc19kcm1fcmVnaXN0ZXJfZHJpdmVycyhzdHJ1 Y3QgcGxhdGZvcm1fZHJpdmVyICogY29uc3QgKmRydiwKLQkJCQkgICAgICAgaW50IGNvdW50KQot ewotCWludCBpLCByZXQ7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewotCQlyZXQg PSBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoZHJ2W2ldKTsKLQkJaWYgKCFyZXQpCi0JCQljb250 aW51ZTsKLQotCQl3aGlsZSAoLS1pID49IDApCi0JCQlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rl cihkcnZbaV0pOwotCi0JCXJldHVybiByZXQ7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRp YyBpbmxpbmUgaW50IGV4eW5vc19kcm1fcmVnaXN0ZXJfa21zX2RyaXZlcnModm9pZCkKIHsKLQly ZXR1cm4gZXh5bm9zX2RybV9yZWdpc3Rlcl9kcml2ZXJzKGV4eW5vc19kcm1fa21zX2RyaXZlcnMs Ci0JCQkJCUFSUkFZX1NJWkUoZXh5bm9zX2RybV9rbXNfZHJpdmVycykpOworCXJldHVybiBkcm1f cGxhdGZvcm1fcmVnaXN0ZXJfZHJpdmVycyhleHlub3NfZHJtX2ttc19kcml2ZXJzLAorCQkJCQkg ICAgIEFSUkFZX1NJWkUoZXh5bm9zX2RybV9rbXNfZHJpdmVycykpOwogfQogCiBzdGF0aWMgaW5s aW5lIGludCBleHlub3NfZHJtX3JlZ2lzdGVyX25vbl9rbXNfZHJpdmVycyh2b2lkKQogewotCXJl dHVybiBleHlub3NfZHJtX3JlZ2lzdGVyX2RyaXZlcnMoZXh5bm9zX2RybV9ub25fa21zX2RyaXZl cnMsCi0JCQkJCUFSUkFZX1NJWkUoZXh5bm9zX2RybV9ub25fa21zX2RyaXZlcnMpKTsKKwlyZXR1 cm4gZHJtX3BsYXRmb3JtX3JlZ2lzdGVyX2RyaXZlcnMoZXh5bm9zX2RybV9ub25fa21zX2RyaXZl cnMsCisJCQkJCSAgICAgQVJSQVlfU0laRShleHlub3NfZHJtX25vbl9rbXNfZHJpdmVycykpOwog fQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZXh5bm9zX2RybV91bnJlZ2lzdGVyX2ttc19kcml2ZXJz KHZvaWQpCiB7Ci0JZXh5bm9zX2RybV91bnJlZ2lzdGVyX2RyaXZlcnMoZXh5bm9zX2RybV9rbXNf ZHJpdmVycywKKwlkcm1fcGxhdGZvcm1fdW5yZWdpc3Rlcl9kcml2ZXJzKGV4eW5vc19kcm1fa21z X2RyaXZlcnMsCiAJCQkJCUFSUkFZX1NJWkUoZXh5bm9zX2RybV9rbXNfZHJpdmVycykpOwogfQog CiBzdGF0aWMgaW5saW5lIHZvaWQgZXh5bm9zX2RybV91bnJlZ2lzdGVyX25vbl9rbXNfZHJpdmVy cyh2b2lkKQogewotCWV4eW5vc19kcm1fdW5yZWdpc3Rlcl9kcml2ZXJzKGV4eW5vc19kcm1fbm9u X2ttc19kcml2ZXJzLAorCWRybV9wbGF0Zm9ybV91bnJlZ2lzdGVyX2RyaXZlcnMoZXh5bm9zX2Ry bV9ub25fa21zX2RyaXZlcnMsCiAJCQkJCUFSUkFZX1NJWkUoZXh5bm9zX2RybV9ub25fa21zX2Ry aXZlcnMpKTsKIH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtUC5oIGIvaW5jbHVkZS9k cm0vZHJtUC5oCmluZGV4IDhiNWNlN2MuLmE3NzQ1NzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2RybVAuaAorKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKQEAgLTEwODcsNiArMTA4NywxMCBAQCBl eHRlcm4gaW50IGRybV9wY2llX2dldF9zcGVlZF9jYXBfbWFzayhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB1MzIgKnNwZWVkX21hc2spOwogLyogcGxhdGZvcm0gc2VjdGlvbiAqLwogZXh0ZXJuIGlu dCBkcm1fcGxhdGZvcm1faW5pdChzdHJ1Y3QgZHJtX2RyaXZlciAqZHJpdmVyLCBzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2UpOwogZXh0ZXJuIGludCBkcm1fcGxhdGZvcm1f c2V0X2J1c2lkKHN0cnVjdCBkcm1fZGV2aWNlICpkLCBzdHJ1Y3QgZHJtX21hc3RlciAqbSk7Citp bnQgZHJtX3BsYXRmb3JtX3JlZ2lzdGVyX2RyaXZlcnMoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAq Y29uc3QgKmRydiwKKwkJCQkgIGludCBjb3VudCk7Cit2b2lkIGRybV9wbGF0Zm9ybV91bnJlZ2lz dGVyX2RyaXZlcnMoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqY29uc3QgKmRydiwKKwkJCQkgICAg IGludCBjb3VudCk7CiAKIC8qIHJldHVybnMgdHJ1ZSBpZiBjdXJyZW50bHkgb2theSB0byBzbGVl cCAqLwogc3RhdGljIF9faW5saW5lX18gYm9vbCBkcm1fY2FuX3NsZWVwKHZvaWQpCi0tIAoyLjEu NAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK