From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux admin Subject: Re: [PATCH v1 1/2] drm/i2c: tda998x: access chip registers via a regmap Date: Fri, 21 Jun 2019 23:06:20 +0100 Message-ID: <20190621220620.symr2y4ebbbpkl54@shell.armlinux.org.uk> References: <20190527191552.10413-1-TheSven73@gmail.com> <20190621151500.cv57g3al5sadpcum@shell.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by gabe.freedesktop.org (Postfix) with ESMTPS id 611F56E92E for ; Fri, 21 Jun 2019 22:06:32 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sven Van Asbroeck Cc: David Airlie , Peter Rosin , dri-devel@lists.freedesktop.org, Linux Kernel Mailing List List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBKdW4gMjEsIDIwMTkgYXQgMDU6MTM6MzNQTSAtMDQwMCwgU3ZlbiBWYW4gQXNicm9l Y2sgd3JvdGU6Cj4gT24gRnJpLCBKdW4gMjEsIDIwMTkgYXQgMTE6MTUgQU0gUnVzc2VsbCBLaW5n IC0gQVJNIExpbnV4IGFkbWluCj4gPGxpbnV4QGFybWxpbnV4Lm9yZy51az4gd3JvdGU6Cj4gPgo+ ID4gQW5vdGhlciBjb24gaXMgdGhlIG5lZWQgdG8ga2VlcCB0aGUgZnVuY3Rpb25zIHRoYXQgZGV0 YWlsIHRoZSByZWdpc3Rlcgo+ID4gcHJvcGVydGllcyB1cCB0byBkYXRlLCB3aGljaCBpZiB0aGV5 J3JlIHdyb25nIG1heSByZXN1bHQgaW4gdW5leHBlY3RlZAo+ID4gYmVoYXZpb3VyLgo+ID4KPiA+ IEkgc3Vic2NyaWJlIHRvIHRoZSAia2VlcCBpdCBzaW1wbGUiIGFwcHJvYWNoLCBhbmQgcmVnbWFw LCBhbHRob3VnaAo+ID4gdXNlZnVsLCBzZWVtcyBsaWtlIGEgZ2lhbnQgc2xlZGdlaGFtbWVyIGZv ciB0aGlzLgo+ID4KPiAKPiBUaGFuayB5b3UgZm9yIHRoZSByZXZpZXcgIQo+IAo+IEkgYWRkZWQg dGhpcyBiYWNrIHdoZW4gSSB3YXMgZGVidWdnaW5nIGF1ZGlvIGFydGlmYWN0cyByZWxhdGVkIHRv IHRoaXMKPiBjaGlwLiBUaGUgcmVnbWFwJ3MgZGVidWdmcyBiaW5kaW5nIHdhcyBleHRyZW1lbHkg dXNlZnVsLiBTbyBJCj4gZHJlc3NlZCBpdCB1cCBhIGJpdCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdv dWxkIGhhdmUgc29tZSBnZW5lcmFsIHVzZS4KPiAKPiBCdXQgaWYgdGhlIGNvbnMgb3V0d2VpZ2gg dGhlIHByb3MsIHRoZW4gdGhpcyBpcyBhcyBmYXIgYXMgdGhpcyBwYXRjaAo+IHdpbGwgZ28uLi4K Ckkgd29uJ3QgZGlzYWdyZWUgdGhhdCBkZWJ1Z2ZzIGFjY2VzcyB0byB0aGUgcmVnaXN0ZXJzIGlz IHVzZWZ1bCwKZXNwZWNpYWxseSBhcyBJIGtlZXAgdGhpcyBwYXRjaCBsb2NhbGx5IGZvciB0aGF0 IGV4YWN0IHB1cnBvc2U6Cgo4PD09PQpGcm9tOiBSdXNzZWxsIEtpbmcgPHJtaytrZXJuZWxAYXJt bGludXgub3JnLnVrPgpTdWJqZWN0OiBbUEFUQ0hdIGRybS9pMmM6IHRkYTk5OHg6IGRlYnVnZnMg cmVnaXN0ZXIgYWNjZXNzCgpBZGQgc3VwcG9ydCBmb3IgZHVtcGluZyB0aGUgcmVnaXN0ZXIgY29u dGVudHMgdmlhIGRlYnVnZnMsIHdpdGggYQptZWNoYW5pc20gdG8gd3JpdGUgdG8gdGhlIFREQTk5 OHggcmVnaXN0ZXJzIHRvIGFsbG93IGV4cGVyaW1lbnRhdGlvbi4KClNpZ25lZC1vZmYtYnk6IFJ1 c3NlbGwgS2luZyA8cm1rK2tlcm5lbEBhcm1saW51eC5vcmcudWs+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2kyYy90ZGE5OTh4X2Rydi5jIHwgMTE0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTE0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJj L3RkYTk5OHhfZHJ2LmMKaW5kZXggNTMxMmZkZThiNjI0Li42YWQxZmQxZDI4YTUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTJjL3RkYTk5OHhfZHJ2LmMKQEAgLTE2LDEwICsxNiwxMyBAQAogICovCiAKICNpbmNsdWRl IDxsaW51eC9jb21wb25lbnQuaD4KKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUg PGxpbnV4L2RlYnVnZnMuaD4KICNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+CiAjaW5j bHVkZSA8bGludXgvaGRtaS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUg PGxpbnV4L3BsYXRmb3JtX2RhdGEvdGRhOTk1MC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxl Lmg+CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAjaW5jbHVkZSA8c291bmQvYXNvdW5kZWYuaD4K ICNpbmNsdWRlIDxzb3VuZC9oZG1pLWNvZGVjLmg+CkBAIC0xMjM5LDYgKzEyNDIsMTE2IEBAIHN0 YXRpYyBpbnQgdGRhOTk4eF9hdWRpb19jb2RlY19pbml0KHN0cnVjdCB0ZGE5OTh4X3ByaXYgKnBy aXYsCiB9CiAKIC8qIERSTSBjb25uZWN0b3IgZnVuY3Rpb25zICovCitzdGF0aWMgdTggdGRhOTk4 eF9kZWJ1Z2ZzX3BhZ2VzW10gPSB7CisJMHgwMCwgMHgwMSwgMHgwMiwgMHgwOSwgMHgxMCwgMHgx MSwgMHgxMiwgMHgxMworfTsKKworc3RhdGljIHZvaWQgKnRkYTk5OHhfcmVnc19zdGFydChzdHJ1 Y3Qgc2VxX2ZpbGUgKnMsIGxvZmZfdCAqcG9zKQoreworCXJldHVybiAqcG9zIDwgQVJSQVlfU0la RSh0ZGE5OTh4X2RlYnVnZnNfcGFnZXMpID8gcG9zIDogTlVMTDsKK30KKworc3RhdGljIHZvaWQg KnRkYTk5OHhfcmVnc19uZXh0KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqdiwgbG9mZl90ICpw b3MpCit7CisJKCpwb3MpKys7CisJcmV0dXJuICpwb3MgPCBBUlJBWV9TSVpFKHRkYTk5OHhfZGVi dWdmc19wYWdlcykgPyBwb3MgOiBOVUxMOworfQorCitzdGF0aWMgdm9pZCB0ZGE5OTh4X3JlZ3Nf c3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnYpCit7Cit9CisKK3N0YXRpYyBpbnQgdGRh OTk4eF9yZWdzX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICp2KQoreworCXN0cnVjdCB0 ZGE5OTh4X3ByaXYgKnByaXYgPSBzLT5wcml2YXRlOworCXU4IHBhZ2UgPSB0ZGE5OTh4X2RlYnVn ZnNfcGFnZXNbKihsb2ZmX3QgKil2XTsKKwl1bnNpZ25lZCBpbnQgaSwgajsKKwl1OCBidWZbMTZd OworCisJc2VxX3ByaW50ZihzLCAiPT09PT09PT09PT09PT09PT09PT0gcGFnZSAlMDJ4ID09PT09 PT09PT09PT09PT09PT09PT1cbiIsIHBhZ2UpOworCXNlcV9wcmludGYocywgIiAgICAgMCAgMSAg MiAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgYSAgYiAgYyAgZCAgZSAgZlxuIik7CisJZm9yIChpID0g MDsgaSA8IDI1NjsgaSArPSBzaXplb2YoYnVmKSkgeworCQlyZWdfcmVhZF9yYW5nZShwcml2LCBS RUcocGFnZSwgaSksIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJCXNlcV9wcmludGYocywgIiUwMng6 IiwgaSk7CisJCWZvciAoaiA9IDA7IGogPCBzaXplb2YoYnVmKTsgaisrKQorCQkJc2VxX3ByaW50 ZihzLCAiICUwMngiLCBidWZbal0pOworCQlzZXFfcHJpbnRmKHMsICIgOiAiKTsKKwkJZm9yIChq ID0gMDsgaiA8IHNpemVvZihidWYpOyBqKyspCisJCQlzZXFfcHJpbnRmKHMsICIlYyIsCisJCQkJ ICAgaXNhc2NpaShidWZbal0pICYmIGlzcHJpbnQoYnVmW2pdKSA/CisJCQkJICAgYnVmW2pdIDog Jy4nKTsKKwkJc2VxX3B1dGMocywgJ1xuJyk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMg Y29uc3Qgc3RydWN0IHNlcV9vcGVyYXRpb25zIHRkYTk5OHhfcmVnc19zb3BzID0geworCS5zdGFy dAk9IHRkYTk5OHhfcmVnc19zdGFydCwKKwkubmV4dAk9IHRkYTk5OHhfcmVnc19uZXh0LAorCS5z dG9wCT0gdGRhOTk4eF9yZWdzX3N0b3AsCisJLnNob3cJPSB0ZGE5OTh4X3JlZ3Nfc2hvdywKK307 CisKK3N0YXRpYyBpbnQgdGRhOTk4eF9yZWdzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3Ry dWN0IGZpbGUgKmZpbGUpCit7CisJaW50IHJldCA9IHNlcV9vcGVuKGZpbGUsICZ0ZGE5OTh4X3Jl Z3Nfc29wcyk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwkoKHN0cnVjdCBzZXFf ZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YSktPnByaXZhdGUgPSBpbm9kZS0+aV9wcml2YXRlOwor CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHRkYTk5OHhfcmVnc193cml0ZShzdHJ1 Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwKKwkJCQkgIHNpemVfdCBjb3Vu dCwgbG9mZl90ICpvZmZzZXQpCit7CisJc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiA9CisJCSgo c3RydWN0IHNlcV9maWxlICopZmlsZS0+cHJpdmF0ZV9kYXRhKS0+cHJpdmF0ZTsKKwl1bnNpZ25l ZCBpbnQgcGFnZSwgYWRkciwgbWFzaywgdmFsOworCXVuc2lnbmVkIGNoYXIgcnZhbDsKKwljaGFy IGJ1ZmZlclsxNl07CisKKwltZW1zZXQoYnVmZmVyLCAwLCBzaXplb2YoYnVmZmVyKSk7CisJaWYg KGNvdW50ID4gc2l6ZW9mKGJ1ZmZlcikgLSAxKQorCQljb3VudCA9IHNpemVvZihidWZmZXIpIC0g MTsKKwlpZiAoY29weV9mcm9tX3VzZXIoYnVmZmVyLCBidWYsIGNvdW50KSkKKwkJcmV0dXJuIC1F RkFVTFQ7CisKKwlpZiAoc3NjYW5mKGJ1ZmZlciwgIiV4ICV4ICV4ICV4IiwgJnBhZ2UsICZhZGRy LCAmbWFzaywgJnZhbCkgIT0gNCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKHBhZ2UgPiAweGZm IHx8IGFkZHIgPiAweGZmIHx8IG1hc2sgPiAweGZmIHx8IHZhbCA+IDB4ZmYpCisJCXJldHVybiAt RVJBTkdFOworCisJcnZhbCA9IHJlZ19yZWFkKHByaXYsIFJFRyhwYWdlLCBhZGRyKSk7CisJcnZh bCAmPSB+bWFzazsKKwlydmFsIHw9IHZhbCAmIG1hc2s7CisJcmVnX3dyaXRlKHByaXYsIFJFRyhw YWdlLCBhZGRyKSwgcnZhbCk7CisKKwlwcmludGsoImkyYyB3cml0ZSAlMDJ4IEAgcGFnZTolMDJ4 IGFkZHJlc3M6JTAyeFxuIiwgcnZhbCwgcGFnZSwgYWRkcik7CisKKwlyZXR1cm4gY291bnQ7Cit9 CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRkYTk5OHhfcmVnc19mb3Bz ID0geworCS5vd25lciA9IFRISVNfTU9EVUxFLAorCS5vcGVuID0gdGRhOTk4eF9yZWdzX29wZW4s CisJLnJlYWQgPSBzZXFfcmVhZCwKKwkud3JpdGUgPSB0ZGE5OTh4X3JlZ3Nfd3JpdGUsCisJLmxs c2VlayA9IHNlcV9sc2VlaywKKwkucmVsZWFzZSA9IHNlcV9yZWxlYXNlLAorfTsKKworc3RhdGlj IGludCB0ZGE5OTh4X2xhdGVfcmVnaXN0ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKK3sKKwlzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2ID0gY29ubl90b190ZGE5OTh4X3ByaXYo Y29ubmVjdG9yKTsKKworCWRlYnVnZnNfY3JlYXRlX2ZpbGUoInRkYTk5OHgtcmVncyIsIDA2MDAs IGNvbm5lY3Rvci0+ZGVidWdmc19lbnRyeSwKKwkJCSAgICBwcml2LCAmdGRhOTk4eF9yZWdzX2Zv cHMpOworCisJcmV0dXJuIDA7Cit9CiAKIHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVz CiB0ZGE5OTh4X2Nvbm5lY3Rvcl9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwgYm9vbCBmb3JjZSkKQEAgLTEyNTksNiArMTM3Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9mdW5jcyB0ZGE5OTh4X2Nvbm5lY3Rvcl9mdW5jcyA9IHsKIAkucmVzZXQg PSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfcmVzZXQsCiAJLmZpbGxfbW9kZXMgPSBkcm1f aGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCiAJLmRldGVjdCA9IHRkYTk5OHhf Y29ubmVjdG9yX2RldGVjdCwKKwkubGF0ZV9yZWdpc3RlciA9IHRkYTk5OHhfbGF0ZV9yZWdpc3Rl ciwKIAkuZGVzdHJveSA9IHRkYTk5OHhfY29ubmVjdG9yX2Rlc3Ryb3ksCiAJLmF0b21pY19kdXBs aWNhdGVfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRl LAogCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9k ZXN0cm95X3N0YXRlLAotLSAKMi43LjQKCgotLSAKUk1LJ3MgUGF0Y2ggc3lzdGVtOiBodHRwczov L3d3dy5hcm1saW51eC5vcmcudWsvZGV2ZWxvcGVyL3BhdGNoZXMvCkZUVEMgYnJvYWRiYW5kIGZv ciAwLjhtaWxlIGxpbmUgaW4gc3VidXJiaWE6IHN5bmMgYXQgMTIuMU1icHMgZG93biA2MjJrYnBz IHVwCkFjY29yZGluZyB0byBzcGVlZHRlc3QubmV0OiAxMS45TWJwcyBkb3duIDUwMGticHMgdXAK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs