From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v1 11/16] drm/panel: move drm_panel functions to .c file Date: Sun, 4 Aug 2019 22:16:32 +0200 Message-ID: <20190804201637.1240-12-sam@ravnborg.org> References: <20190804201637.1240-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190804201637.1240-1-sam@ravnborg.org> 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, Thierry Reding Cc: Neil Armstrong , David Airlie , Laurent Pinchart , Marek Vasut , Laurent Pinchart , Sam Ravnborg , Krzysztof Kozlowski , Jonathan Hunter , Maxime Ripard , Kukjin Kim , Allison Randal , NXP Linux Team , Pengutronix Kernel Team , Jonas Karlman , Alison Wang , Gwan-gyeong Mun , Alexios Zavras , linux-samsung-soc@vger.kernel.org, linux-tegra@vger.kernel.org, Thomas Gleixner , Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec List-Id: linux-samsung-soc@vger.kernel.org TW92ZSBpbmxpbmUgZnVuY3Rpb25zIGZyb20gaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmggdG8gZHJt X3BhbmVsLmMuClRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIGZvbGxvdy11cCBwYXRjaGVzIHRo YXQgd2lsbCBhZGQgZXh0cmEKbG9naWMgdG8gdGhlIGZ1bmN0aW9ucy4KQXMgdGhleSBhcmUgbm8g bG9uZ2VyIHN0YXRpYyBpbmxpbmUsIEVYUE9SVCB0aGVtLgoKU2lnbmVkLW9mZi1ieTogU2FtIFJh dm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPgpDYzogVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVk aW5nQGdtYWlsLmNvbT4KQ2M6IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KQ2M6IE1h YXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBN YXhpbWUgUmlwYXJkIDxtYXhpbWUucmlwYXJkQGJvb3RsaW4uY29tPgpDYzogU2VhbiBQYXVsIDxz ZWFuQHBvb3JseS5ydW4+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+CkNjOiBE YW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9w YW5lbC5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUv ZHJtL2RybV9wYW5lbC5oICAgICB8IDk5ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDkxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGFuZWwuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fcGFuZWwuYwppbmRleCBkYmQ1Yjg3M2U4ZjIuLjk5NDZiOGQ5YmFjYyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fcGFuZWwuYwpAQCAtNTQsNiArNTQsMTAyIEBAIHZvaWQgZHJtX3BhbmVsX2luaXQoc3RydWN0 IGRybV9wYW5lbCAqcGFuZWwpCiB9CiBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9pbml0KTsKIAor LyoqCisgKiBkcm1fcGFuZWxfcHJlcGFyZSAtIHBvd2VyIG9uIGEgcGFuZWwKKyAqIEBwYW5lbDog RFJNIHBhbmVsCisgKgorICogQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIHdpbGwgZW5hYmxlIHBvd2Vy IGFuZCBkZWFzc2VydCBhbnkgcmVzZXQgc2lnbmFscyB0bworICogdGhlIHBhbmVsLiBBZnRlciB0 aGlzIGhhcyBjb21wbGV0ZWQgaXQgaXMgcG9zc2libGUgdG8gY29tbXVuaWNhdGUgd2l0aCBhbnkK KyAqIGludGVncmF0ZWQgY2lyY3VpdHJ5IHZpYSBhIGNvbW1hbmQgYnVzLgorICoKKyAqIFJldHVy bjogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorICov CitpbnQgZHJtX3BhbmVsX3ByZXBhcmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCit7CisJaWYg KHBhbmVsICYmIHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPnByZXBhcmUpCisJCXJldHVy biBwYW5lbC0+ZnVuY3MtPnByZXBhcmUocGFuZWwpOworCisJcmV0dXJuIHBhbmVsID8gLUVOT1NZ UyA6IC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9wcmVwYXJlKTsKKworLyoq CisgKiBkcm1fcGFuZWxfZW5hYmxlIC0gZW5hYmxlIGEgcGFuZWwKKyAqIEBwYW5lbDogRFJNIHBh bmVsCisgKgorICogQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIHdpbGwgY2F1c2UgdGhlIHBhbmVsIGRp c3BsYXkgZHJpdmVycyB0byBiZSB0dXJuZWQgb24KKyAqIGFuZCB0aGUgYmFja2xpZ2h0IHRvIGJl IGVuYWJsZWQuIENvbnRlbnQgd2lsbCBiZSB2aXNpYmxlIG9uIHNjcmVlbiBhZnRlcgorICogdGhp cyBjYWxsIGNvbXBsZXRlcy4KKyAqCisgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0 aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAqLworaW50IGRybV9wYW5lbF9lbmFibGUoc3Ry dWN0IGRybV9wYW5lbCAqcGFuZWwpCit7CisJaWYgKHBhbmVsICYmIHBhbmVsLT5mdW5jcyAmJiBw YW5lbC0+ZnVuY3MtPmVuYWJsZSkKKwkJcmV0dXJuIHBhbmVsLT5mdW5jcy0+ZW5hYmxlKHBhbmVs KTsKKworCXJldHVybiBwYW5lbCA/IC1FTk9TWVMgOiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJP TChkcm1fcGFuZWxfZW5hYmxlKTsKKworLyoqCisgKiBkcm1fcGFuZWxfZGlzYWJsZSAtIGRpc2Fi bGUgYSBwYW5lbAorICogQHBhbmVsOiBEUk0gcGFuZWwKKyAqCisgKiBUaGlzIHdpbGwgdHlwaWNh bGx5IHR1cm4gb2ZmIHRoZSBwYW5lbCdzIGJhY2tsaWdodCBvciBkaXNhYmxlIHRoZSBkaXNwbGF5 CisgKiBkcml2ZXJzLiBGb3Igc21hcnQgcGFuZWxzIGl0IHNob3VsZCBzdGlsbCBiZSBwb3NzaWJs ZSB0byBjb21tdW5pY2F0ZSB3aXRoCisgKiB0aGUgaW50ZWdyYXRlZCBjaXJjdWl0cnkgdmlhIGFu eSBjb21tYW5kIGJ1cyBhZnRlciB0aGlzIGNhbGwuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nl c3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCisgKi8KK2ludCBkcm1fcGFu ZWxfZGlzYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKK3sKKwlpZiAocGFuZWwgJiYgcGFu ZWwtPmZ1bmNzICYmIHBhbmVsLT5mdW5jcy0+ZGlzYWJsZSkKKwkJcmV0dXJuIHBhbmVsLT5mdW5j cy0+ZGlzYWJsZShwYW5lbCk7CisKKwlyZXR1cm4gcGFuZWwgPyAtRU5PU1lTIDogLUVJTlZBTDsK K30KK0VYUE9SVF9TWU1CT0woZHJtX3BhbmVsX2Rpc2FibGUpOworCisvKioKKyAqIGRybV9wYW5l bF91bnByZXBhcmUgLSBwb3dlciBvZmYgYSBwYW5lbAorICogQHBhbmVsOiBEUk0gcGFuZWwKKyAq CisgKiBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gd2lsbCBjb21wbGV0ZWx5IHBvd2VyIG9mZiBhIHBh bmVsIChhc3NlcnQgdGhlIHBhbmVsJ3MKKyAqIHJlc2V0LCB0dXJuIG9mZiBwb3dlciBzdXBwbGll cywgLi4uKS4gQWZ0ZXIgdGhpcyBmdW5jdGlvbiBoYXMgY29tcGxldGVkLCBpdAorICogaXMgdXN1 YWxseSBubyBsb25nZXIgcG9zc2libGUgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgcGFuZWwgdW50 aWwgYW5vdGhlcgorICogY2FsbCB0byBkcm1fcGFuZWxfcHJlcGFyZSgpLgorICoKKyAqIFJldHVy bjogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorICov CitpbnQgZHJtX3BhbmVsX3VucHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKK3sKKwlp ZiAocGFuZWwgJiYgcGFuZWwtPmZ1bmNzICYmIHBhbmVsLT5mdW5jcy0+dW5wcmVwYXJlKQorCQly ZXR1cm4gcGFuZWwtPmZ1bmNzLT51bnByZXBhcmUocGFuZWwpOworCisJcmV0dXJuIHBhbmVsID8g LUVOT1NZUyA6IC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF91bnByZXBhcmUp OworCisvKioKKyAqIGRybV9wYW5lbF9nZXRfbW9kZXMgLSBwcm9iZSB0aGUgYXZhaWxhYmxlIGRp c3BsYXkgbW9kZXMgb2YgYSBwYW5lbAorICogQHBhbmVsOiBEUk0gcGFuZWwKKyAqCisgKiBUaGUg bW9kZXMgcHJvYmVkIGZyb20gdGhlIHBhbmVsIGFyZSBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRo ZSBjb25uZWN0b3IKKyAqIHRoYXQgdGhlIHBhbmVsIGlzIGF0dGFjaGVkIHRvLgorICoKKyAqIFJl dHVybjogVGhlIG51bWJlciBvZiBtb2RlcyBhdmFpbGFibGUgZnJvbSB0aGUgcGFuZWwgb24gc3Vj Y2VzcyBvciBhCisgKiBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCisgKi8KK2ludCBk cm1fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQoreworCWlmIChwYW5l bCAmJiBwYW5lbC0+ZnVuY3MgJiYgcGFuZWwtPmZ1bmNzLT5nZXRfbW9kZXMpCisJCXJldHVybiBw YW5lbC0+ZnVuY3MtPmdldF9tb2RlcyhwYW5lbCk7CisKKwlyZXR1cm4gcGFuZWwgPyAtRU5PU1lT IDogLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3BhbmVsX2dldF9tb2Rlcyk7CisKIC8q KgogICogZHJtX3BhbmVsX2FkZCAtIGFkZCBhIHBhbmVsIHRvIHRoZSBnbG9iYWwgcmVnaXN0cnkK ICAqIEBwYW5lbDogcGFuZWwgdG8gYWRkCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcGFu ZWwuaCBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCmluZGV4IDI2Mzc3ODM2MTQxYy4uMDUzZDYx MTY1NmI5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAorKysgYi9pbmNsdWRl L2RybS9kcm1fcGFuZWwuaApAQCAtOTcsOTcgKzk3LDYgQEAgc3RydWN0IGRybV9wYW5lbCB7CiAJ c3RydWN0IGxpc3RfaGVhZCBsaXN0OwogfTsKIAotLyoqCi0gKiBkcm1fZGlzYWJsZV91bnByZXBh cmUgLSBwb3dlciBvZmYgYSBwYW5lbAotICogQHBhbmVsOiBEUk0gcGFuZWwKLSAqCi0gKiBDYWxs aW5nIHRoaXMgZnVuY3Rpb24gd2lsbCBjb21wbGV0ZWx5IHBvd2VyIG9mZiBhIHBhbmVsIChhc3Nl cnQgdGhlIHBhbmVsJ3MKLSAqIHJlc2V0LCB0dXJuIG9mZiBwb3dlciBzdXBwbGllcywgLi4uKS4g QWZ0ZXIgdGhpcyBmdW5jdGlvbiBoYXMgY29tcGxldGVkLCBpdAotICogaXMgdXN1YWxseSBubyBs b25nZXIgcG9zc2libGUgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgcGFuZWwgdW50aWwgYW5vdGhl cgotICogY2FsbCB0byBkcm1fcGFuZWxfcHJlcGFyZSgpLgotICoKLSAqIFJldHVybjogMCBvbiBz dWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgotICovCi1zdGF0aWMg aW5saW5lIGludCBkcm1fcGFuZWxfdW5wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQot ewotCWlmIChwYW5lbCAmJiBwYW5lbC0+ZnVuY3MgJiYgcGFuZWwtPmZ1bmNzLT51bnByZXBhcmUp Ci0JCXJldHVybiBwYW5lbC0+ZnVuY3MtPnVucHJlcGFyZShwYW5lbCk7Ci0KLQlyZXR1cm4gcGFu ZWwgPyAtRU5PU1lTIDogLUVJTlZBTDsKLX0KLQotLyoqCi0gKiBkcm1fcGFuZWxfZGlzYWJsZSAt IGRpc2FibGUgYSBwYW5lbAotICogQHBhbmVsOiBEUk0gcGFuZWwKLSAqCi0gKiBUaGlzIHdpbGwg dHlwaWNhbGx5IHR1cm4gb2ZmIHRoZSBwYW5lbCdzIGJhY2tsaWdodCBvciBkaXNhYmxlIHRoZSBk aXNwbGF5Ci0gKiBkcml2ZXJzLiBGb3Igc21hcnQgcGFuZWxzIGl0IHNob3VsZCBzdGlsbCBiZSBw b3NzaWJsZSB0byBjb21tdW5pY2F0ZSB3aXRoCi0gKiB0aGUgaW50ZWdyYXRlZCBjaXJjdWl0cnkg dmlhIGFueSBjb21tYW5kIGJ1cyBhZnRlciB0aGlzIGNhbGwuCi0gKgotICogUmV0dXJuOiAwIG9u IHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCi0gKi8KLXN0YXRp YyBpbmxpbmUgaW50IGRybV9wYW5lbF9kaXNhYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQot ewotCWlmIChwYW5lbCAmJiBwYW5lbC0+ZnVuY3MgJiYgcGFuZWwtPmZ1bmNzLT5kaXNhYmxlKQot CQlyZXR1cm4gcGFuZWwtPmZ1bmNzLT5kaXNhYmxlKHBhbmVsKTsKLQotCXJldHVybiBwYW5lbCA/ IC1FTk9TWVMgOiAtRUlOVkFMOwotfQotCi0vKioKLSAqIGRybV9wYW5lbF9wcmVwYXJlIC0gcG93 ZXIgb24gYSBwYW5lbAotICogQHBhbmVsOiBEUk0gcGFuZWwKLSAqCi0gKiBDYWxsaW5nIHRoaXMg ZnVuY3Rpb24gd2lsbCBlbmFibGUgcG93ZXIgYW5kIGRlYXNzZXJ0IGFueSByZXNldCBzaWduYWxz IHRvCi0gKiB0aGUgcGFuZWwuIEFmdGVyIHRoaXMgaGFzIGNvbXBsZXRlZCBpdCBpcyBwb3NzaWJs ZSB0byBjb21tdW5pY2F0ZSB3aXRoIGFueQotICogaW50ZWdyYXRlZCBjaXJjdWl0cnkgdmlhIGEg Y29tbWFuZCBidXMuCi0gKgotICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBl cnJvciBjb2RlIG9uIGZhaWx1cmUuCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGRybV9wYW5lbF9w cmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQotewotCWlmIChwYW5lbCAmJiBwYW5lbC0+ ZnVuY3MgJiYgcGFuZWwtPmZ1bmNzLT5wcmVwYXJlKQotCQlyZXR1cm4gcGFuZWwtPmZ1bmNzLT5w cmVwYXJlKHBhbmVsKTsKLQotCXJldHVybiBwYW5lbCA/IC1FTk9TWVMgOiAtRUlOVkFMOwotfQot Ci0vKioKLSAqIGRybV9wYW5lbF9lbmFibGUgLSBlbmFibGUgYSBwYW5lbAotICogQHBhbmVsOiBE Uk0gcGFuZWwKLSAqCi0gKiBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gd2lsbCBjYXVzZSB0aGUgcGFu ZWwgZGlzcGxheSBkcml2ZXJzIHRvIGJlIHR1cm5lZCBvbgotICogYW5kIHRoZSBiYWNrbGlnaHQg dG8gYmUgZW5hYmxlZC4gQ29udGVudCB3aWxsIGJlIHZpc2libGUgb24gc2NyZWVuIGFmdGVyCi0g KiB0aGlzIGNhbGwgY29tcGxldGVzLgotICoKLSAqIFJldHVybjogMCBvbiBzdWNjZXNzIG9yIGEg bmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgotICovCi1zdGF0aWMgaW5saW5lIGludCBk cm1fcGFuZWxfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQotewotCWlmIChwYW5lbCAm JiBwYW5lbC0+ZnVuY3MgJiYgcGFuZWwtPmZ1bmNzLT5lbmFibGUpCi0JCXJldHVybiBwYW5lbC0+ ZnVuY3MtPmVuYWJsZShwYW5lbCk7Ci0KLQlyZXR1cm4gcGFuZWwgPyAtRU5PU1lTIDogLUVJTlZB TDsKLX0KLQotLyoqCi0gKiBkcm1fcGFuZWxfZ2V0X21vZGVzIC0gcHJvYmUgdGhlIGF2YWlsYWJs ZSBkaXNwbGF5IG1vZGVzIG9mIGEgcGFuZWwKLSAqIEBwYW5lbDogRFJNIHBhbmVsCi0gKgotICog VGhlIG1vZGVzIHByb2JlZCBmcm9tIHRoZSBwYW5lbCBhcmUgYXV0b21hdGljYWxseSBhZGRlZCB0 byB0aGUgY29ubmVjdG9yCi0gKiB0aGF0IHRoZSBwYW5lbCBpcyBhdHRhY2hlZCB0by4KLSAqCi0g KiBSZXR1cm46IFRoZSBudW1iZXIgb2YgbW9kZXMgYXZhaWxhYmxlIGZyb20gdGhlIHBhbmVsIG9u IHN1Y2Nlc3Mgb3IgYQotICogbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgotICovCi1z dGF0aWMgaW5saW5lIGludCBkcm1fcGFuZWxfZ2V0X21vZGVzKHN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsKQotewotCWlmIChwYW5lbCAmJiBwYW5lbC0+ZnVuY3MgJiYgcGFuZWwtPmZ1bmNzLT5nZXRf bW9kZXMpCi0JCXJldHVybiBwYW5lbC0+ZnVuY3MtPmdldF9tb2RlcyhwYW5lbCk7Ci0KLQlyZXR1 cm4gcGFuZWwgPyAtRU5PU1lTIDogLUVJTlZBTDsKLX0KLQogdm9pZCBkcm1fcGFuZWxfaW5pdChz dHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCk7CiAKIGludCBkcm1fcGFuZWxfYWRkKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKTsKQEAgLTE5Niw2ICsxMDUsMTQgQEAgdm9pZCBkcm1fcGFuZWxfcmVtb3Zl KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIGludCBkcm1fcGFuZWxfYXR0YWNoKHN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBk cm1fcGFuZWxfZGV0YWNoKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKIAoraW50IGRybV9wYW5l bF9wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKK2ludCBkcm1fcGFuZWxfdW5wcmVw YXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKTsKKworaW50IGRybV9wYW5lbF9lbmFibGUoc3Ry dWN0IGRybV9wYW5lbCAqcGFuZWwpOworaW50IGRybV9wYW5lbF9kaXNhYmxlKHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsKTsKKworaW50IGRybV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5l bCAqcGFuZWwpOworCiAjaWYgZGVmaW5lZChDT05GSUdfT0YpICYmIGRlZmluZWQoQ09ORklHX0RS TV9QQU5FTCkKIHN0cnVjdCBkcm1fcGFuZWwgKm9mX2RybV9maW5kX3BhbmVsKGNvbnN0IHN0cnVj dCBkZXZpY2Vfbm9kZSAqbnApOwogI2Vsc2UKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00CDCC433FF for ; Sun, 4 Aug 2019 20:19:13 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A33F020882 for ; Sun, 4 Aug 2019 20:19:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="uXbuQ8Ja"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="s4IADMOV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A33F020882 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Uhj/s/9D3JCP9I9qCGANKpKnCxN+GO0euSV8YiglvoU=; b=uXbuQ8Ja0O9F+4 MRmAdOTbN4RLAEa9QSei6pzRa8zz6amfZbXwmtvGHk3O+hynalrPFofVOjOJvWYGo3PgJztoewD8r TfDBxwVk891gB8VzyBPZBMOiX5vPgKHsM4sC2wJDElhOyICCpLHwbrxsZ1zYjyYkqkfKyRuSVv7o1 Pp38GPU/GuJocs6y+D5sXCysxALRcmBi9j7f72kx+rk4XnI9GjQRTUuJLsKiQEfHSgeEDv3abRmY8 RwyxPGKMHoGsoKfAiPbkhwwems8ffboFED431HK+cDdhficfi3cky2Bj86SuY6THSySqwfC8EFoTA U6pL/Ga2c+tkbXMJGj7g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1huMy6-0002QW-LR; Sun, 04 Aug 2019 20:19:02 +0000 Received: from mail-lf1-x141.google.com ([2a00:1450:4864:20::141]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1huMwg-0000PM-9Q for linux-arm-kernel@lists.infradead.org; Sun, 04 Aug 2019 20:17:36 +0000 Received: by mail-lf1-x141.google.com with SMTP id b29so49115915lfq.1 for ; Sun, 04 Aug 2019 13:17:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zmDbQLWBPvdGtXiOhDaz/7hniPxt2/VRvQ2x7qHXkvc=; b=s4IADMOVf42u/6pqR78DZ9tNZGLzQlKpBIxSAXOvRnryRasEKiiKhE/sD9hrmH7nBj JFJsiv5xTkl/5pz0rv6qPLrZCwTDZf76EG7w8vGPr1gJbZwrC4zoo9p4n/Hm3IoVNHqI 2bdtyQxrCXrwR0e2w3jKP0lcbaM+wwjULdRjn08W4mHfuSaraJHdkDagW9NDw8nBLypm ZWAI5gRs6Pm/E0kZDsBChhztPTxMo5J4a1bOBoMBQ51NlUnvfNDDB4FaD8s9Z9hCGTVU UBiSl3rDoJ72Lg4KsXLS6c0WqjHuSkzHl1QmJN+QM5bKEMv66d1DVQipSbeY5aPhJzYN Fg5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=zmDbQLWBPvdGtXiOhDaz/7hniPxt2/VRvQ2x7qHXkvc=; b=Mf0LdaLuk+rj/I2qPiOsP57zPXYj6FtrTTMQ+kmFcn5HVN11MgJwWc/Nn4ILimyGp+ akxjhwr8QW34poKBrU/FRT4vXpiwfF2b3cQiJzODJxZt69j4ZalrfN7t+eg6AL9u/F+t YFrieixWNwFHfvETrgNnEM+gsWs+4uTH6KvW9yTdUZfzkW+Gcs1xbfsn93FzUAaynjXs UzOE6jFp+PonIEeVs1sGbtj+g90jf9CruySyXB1QsCX+JYrsZ1cHr/Aulk7iPMLJRuqO W8rFvjRMcIWbfixqCz9ZXcMGxtpTDH9k11evhJmmqYgceJ403WQLdQ9GL59vWQOLG7BS GZ5Q== X-Gm-Message-State: APjAAAWULl/OpGEroUNMwmMXzSu4LOF4R5FvO2zjn3MSelBCUuYlsZG4 6PJDfkv7cJ7TsX3dJS7DWBx/CS2sgOtnew== X-Google-Smtp-Source: APXvYqwXoeBAY2sI3ofQs6dNYkdTExTgHsLqUwkyioR39Y08/hYP6aps6+rfkCuVvgbQUKdUpdZ9Dw== X-Received: by 2002:a19:8c08:: with SMTP id o8mr68661177lfd.57.1564949852351; Sun, 04 Aug 2019 13:17:32 -0700 (PDT) Received: from saturn.lan (18.158-248-194.customer.lyse.net. [158.248.194.18]) by smtp.gmail.com with ESMTPSA id p87sm16540794ljp.50.2019.08.04.13.17.30 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 04 Aug 2019 13:17:31 -0700 (PDT) From: Sam Ravnborg To: dri-devel@lists.freedesktop.org, Thierry Reding Subject: [PATCH v1 11/16] drm/panel: move drm_panel functions to .c file Date: Sun, 4 Aug 2019 22:16:32 +0200 Message-Id: <20190804201637.1240-12-sam@ravnborg.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190804201637.1240-1-sam@ravnborg.org> References: <20190804201637.1240-1-sam@ravnborg.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190804_131734_389874_85332F21 X-CRM114-Status: GOOD ( 18.69 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neil Armstrong , David Airlie , Linus Walleij , Stefan Agner , Andrzej Hajda , Laurent Pinchart , Benjamin Gaignard , Fabio Estevam , Marek Vasut , Laurent Pinchart , Joonyoung Shim , Sam Ravnborg , Krzysztof Kozlowski , Jonathan Hunter , Maxime Ripard , Kukjin Kim , Allison Randal , Philipp Zabel , NXP Linux Team , Pengutronix Kernel Team , Jonas Karlman , Sascha Hauer , Alison Wang , Maarten Lankhorst , Gwan-gyeong Mun , Inki Dae , Alexios Zavras , linux-samsung-soc@vger.kernel.org, linux-tegra@vger.kernel.org, Thomas Gleixner , Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec , Shawn Guo , Seung-Woo Kim , Vincent Abriou , Kyungmin Park , Daniel Vetter , Enrico Weigelt Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Move inline functions from include/drm/drm_panel.h to drm_panel.c. This is in preparation for follow-up patches that will add extra logic to the functions. As they are no longer static inline, EXPORT them. Signed-off-by: Sam Ravnborg Cc: Thierry Reding Cc: Sam Ravnborg Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Sean Paul Cc: David Airlie Cc: Daniel Vetter --- drivers/gpu/drm/drm_panel.c | 96 +++++++++++++++++++++++++++++++++++ include/drm/drm_panel.h | 99 +++---------------------------------- 2 files changed, 104 insertions(+), 91 deletions(-) diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c index dbd5b873e8f2..9946b8d9bacc 100644 --- a/drivers/gpu/drm/drm_panel.c +++ b/drivers/gpu/drm/drm_panel.c @@ -54,6 +54,102 @@ void drm_panel_init(struct drm_panel *panel) } EXPORT_SYMBOL(drm_panel_init); +/** + * drm_panel_prepare - power on a panel + * @panel: DRM panel + * + * Calling this function will enable power and deassert any reset signals to + * the panel. After this has completed it is possible to communicate with any + * integrated circuitry via a command bus. + * + * Return: 0 on success or a negative error code on failure. + */ +int drm_panel_prepare(struct drm_panel *panel) +{ + if (panel && panel->funcs && panel->funcs->prepare) + return panel->funcs->prepare(panel); + + return panel ? -ENOSYS : -EINVAL; +} +EXPORT_SYMBOL(drm_panel_prepare); + +/** + * drm_panel_enable - enable a panel + * @panel: DRM panel + * + * Calling this function will cause the panel display drivers to be turned on + * and the backlight to be enabled. Content will be visible on screen after + * this call completes. + * + * Return: 0 on success or a negative error code on failure. + */ +int drm_panel_enable(struct drm_panel *panel) +{ + if (panel && panel->funcs && panel->funcs->enable) + return panel->funcs->enable(panel); + + return panel ? -ENOSYS : -EINVAL; +} +EXPORT_SYMBOL(drm_panel_enable); + +/** + * drm_panel_disable - disable a panel + * @panel: DRM panel + * + * This will typically turn off the panel's backlight or disable the display + * drivers. For smart panels it should still be possible to communicate with + * the integrated circuitry via any command bus after this call. + * + * Return: 0 on success or a negative error code on failure. + */ +int drm_panel_disable(struct drm_panel *panel) +{ + if (panel && panel->funcs && panel->funcs->disable) + return panel->funcs->disable(panel); + + return panel ? -ENOSYS : -EINVAL; +} +EXPORT_SYMBOL(drm_panel_disable); + +/** + * drm_panel_unprepare - power off a panel + * @panel: DRM panel + * + * Calling this function will completely power off a panel (assert the panel's + * reset, turn off power supplies, ...). After this function has completed, it + * is usually no longer possible to communicate with the panel until another + * call to drm_panel_prepare(). + * + * Return: 0 on success or a negative error code on failure. + */ +int drm_panel_unprepare(struct drm_panel *panel) +{ + if (panel && panel->funcs && panel->funcs->unprepare) + return panel->funcs->unprepare(panel); + + return panel ? -ENOSYS : -EINVAL; +} +EXPORT_SYMBOL(drm_panel_unprepare); + +/** + * drm_panel_get_modes - probe the available display modes of a panel + * @panel: DRM panel + * + * The modes probed from the panel are automatically added to the connector + * that the panel is attached to. + * + * Return: The number of modes available from the panel on success or a + * negative error code on failure. + */ +int drm_panel_get_modes(struct drm_panel *panel) +{ + if (panel && panel->funcs && panel->funcs->get_modes) + return panel->funcs->get_modes(panel); + + return panel ? -ENOSYS : -EINVAL; +} +EXPORT_SYMBOL(drm_panel_get_modes); + /** * drm_panel_add - add a panel to the global registry * @panel: panel to add diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h index 26377836141c..053d611656b9 100644 --- a/include/drm/drm_panel.h +++ b/include/drm/drm_panel.h @@ -97,97 +97,6 @@ struct drm_panel { struct list_head list; }; -/** - * drm_disable_unprepare - power off a panel - * @panel: DRM panel - * - * Calling this function will completely power off a panel (assert the panel's - * reset, turn off power supplies, ...). After this function has completed, it - * is usually no longer possible to communicate with the panel until another - * call to drm_panel_prepare(). - * - * Return: 0 on success or a negative error code on failure. - */ -static inline int drm_panel_unprepare(struct drm_panel *panel) -{ - if (panel && panel->funcs && panel->funcs->unprepare) - return panel->funcs->unprepare(panel); - - return panel ? -ENOSYS : -EINVAL; -} - -/** - * drm_panel_disable - disable a panel - * @panel: DRM panel - * - * This will typically turn off the panel's backlight or disable the display - * drivers. For smart panels it should still be possible to communicate with - * the integrated circuitry via any command bus after this call. - * - * Return: 0 on success or a negative error code on failure. - */ -static inline int drm_panel_disable(struct drm_panel *panel) -{ - if (panel && panel->funcs && panel->funcs->disable) - return panel->funcs->disable(panel); - - return panel ? -ENOSYS : -EINVAL; -} - -/** - * drm_panel_prepare - power on a panel - * @panel: DRM panel - * - * Calling this function will enable power and deassert any reset signals to - * the panel. After this has completed it is possible to communicate with any - * integrated circuitry via a command bus. - * - * Return: 0 on success or a negative error code on failure. - */ -static inline int drm_panel_prepare(struct drm_panel *panel) -{ - if (panel && panel->funcs && panel->funcs->prepare) - return panel->funcs->prepare(panel); - - return panel ? -ENOSYS : -EINVAL; -} - -/** - * drm_panel_enable - enable a panel - * @panel: DRM panel - * - * Calling this function will cause the panel display drivers to be turned on - * and the backlight to be enabled. Content will be visible on screen after - * this call completes. - * - * Return: 0 on success or a negative error code on failure. - */ -static inline int drm_panel_enable(struct drm_panel *panel) -{ - if (panel && panel->funcs && panel->funcs->enable) - return panel->funcs->enable(panel); - - return panel ? -ENOSYS : -EINVAL; -} - -/** - * drm_panel_get_modes - probe the available display modes of a panel - * @panel: DRM panel - * - * The modes probed from the panel are automatically added to the connector - * that the panel is attached to. - * - * Return: The number of modes available from the panel on success or a - * negative error code on failure. - */ -static inline int drm_panel_get_modes(struct drm_panel *panel) -{ - if (panel && panel->funcs && panel->funcs->get_modes) - return panel->funcs->get_modes(panel); - - return panel ? -ENOSYS : -EINVAL; -} - void drm_panel_init(struct drm_panel *panel); int drm_panel_add(struct drm_panel *panel); @@ -196,6 +105,14 @@ void drm_panel_remove(struct drm_panel *panel); int drm_panel_attach(struct drm_panel *panel, struct drm_connector *connector); int drm_panel_detach(struct drm_panel *panel); +int drm_panel_prepare(struct drm_panel *panel); +int drm_panel_unprepare(struct drm_panel *panel); + +int drm_panel_enable(struct drm_panel *panel); +int drm_panel_disable(struct drm_panel *panel); + +int drm_panel_get_modes(struct drm_panel *panel); + #if defined(CONFIG_OF) && defined(CONFIG_DRM_PANEL) struct drm_panel *of_drm_find_panel(const struct device_node *np); #else -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel