From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH 32/60] drm/omap: dss: Make omap_dss_device_ops optional Date: Sun, 7 Jul 2019 21:19:09 +0300 Message-ID: <20190707181937.6250-29-laurent.pinchart@ideasonboard.com> References: <20190707180852.5512-1-laurent.pinchart@ideasonboard.com> <20190707181937.6250-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF0BB89B7D for ; Sun, 7 Jul 2019 18:31:49 +0000 (UTC) In-Reply-To: <20190707181937.6250-1-laurent.pinchart@ideasonboard.com> 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: Maxime Ripard , Sebastian Reichel , Tomi Valkeinen , Sean Paul List-Id: dri-devel@lists.freedesktop.org QXMgcGFydCBvZiB0aGUgbW92ZSB0byBkcm1fYnJpZGdlIG9wcyBmb3Igc29tZSBvZiB0aGUgaW50 ZXJuYWwgZW5jb2RlcnMKd2lsbCBiZSByZW1vdmVkLiBNYWtlIHRoZW0gb3B0aW9uYWwgaW4gdGhl IGRyaXZlciB0byBlYXNlIHRoZQp0cmFuc2l0aW9uLgoKU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQ aW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9vbWFwZHJtL2Rzcy9iYXNlLmMgICAgICAgfCAyMSArKysrKysrKysrKystLS0tLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuYyAgICAgICAgfCAgMyArKy0KIGRy aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMgfCAgMiArLQogZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMgICB8IDEyICsrKysrKystLS0tLQogNCBmaWxl cyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvYmFzZS5jIGIvZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vZHNzL2Jhc2UuYwppbmRleCA4MGQ0ODkzNmQxNzcuLjJkYjNiZDJmMTlkYiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Jhc2UuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9kc3MvYmFzZS5jCkBAIC0xOTUsMTAgKzE5NSwxMiBAQCBpbnQgb21hcGRz c19kZXZpY2VfY29ubmVjdChzdHJ1Y3QgZHNzX2RldmljZSAqZHNzLAogCiAJZHN0LT5kc3MgPSBk c3M7CiAKLQlyZXQgPSBkc3QtPm9wcy0+Y29ubmVjdChzcmMsIGRzdCk7Ci0JaWYgKHJldCA8IDAp IHsKLQkJZHN0LT5kc3MgPSBOVUxMOwotCQlyZXR1cm4gcmV0OworCWlmIChkc3QtPm9wcyAmJiBk c3QtPm9wcy0+Y29ubmVjdCkgeworCQlyZXQgPSBkc3QtPm9wcy0+Y29ubmVjdChzcmMsIGRzdCk7 CisJCWlmIChyZXQgPCAwKSB7CisJCQlkc3QtPmRzcyA9IE5VTEw7CisJCQlyZXR1cm4gcmV0Owor CQl9CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0yMjYsNyArMjI4LDggQEAgdm9pZCBvbWFwZHNzX2Rl dmljZV9kaXNjb25uZWN0KHN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKnNyYywKIAogCVdBUk5fT04o ZHN0LT5zdGF0ZSAhPSBPTUFQX0RTU19ESVNQTEFZX0RJU0FCTEVEKTsKIAotCWRzdC0+b3BzLT5k aXNjb25uZWN0KHNyYywgZHN0KTsKKwlpZiAoZHN0LT5vcHMgJiYgZHN0LT5vcHMtPmRpc2Nvbm5l Y3QpCisJCWRzdC0+b3BzLT5kaXNjb25uZWN0KHNyYywgZHN0KTsKIAlkc3QtPmRzcyA9IE5VTEw7 CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChvbWFwZHNzX2RldmljZV9kaXNjb25uZWN0KTsKQEAgLTIz OCw3ICsyNDEsNyBAQCB2b2lkIG9tYXBkc3NfZGV2aWNlX3ByZV9lbmFibGUoc3RydWN0IG9tYXBf ZHNzX2RldmljZSAqZHNzZGV2KQogCiAJb21hcGRzc19kZXZpY2VfcHJlX2VuYWJsZShkc3NkZXYt Pm5leHQpOwogCi0JaWYgKGRzc2Rldi0+b3BzLT5wcmVfZW5hYmxlKQorCWlmIChkc3NkZXYtPm9w cyAmJiBkc3NkZXYtPm9wcy0+cHJlX2VuYWJsZSkKIAkJZHNzZGV2LT5vcHMtPnByZV9lbmFibGUo ZHNzZGV2KTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKG9tYXBkc3NfZGV2aWNlX3ByZV9lbmFibGUp OwpAQCAtMjQ4LDcgKzI1MSw3IEBAIHZvaWQgb21hcGRzc19kZXZpY2VfZW5hYmxlKHN0cnVjdCBv bWFwX2Rzc19kZXZpY2UgKmRzc2RldikKIAlpZiAoIWRzc2RldikKIAkJcmV0dXJuOwogCi0JaWYg KGRzc2Rldi0+b3BzLT5lbmFibGUpCisJaWYgKGRzc2Rldi0+b3BzICYmIGRzc2Rldi0+b3BzLT5l bmFibGUpCiAJCWRzc2Rldi0+b3BzLT5lbmFibGUoZHNzZGV2KTsKIAogCW9tYXBkc3NfZGV2aWNl X2VuYWJsZShkc3NkZXYtPm5leHQpOwpAQCAtMjY0LDcgKzI2Nyw3IEBAIHZvaWQgb21hcGRzc19k ZXZpY2VfZGlzYWJsZShzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXYpCiAKIAlvbWFwZHNz X2RldmljZV9kaXNhYmxlKGRzc2Rldi0+bmV4dCk7CiAKLQlpZiAoZHNzZGV2LT5vcHMtPmRpc2Fi bGUpCisJaWYgKGRzc2Rldi0+b3BzICYmIGRzc2Rldi0+b3BzLT5kaXNhYmxlKQogCQlkc3NkZXYt Pm9wcy0+ZGlzYWJsZShkc3NkZXYpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwob21hcGRzc19kZXZp Y2VfZGlzYWJsZSk7CkBAIC0yNzQsNyArMjc3LDcgQEAgdm9pZCBvbWFwZHNzX2RldmljZV9wb3N0 X2Rpc2FibGUoc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNzZGV2KQogCWlmICghZHNzZGV2KQog CQlyZXR1cm47CiAKLQlpZiAoZHNzZGV2LT5vcHMtPnBvc3RfZGlzYWJsZSkKKwlpZiAoZHNzZGV2 LT5vcHMgJiYgZHNzZGV2LT5vcHMtPnBvc3RfZGlzYWJsZSkKIAkJZHNzZGV2LT5vcHMtPnBvc3Rf ZGlzYWJsZShkc3NkZXYpOwogCiAJb21hcGRzc19kZXZpY2VfcG9zdF9kaXNhYmxlKGRzc2Rldi0+ bmV4dCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMgYi9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMKaW5kZXggNTVlNjg4NjNlZjE1Li5hNWNm MTViN2U2MzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMKQEAgLTE1NjEsNyArMTU2MSw4 IEBAIHN0YXRpYyB2b2lkIGRzc19zaHV0ZG93bihzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCURTU0RCRygic2h1dGRvd25cbiIpOwogCiAJZm9yX2VhY2hfZHNzX291dHB1dChkc3NkZXYp IHsKLQkJaWYgKGRzc2Rldi0+c3RhdGUgPT0gT01BUF9EU1NfRElTUExBWV9BQ1RJVkUpCisJCWlm IChkc3NkZXYtPnN0YXRlID09IE9NQVBfRFNTX0RJU1BMQVlfQUNUSVZFICYmCisJCSAgICBkc3Nk ZXYtPm9wcyAmJiBkc3NkZXYtPm9wcy0+ZGlzYWJsZSkKIAkJCWRzc2Rldi0+b3BzLT5kaXNhYmxl KGRzc2Rldik7CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMK aW5kZXggM2QxZjc0MDAzN2M4Li4zZjkxM2M4Y2YzNDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL29tYXBfY29ubmVjdG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9jb25uZWN0b3IuYwpAQCAtMjM5LDcgKzIzOSw3IEBAIGVudW0gZHJtX21vZGVfc3Rh dHVzIG9tYXBfY29ubmVjdG9yX21vZGVfZml4dXAoc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNz ZGV2LAogCWRybV9tb2RlX2NvcHkoYWRqdXN0ZWRfbW9kZSwgbW9kZSk7CiAKIAlmb3IgKDsgZHNz ZGV2OyBkc3NkZXYgPSBkc3NkZXYtPm5leHQpIHsKLQkJaWYgKCFkc3NkZXYtPm9wcy0+Y2hlY2tf dGltaW5ncykKKwkJaWYgKCFkc3NkZXYtPm9wcyB8fCAhZHNzZGV2LT5vcHMtPmNoZWNrX3RpbWlu Z3MpCiAJCQljb250aW51ZTsKIAogCQlyZXQgPSBkc3NkZXYtPm9wcy0+Y2hlY2tfdGltaW5ncyhk c3NkZXYsIGFkanVzdGVkX21vZGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIu YwppbmRleCA1MTA4ODg0MTMwNjguLmZhNGUwMGU2NWY5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9lbmNvZGVyLmMKQEAgLTg3LDEwICs4NywxMCBAQCBzdGF0aWMgdm9pZCBvbWFwX2Vu Y29kZXJfaGRtaV9tb2RlX3NldChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCXN0 cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldiA9IG9tYXBfZW5jb2Rlci0+b3V0cHV0OwogCWJv b2wgaGRtaV9tb2RlID0gY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaXNfaGRtaTsKIAotCWlmIChk c3NkZXYtPm9wcy0+aGRtaS5zZXRfaGRtaV9tb2RlKQorCWlmIChkc3NkZXYtPm9wcyAmJiBkc3Nk ZXYtPm9wcy0+aGRtaS5zZXRfaGRtaV9tb2RlKQogCQlkc3NkZXYtPm9wcy0+aGRtaS5zZXRfaGRt aV9tb2RlKGRzc2RldiwgaGRtaV9tb2RlKTsKIAotCWlmIChoZG1pX21vZGUgJiYgZHNzZGV2LT5v cHMtPmhkbWkuc2V0X2luZm9mcmFtZSkgeworCWlmIChoZG1pX21vZGUgJiYgZHNzZGV2LT5vcHMg JiYgZHNzZGV2LT5vcHMtPmhkbWkuc2V0X2luZm9mcmFtZSkgewogCQlzdHJ1Y3QgaGRtaV9hdmlf aW5mb2ZyYW1lIGF2aTsKIAkJaW50IHI7CiAKQEAgLTE0OCw3ICsxNDgsNyBAQCBzdGF0aWMgdm9p ZCBvbWFwX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWRz c19tZ3Jfc2V0X3RpbWluZ3Mob3V0cHV0LCAmdm0pOwogCiAJZm9yIChkc3NkZXYgPSBvdXRwdXQ7 IGRzc2RldjsgZHNzZGV2ID0gZHNzZGV2LT5uZXh0KSB7Ci0JCWlmIChkc3NkZXYtPm9wcy0+c2V0 X3RpbWluZ3MpCisJCWlmIChkc3NkZXYtPm9wcyAmJiBkc3NkZXYtPm9wcy0+c2V0X3RpbWluZ3Mp CiAJCQlkc3NkZXYtPm9wcy0+c2V0X3RpbWluZ3MoZHNzZGV2LCBhZGp1c3RlZF9tb2RlKTsKIAl9 CiAKQEAgLTE3Nyw3ICsxNzcsOCBAQCBzdGF0aWMgdm9pZCBvbWFwX2VuY29kZXJfZGlzYWJsZShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJICogZmxvdyB3aGVyZSB0aGUgcGlwZWxpbmUg b3V0cHV0IGNvbnRyb2xzIHRoZSBlbmNvZGVyLgogCSAqLwogCWlmIChkc3NkZXYtPnR5cGUgIT0g T01BUF9ESVNQTEFZX1RZUEVfRFNJKSB7Ci0JCWRzc2Rldi0+b3BzLT5kaXNhYmxlKGRzc2Rldik7 CisJCWlmIChkc3NkZXYtPm9wcyAmJiBkc3NkZXYtPm9wcy0+ZGlzYWJsZSkKKwkJCWRzc2Rldi0+ b3BzLT5kaXNhYmxlKGRzc2Rldik7CiAJCWRzc2Rldi0+c3RhdGUgPSBPTUFQX0RTU19ESVNQTEFZ X0RJU0FCTEVEOwogCX0KIApAQCAtMjA1LDcgKzIwNiw4IEBAIHN0YXRpYyB2b2lkIG9tYXBfZW5j b2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCSAqIGZsb3cgd2hlcmUg dGhlIHBpcGVsaW5lIG91dHB1dCBjb250cm9scyB0aGUgZW5jb2Rlci4KIAkgKi8KIAlpZiAoZHNz ZGV2LT50eXBlICE9IE9NQVBfRElTUExBWV9UWVBFX0RTSSkgewotCQlkc3NkZXYtPm9wcy0+ZW5h YmxlKGRzc2Rldik7CisJCWlmIChkc3NkZXYtPm9wcyAmJiBkc3NkZXYtPm9wcy0+ZW5hYmxlKQor CQkJZHNzZGV2LT5vcHMtPmVuYWJsZShkc3NkZXYpOwogCQlkc3NkZXYtPnN0YXRlID0gT01BUF9E U1NfRElTUExBWV9BQ1RJVkU7CiAJfQogCi0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs