From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kieran Bingham Subject: [PATCH v2 5/5] drm: adv7511: Add support for i2c_new_secondary_device Date: Mon, 12 Feb 2018 18:11:57 +0000 Message-ID: <1518459117-16733-6-git-send-email-kbingham@kernel.org> References: <1518459117-16733-1-git-send-email-kbingham@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id D84AF6E244 for ; Mon, 12 Feb 2018 18:12:24 +0000 (UTC) In-Reply-To: <1518459117-16733-1-git-send-email-kbingham@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org Cc: Sergei Shtylyov , David Airlie , Daniel Vetter , Kieran Bingham , Hans Verkuil , Kieran Bingham , Laurent Pinchart , Jean-Michel Hautbois , Dan Carpenter , Bhumika Goyal List-Id: dri-devel@lists.freedesktop.org RnJvbTogS2llcmFuIEJpbmdoYW0gPGtpZXJhbi5iaW5naGFtK3JlbmVzYXNAaWRlYXNvbmJvYXJk LmNvbT4KClRoZSBBRFY3NTExIGhhcyBmb3VyIDI1Ni1ieXRlIG1hcHMgdGhhdCBjYW4gYmUgYWNj ZXNzZWQgdmlhIHRoZSBtYWluIEnCskMKcG9ydHMuIEVhY2ggbWFwIGhhcyBpdCBvd24gScKyQyBh ZGRyZXNzIGFuZCBhY3RzIGFzIGEgc3RhbmRhcmQgc2xhdmUKZGV2aWNlIG9uIHRoZSBJwrJDIGJ1 cy4KCkFsbG93IGEgZGV2aWNlIHRyZWUgbm9kZSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBhZGRy ZXNzZXMgc28gdGhhdAphZGRyZXNzIGNvbmZsaWN0cyB3aXRoIG90aGVyIGRldmljZXMgb24gdGhl IHNhbWUgYnVzIG1heSBiZSByZXNvbHZlZCBhdAp0aGUgYm9hcmQgZGVzY3JpcHRpb24gbGV2ZWwu CgpTaWduZWQtb2ZmLWJ5OiBLaWVyYW4gQmluZ2hhbSA8a2llcmFuLmJpbmdoYW0rcmVuZXNhc0Bp ZGVhc29uYm9hcmQuY29tPgoKLS0tCnYyOgogLSBVcGRhdGUgbWlzc2luZyBlZGlkLWkyYyBhZGRy ZXNzIHNldHRpbmcKIC0gU3BsaXQgb3V0IERUIGJpbmRpbmdzCiAtIFJlbmFtZSBhbmQgbW92ZSB0 aGUgSTJDIGRlZmF1bHQgYWRkcmVzc2VzIHRvIHRoZWlyIG93biBzZWN0aW9uCgogZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTEuaCAgICAgfCAgNiArKysrCiBkcml2ZXJzL2dw dS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYyB8IDQyICsrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1 MTEuaCBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExLmgKaW5kZXggZDAz NGIyY2I1ZWVlLi4wNGU2NzU5ZWU0NWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvYWR2NzUxMS9hZHY3NTExLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTEx L2Fkdjc1MTEuaApAQCAtOTMsNiArOTMsMTEgQEAKICNkZWZpbmUgQURWNzUxMV9SRUdfQ0hJUF9J RF9ISUdICQkweGY1CiAjZGVmaW5lIEFEVjc1MTFfUkVHX0NISVBfSURfTE9XCQkJMHhmNgogCisv KiBIYXJkd2FyZSBkZWZpbmVkIGRlZmF1bHQgYWRkcmVzc2VzIGZvciBpMmMgcmVnaXN0ZXIgbWFw cyAqLworI2RlZmluZSBBRFY3NTExX0NFQ19JMkNfQUREUl9ERUZBVUxUCQkweDNjCisjZGVmaW5l IEFEVjc1MTFfRURJRF9JMkNfQUREUl9ERUZBVUxUCQkweDNmCisjZGVmaW5lIEFEVjc1MTFfUEFD S0VUX0kyQ19BRERSX0RFRkFVTFQJCTB4MzgKKwogI2RlZmluZSBBRFY3NTExX0NTQ19FTkFCTEUJ CQlCSVQoNykKICNkZWZpbmUgQURWNzUxMV9DU0NfVVBEQVRFX01PREUJCQlCSVQoNSkKIApAQCAt MzIyLDYgKzMyNyw3IEBAIHN0cnVjdCBhZHY3NTExIHsKIAlzdHJ1Y3QgaTJjX2NsaWVudCAqaTJj X21haW47CiAJc3RydWN0IGkyY19jbGllbnQgKmkyY19lZGlkOwogCXN0cnVjdCBpMmNfY2xpZW50 ICppMmNfY2VjOworCXN0cnVjdCBpMmNfY2xpZW50ICppMmNfcGFja2V0OwogCiAJc3RydWN0IHJl Z21hcCAqcmVnbWFwOwogCXN0cnVjdCByZWdtYXAgKnJlZ21hcF9jZWM7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jCmluZGV4IGVmYTI5ZGI1ZmMyYi4uNWU2 MWI5MjhjOWMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2 NzUxMV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9k cnYuYwpAQCAtNTg2LDcgKzU4Niw3IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9nZXRfbW9kZXMoc3Ry dWN0IGFkdjc1MTEgKmFkdjc1MTEsCiAJLyogUmVhZGluZyB0aGUgRURJRCBvbmx5IHdvcmtzIGlm IHRoZSBkZXZpY2UgaXMgcG93ZXJlZCAqLwogCWlmICghYWR2NzUxMS0+cG93ZXJlZCkgewogCQl1 bnNpZ25lZCBpbnQgZWRpZF9pMmNfYWRkciA9Ci0JCQkJCShhZHY3NTExLT5pMmNfbWFpbi0+YWRk ciA8PCAxKSArIDQ7CisJCQkJCShhZHY3NTExLT5pMmNfZWRpZC0+YWRkciA8PCAxKTsKIAogCQlf X2Fkdjc1MTFfcG93ZXJfb24oYWR2NzUxMSk7CiAKQEAgLTk2OSwxMCArOTY5LDEwIEBAIHN0YXRp YyBpbnQgYWR2NzUxMV9pbml0X2NlY19yZWdtYXAoc3RydWN0IGFkdjc1MTEgKmFkdikKIHsKIAlp bnQgcmV0OwogCi0JYWR2LT5pMmNfY2VjID0gaTJjX25ld19kdW1teShhZHYtPmkyY19tYWluLT5h ZGFwdGVyLAotCQkJCSAgICAgYWR2LT5pMmNfbWFpbi0+YWRkciAtIDEpOworCWFkdi0+aTJjX2Nl YyA9IGkyY19uZXdfc2Vjb25kYXJ5X2RldmljZShhZHYtPmkyY19tYWluLCAiY2VjIiwKKwkJCQkJ QURWNzUxMV9DRUNfSTJDX0FERFJfREVGQVVMVCk7CiAJaWYgKCFhZHYtPmkyY19jZWMpCi0JCXJl dHVybiAtRU5PTUVNOworCQlyZXR1cm4gLUVJTlZBTDsKIAlpMmNfc2V0X2NsaWVudGRhdGEoYWR2 LT5pMmNfY2VjLCBhZHYpOwogCiAJYWR2LT5yZWdtYXBfY2VjID0gZGV2bV9yZWdtYXBfaW5pdF9p MmMoYWR2LT5pMmNfY2VjLApAQCAtMTA4Miw4ICsxMDgyLDYgQEAgc3RhdGljIGludCBhZHY3NTEx X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMsIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lk ICppZCkKIAlzdHJ1Y3QgYWR2NzUxMV9saW5rX2NvbmZpZyBsaW5rX2NvbmZpZzsKIAlzdHJ1Y3Qg YWR2NzUxMSAqYWR2NzUxMTsKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmaTJjLT5kZXY7Ci0JdW5z aWduZWQgaW50IG1haW5faTJjX2FkZHIgPSBpMmMtPmFkZHIgPDwgMTsKLQl1bnNpZ25lZCBpbnQg ZWRpZF9pMmNfYWRkciA9IG1haW5faTJjX2FkZHIgKyA0OwogCXVuc2lnbmVkIGludCB2YWw7CiAJ aW50IHJldDsKIApAQCAtMTE1MywyNCArMTE1MSwzNSBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcHJv YmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlk KQogCWlmIChyZXQpCiAJCWdvdG8gdW5pbml0X3JlZ3VsYXRvcnM7CiAKLQlyZWdtYXBfd3JpdGUo YWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19FRElEX0kyQ19BRERSLCBlZGlkX2kyY19hZGRy KTsKLQlyZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19QQUNLRVRfSTJD X0FERFIsCi0JCSAgICAgbWFpbl9pMmNfYWRkciAtIDB4YSk7Ci0JcmVnbWFwX3dyaXRlKGFkdjc1 MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfQ0VDX0kyQ19BRERSLAotCQkgICAgIG1haW5faTJjX2Fk ZHIgLSAyKTsKLQogCWFkdjc1MTFfcGFja2V0X2Rpc2FibGUoYWR2NzUxMSwgMHhmZmZmKTsKIAot CWFkdjc1MTEtPmkyY19lZGlkID0gaTJjX25ld19kdW1teShpMmMtPmFkYXB0ZXIsIGVkaWRfaTJj X2FkZHIgPj4gMSk7CisJYWR2NzUxMS0+aTJjX2VkaWQgPSBpMmNfbmV3X3NlY29uZGFyeV9kZXZp Y2UoaTJjLCAiZWRpZCIsCisJCQkJCUFEVjc1MTFfRURJRF9JMkNfQUREUl9ERUZBVUxUKTsKIAlp ZiAoIWFkdjc1MTEtPmkyY19lZGlkKSB7Ci0JCXJldCA9IC1FTk9NRU07CisJCXJldCA9IC1FSU5W QUw7CiAJCWdvdG8gdW5pbml0X3JlZ3VsYXRvcnM7CiAJfQogCisJcmVnbWFwX3dyaXRlKGFkdjc1 MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfRURJRF9JMkNfQUREUiwKKwkJICAgICBhZHY3NTExLT5p MmNfZWRpZC0+YWRkciA8PCAxKTsKKwogCXJldCA9IGFkdjc1MTFfaW5pdF9jZWNfcmVnbWFwKGFk djc1MTEpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX2kyY191bnJlZ2lzdGVyX2VkaWQ7CiAKKwly ZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19DRUNfSTJDX0FERFIsCisJ CSAgICAgYWR2NzUxMS0+aTJjX2NlYy0+YWRkciA8PCAxKTsKKworCWFkdjc1MTEtPmkyY19wYWNr ZXQgPSBpMmNfbmV3X3NlY29uZGFyeV9kZXZpY2UoaTJjLCAicGFja2V0IiwKKwkJCQkJQURWNzUx MV9QQUNLRVRfSTJDX0FERFJfREVGQVVMVCk7CisJaWYgKCFhZHY3NTExLT5pMmNfcGFja2V0KSB7 CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gZXJyX3VucmVnaXN0ZXJfY2VjOworCX0KKworCXJl Z21hcF93cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX1BBQ0tFVF9JMkNfQUREUiwK KwkJICAgICBhZHY3NTExLT5pMmNfcGFja2V0LT5hZGRyIDw8IDEpOworCiAJSU5JVF9XT1JLKCZh ZHY3NTExLT5ocGRfd29yaywgYWR2NzUxMV9ocGRfd29yayk7CiAKIAlpZiAoaTJjLT5pcnEpIHsK QEAgLTExODEsNyArMTE5MCw3IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudCAqaTJjLCBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCiAJCQkJCQlJUlFG X09ORVNIT1QsIGRldl9uYW1lKGRldiksCiAJCQkJCQlhZHY3NTExKTsKIAkJaWYgKHJldCkKLQkJ CWdvdG8gZXJyX3VucmVnaXN0ZXJfY2VjOworCQkJZ290byBlcnJfdW5yZWdpc3Rlcl9wYWNrZXQ7 CiAJfQogCiAJYWR2NzUxMV9wb3dlcl9vZmYoYWR2NzUxMSk7CkBAIC0xMjAzLDYgKzEyMTIsOCBA QCBzdGF0aWMgaW50IGFkdjc1MTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywgY29uc3Qg c3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQogCWFkdjc1MTFfYXVkaW9faW5pdChkZXYsIGFkdjc1 MTEpOwogCXJldHVybiAwOwogCitlcnJfdW5yZWdpc3Rlcl9wYWNrZXQ6CisJaTJjX3VucmVnaXN0 ZXJfZGV2aWNlKGFkdjc1MTEtPmkyY19wYWNrZXQpOwogZXJyX3VucmVnaXN0ZXJfY2VjOgogCWky Y191bnJlZ2lzdGVyX2RldmljZShhZHY3NTExLT5pMmNfY2VjKTsKIAlpZiAoYWR2NzUxMS0+Y2Vj X2NsaykKQEAgLTEyMzQsNiArMTI0NSw3IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9yZW1vdmUoc3Ry dWN0IGkyY19jbGllbnQgKmkyYykKIAljZWNfdW5yZWdpc3Rlcl9hZGFwdGVyKGFkdjc1MTEtPmNl Y19hZGFwKTsKIAogCWkyY191bnJlZ2lzdGVyX2RldmljZShhZHY3NTExLT5pMmNfZWRpZCk7CisJ aTJjX3VucmVnaXN0ZXJfZGV2aWNlKGFkdjc1MTEtPmkyY19wYWNrZXQpOwogCiAJcmV0dXJuIDA7 CiB9Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==