From mboxrd@z Thu Jan 1 00:00:00 1970 From: Beniamin Bia Subject: [PATCH v2 1/4] iio: adc: ad7606: Add support for AD7606B ADC Date: Wed, 7 Aug 2019 16:31:34 +0300 Message-ID: <20190807133137.11185-1-beniamin.bia@analog.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: jic23@kernel.org Cc: devel@driverdev.osuosl.org, mark.rutland@arm.com, lars@metafoo.de, biabeniamin@outlook.com, Stefan Popa , Michael.Hennerich@analog.com, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, gregkh@linuxfoundation.org, linus.walleij@linaro.org, linux-kernel@vger.kernel.org, nicolas.ferre@microchip.com, robh+dt@kernel.org, pmeerw@pmeerw.net, knaack.h@gmx.de, mchehab+samsung@kernel.org, paulmck@linux.ibm.com, Beniamin Bia List-Id: devicetree@vger.kernel.org RnJvbTogU3RlZmFuIFBvcGEgPHN0ZWZhbi5wb3BhQGFuYWxvZy5jb20+CgpUaGUgQUQ3NjA2QiBp cyBhIDE2LWJpdCBBREMgdGhhdCBzdXBwb3J0cyBzaW11bHRhbmVvdXMgc2FtcGxpbmcgb2YgOApj aGFubmVscy4gSXQgaXMgcGluIGNvbXBhdGlibGUgdG8gQUQ3NjA2LCBidXQgYWRkcyBleHRyYSBt b2RlcyBieQp3cml0aW5nIHRvIHRoZSByZWdpc3RlciBtYXAuCgpUaGUgQUQ3NjA2QiBjYW4gYmUg Y29uZmlndXJlZCB0byB3b3JrIGluIHNvZnR3YXJlIG1vZGUgYnkgc2V0dGluZyBhbGwKb3ZlcnNh bXBsaW5nIHBpbnMgdG8gaGlnaC4gVGhpcyBtb2RlIGlzIHNlbGVjdGVkIGJ5IGRlZmF1bHQuClRo ZSBvdmVyc2FtcGxpbmcgcmF0aW8gaXMgY29uZmlndXJlZCBmcm9tIHRoZSBPU19NT0RFIHJlZ2lz dGVyIChhZGRyZXNzCjB4MDgpIHdpdGggdGhlIGFkZGl0aW9uIG9mIE9TPTEyOCBhbmQgT1M9MjU2 IHRoYXQgd2VyZSBub3QgYXZhaWxhYmxlIGluCmhhcmR3YXJlIG1vZGUuCgpUaGUgZGV2aWNlIGlz IGNvbmZpZ3VyZWQgdG8gb3V0cHV0IGRhdGEgb24gYSBzaW5nbGUgc3BpIGNoYW5uZWwsIGJ1dCB0 aGlzCmNvbmZpZ3VyYXRpb24gbXVzdCBiZSBkb25lIHJpZ2h0IGFmdGVyIHJlc3RhcnQuIFRoYXQg aXMgd2h5IHRoZSBkZWxheSB3YXMKcmVtb3ZlZCBmb3IgZGV2aWNlcyB3aGljaCBkb2Vzbid0IHJl cXVpcmUgaXQuCgpNb3Jlb3ZlciwgaW4gc29mdHdhcmUgbW9kZSwgdGhlIHJhbmdlIGdwaW8gaGFz IG5vIGxvbmdlciBpdHMgZnVuY3Rpb24uCkluc3RlYWQsIHRoZSBzY2FsZSBjYW4gYmUgY29uZmln dXJlZCBpbmRpdmlkdWFsbHkgZm9yIGVhY2ggY2hhbm5lbCBmcm9tCnRoZSBSQU5HRV9DSCByZWdp c3RlcnMgKGFkZHJlc3MgMHgwMyB0byAweDA2KS4gQmVzaWRlcyB0aGUgYWxyZWFkeQpzdXBwb3J0 ZWQgwrExMCBWIGFuZCDCsTUgViByYW5nZXMsIHNvZnR3YXJlIG1vZGUgY2FuIGFsc28gYWNjb21t b2RhdGUgdGhlCsKxMi41IFYgcmFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUG9wYSA8c3Rl ZmFuLnBvcGFAYW5hbG9nLmNvbT4KQ28tZGV2ZWxvcGVkLWJ5OiBCZW5pYW1pbiBCaWEgPGJlbmlh bWluLmJpYUBhbmFsb2cuY29tPgpTaWduZWQtb2ZmLWJ5OiBCZW5pYW1pbiBCaWEgPGJlbmlhbWlu LmJpYUBhbmFsb2cuY29tPgpBY2tlZC1ieTogSm9uYXRoYW4gQ2FtZXJvbiA8amljMjNAa2VybmVs Lm9yZz4KLS0tCkNoYW5nZXMgaW4gdjI6Ci1ub3RoaW5nIGNoYW5nZWQKCiBkcml2ZXJzL2lpby9h ZGMvYWQ3NjA2LmMgICAgIHwgIDEzICsrKystCiBkcml2ZXJzL2lpby9hZGMvYWQ3NjA2LmggICAg IHwgICA0ICsrCiBkcml2ZXJzL2lpby9hZGMvYWQ3NjA2X3NwaS5jIHwgMTA3ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEyMiBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2FkYy9hZDc2MDYu YyBiL2RyaXZlcnMvaWlvL2FkYy9hZDc2MDYuYwppbmRleCBlZDJkMDg0MzdlNWQuLmY1YmE5NGMw M2E4ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9paW8vYWRjL2FkNzYwNi5jCisrKyBiL2RyaXZlcnMv aWlvL2FkYy9hZDc2MDYuYwpAQCAtNDEwLDEyICs0MTAsMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBhZDc2MDZfY2hpcF9pbmZvIGFkNzYwNl9jaGlwX2luZm9fdGJsW10gPSB7CiAJCS5vdmVyc2Ft cGxpbmdfYXZhaWwgPSBhZDc2MDZfb3ZlcnNhbXBsaW5nX2F2YWlsLAogCQkub3ZlcnNhbXBsaW5n X251bSA9IEFSUkFZX1NJWkUoYWQ3NjA2X292ZXJzYW1wbGluZ19hdmFpbCksCiAJfSwKKwlbSURf QUQ3NjA2Ql0gPSB7CisJCS5jaGFubmVscyA9IGFkNzYwNl9jaGFubmVscywKKwkJLm51bV9jaGFu bmVscyA9IDksCisJCS5vdmVyc2FtcGxpbmdfYXZhaWwgPSBhZDc2MDZfb3ZlcnNhbXBsaW5nX2F2 YWlsLAorCQkub3ZlcnNhbXBsaW5nX251bSA9IEFSUkFZX1NJWkUoYWQ3NjA2X292ZXJzYW1wbGlu Z19hdmFpbCksCisJfSwKIAlbSURfQUQ3NjE2XSA9IHsKIAkJLmNoYW5uZWxzID0gYWQ3NjE2X2No YW5uZWxzLAogCQkubnVtX2NoYW5uZWxzID0gMTcsCiAJCS5vdmVyc2FtcGxpbmdfYXZhaWwgPSBh ZDc2MTZfb3ZlcnNhbXBsaW5nX2F2YWlsLAogCQkub3ZlcnNhbXBsaW5nX251bSA9IEFSUkFZX1NJ WkUoYWQ3NjE2X292ZXJzYW1wbGluZ19hdmFpbCksCiAJCS5vc19yZXFfcmVzZXQgPSB0cnVlLAor CQkuaW5pdF9kZWxheV9tcyA9IDE1LAogCX0sCiB9OwogCkBAIC02MzEsOCArNjM4LDEwIEBAIGlu dCBhZDc2MDZfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaXJxLCB2b2lkIF9faW9tZW0g KmJhc2VfYWRkcmVzcywKIAkJZGV2X3dhcm4oc3QtPmRldiwgImZhaWxlZCB0byBSRVNFVDogbm8g UkVTRVQgR1BJTyBzcGVjaWZpZWRcbiIpOwogCiAJLyogQUQ3NjE2IHJlcXVpcmVzIGFsIGxlYXN0 IDE1bXMgdG8gcmVjb25maWd1cmUgYWZ0ZXIgYSByZXNldCAqLwotCWlmIChtc2xlZXBfaW50ZXJy dXB0aWJsZSgxNSkpCi0JCXJldHVybiAtRVJFU1RBUlRTWVM7CisJaWYgKHN0LT5jaGlwX2luZm8t PmluaXRfZGVsYXlfbXMpIHsKKwkJaWYgKG1zbGVlcF9pbnRlcnJ1cHRpYmxlKHN0LT5jaGlwX2lu Zm8tPmluaXRfZGVsYXlfbXMpKQorCQkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwl9CiAKIAlzdC0+ d3JpdGVfc2NhbGUgPSBhZDc2MDZfd3JpdGVfc2NhbGVfaHc7CiAJc3QtPndyaXRlX29zID0gYWQ3 NjA2X3dyaXRlX29zX2h3OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vYWRjL2FkNzYwNi5oIGIv ZHJpdmVycy9paW8vYWRjL2FkNzYwNi5oCmluZGV4IGVlYWFhOGI5MDVkYi4uOTM1MGVmMWY2M2I1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lpby9hZGMvYWQ3NjA2LmgKKysrIGIvZHJpdmVycy9paW8v YWRjL2FkNzYwNi5oCkBAIC00Niw2ICs0Niw4IEBACiAgKgkJCW92ZXJzYW1wbGluZyByYXRpb3Mu CiAgKiBAb3ZlcnNhbXBsaW5nX251bQludW1iZXIgb2YgZWxlbWVudHMgc3RvcmVkIGluIG92ZXJz YW1wbGluZ19hdmFpbCBhcnJheQogICogQG9zX3JlcV9yZXNldAlzb21lIGRldmljZXMgcmVxdWly ZSBhIHJlc2V0IHRvIHVwZGF0ZSBvdmVyc2FtcGxpbmcKKyAqIEBpbml0X2RlbGF5X21zCXJlcXVp cmVkIGRlbGF5IGluIG1pbGlzZWNvbmRzIGZvciBpbml0aWFsaXphdGlvbgorICoJCQlhZnRlciBh IHJlc3RhcnQKICAqLwogc3RydWN0IGFkNzYwNl9jaGlwX2luZm8gewogCWNvbnN0IHN0cnVjdCBp aW9fY2hhbl9zcGVjCSpjaGFubmVsczsKQEAgLTUzLDYgKzU1LDcgQEAgc3RydWN0IGFkNzYwNl9j aGlwX2luZm8gewogCWNvbnN0IHVuc2lnbmVkIGludAkJKm92ZXJzYW1wbGluZ19hdmFpbDsKIAl1 bnNpZ25lZCBpbnQJCQlvdmVyc2FtcGxpbmdfbnVtOwogCWJvb2wJCQkJb3NfcmVxX3Jlc2V0Owor CXVuc2lnbmVkIGxvbmcJCQlpbml0X2RlbGF5X21zOwogfTsKIAogLyoqCkBAIC0xNTUsNiArMTU4 LDcgQEAgZW51bSBhZDc2MDZfc3VwcG9ydGVkX2RldmljZV9pZHMgewogCUlEX0FENzYwNl84LAog CUlEX0FENzYwNl82LAogCUlEX0FENzYwNl80LAorCUlEX0FENzYwNkIsCiAJSURfQUQ3NjE2LAog fTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9paW8vYWRjL2FkNzYwNl9zcGkuYyBiL2RyaXZlcnMv aWlvL2FkYy9hZDc2MDZfc3BpLmMKaW5kZXggOThlZDUyYjc0NTA3Li4wNzBlZTdlMzFlMmMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvaWlvL2FkYy9hZDc2MDZfc3BpLmMKKysrIGIvZHJpdmVycy9paW8v YWRjL2FkNzYwNl9zcGkuYwpAQCAtMzEsNiArMzEsMjAgQEAKIC8qIFRoZSByYW5nZSBvZiB0aGUg Y2hhbm5lbCBpcyBzdG9yZWQgb24gMiBiaXRzKi8KICNkZWZpbmUgQUQ3NjE2X1JBTkdFX0NIX01T SyhjaCkJCSgwYjExIDw8ICgoKGNoKSAmIDBiMTEpICogMikpCiAjZGVmaW5lIEFENzYxNl9SQU5H RV9DSF9NT0RFKGNoLCBtb2RlKQkoKG1vZGUpIDw8ICgoKChjaCkgJiAwYjExKSkgKiAyKSkKKwor I2RlZmluZSBBRDc2MDZfQ09ORklHVVJBVElPTl9SRUdJU1RFUgkweDAyCisjZGVmaW5lIEFENzYw Nl9TSU5HTEVfRE9VVAkJMHgwCisKKy8qCisgKiBSYW5nZSBmb3IgQUQ3NjA2QiBjaGFubmVscyBh cmUgc3RvcmVkIGluIHJlZ2lzdGVycyBzdGFydGluZyB3aXRoIGFkZHJlc3MgMHgzLgorICogRWFj aCByZWdpc3RlciBzdG9yZXMgcmFuZ2UgZm9yIDIgY2hhbm5lbHMoNCBiaXRzIHBlciBjaGFubmVs KS4KKyAqLworI2RlZmluZSBBRDc2MDZfUkFOR0VfQ0hfTVNLKGNoKQkJKEdFTk1BU0soMywgMCkg PDwgKDQgKiAoKGNoKSAmIDB4MSkpKQorI2RlZmluZSBBRDc2MDZfUkFOR0VfQ0hfTU9ERShjaCwg bW9kZSkJXAorCSgoR0VOTUFTSygzLCAwKSAmIG1vZGUpIDw8ICg0ICogKChjaCkgJiAweDEpKSkK KyNkZWZpbmUgQUQ3NjA2X1JBTkdFX0NIX0FERFIoY2gpCSgweDAzICsgKChjaCkgPj4gMSkpCisj ZGVmaW5lIEFENzYwNl9PU19NT0RFCQkJMHgwOAorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGlpb19j aGFuX3NwZWMgYWQ3NjE2X3N3X2NoYW5uZWxzW10gPSB7CiAJSUlPX0NIQU5fU09GVF9USU1FU1RB TVAoMTYpLAogCUFENzYxNl9DSEFOTkVMKDApLApAQCAtNTEsNiArNjUsMjIgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBpaW9fY2hhbl9zcGVjIGFkNzYxNl9zd19jaGFubmVsc1tdID0gewogCUFENzYx Nl9DSEFOTkVMKDE1KSwKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaWlvX2NoYW5fc3BlYyBh ZDc2MDZCX3N3X2NoYW5uZWxzW10gPSB7CisJSUlPX0NIQU5fU09GVF9USU1FU1RBTVAoOCksCisJ QUQ3NjE2X0NIQU5ORUwoMCksCisJQUQ3NjE2X0NIQU5ORUwoMSksCisJQUQ3NjE2X0NIQU5ORUwo MiksCisJQUQ3NjE2X0NIQU5ORUwoMyksCisJQUQ3NjE2X0NIQU5ORUwoNCksCisJQUQ3NjE2X0NI QU5ORUwoNSksCisJQUQ3NjE2X0NIQU5ORUwoNiksCisJQUQ3NjE2X0NIQU5ORUwoNyksCit9Owor CitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IGFkNzYwNkJfb3ZlcnNhbXBsaW5nX2F2YWlsWzld ID0geworCTEsIDIsIDQsIDgsIDE2LCAzMiwgNjQsIDEyOCwgMjU2Cit9OworCiBzdGF0aWMgdTE2 IGFkNzYxNl9zcGlfcmRfd3JfY21kKGludCBhZGRyLCBjaGFyIGlzV3JpdGVPcCkKIHsKIAkvKgpA QCAtNjAsNiArOTAsMTYgQEAgc3RhdGljIHUxNiBhZDc2MTZfc3BpX3JkX3dyX2NtZChpbnQgYWRk ciwgY2hhciBpc1dyaXRlT3ApCiAJcmV0dXJuICgoYWRkciAmIDB4N0YpIDw8IDEpIHwgKChpc1dy aXRlT3AgJiAweDEpIDw8IDcpOwogfQogCitzdGF0aWMgdTE2IGFkNzYwNkJfc3BpX3JkX3dyX2Nt ZChpbnQgYWRkciwgY2hhciBpc1dyaXRlT3ApCit7CisJLyoKKwkgKiBUaGUgYWRkcmVzcyBvZiBy ZWdpc3RlciBjb25zaXN0cyBvZiBvbmUgYml0IHdoaWNoCisJICogc3BlY2lmaWVzIGEgcmVhZCBj b21tYW5kIHBsYWNlZCBiaXQgNiwgZm9sbG93ZWQgYnkKKwkgKiA2IGJpdHMgb2YgYWRkcmVzcy4K KwkgKi8KKwlyZXR1cm4gKGFkZHIgJiAweDNGKSB8ICgoKH5pc1dyaXRlT3ApICYgMHgxKSA8PCA2 KTsKK30KKwogc3RhdGljIGludCBhZDc2MDZfc3BpX3JlYWRfYmxvY2soc3RydWN0IGRldmljZSAq ZGV2LAogCQkJCSBpbnQgY291bnQsIHZvaWQgKmJ1ZikKIHsKQEAgLTE2OSw2ICsyMDksMjMgQEAg c3RhdGljIGludCBhZDc2MTZfd3JpdGVfb3Nfc3coc3RydWN0IGlpb19kZXYgKmluZGlvX2Rldiwg aW50IHZhbCkKIAkJCQkgICAgIEFENzYxNl9PU19NQVNLLCB2YWwgPDwgMik7CiB9CiAKK3N0YXRp YyBpbnQgYWQ3NjA2X3dyaXRlX3NjYWxlX3N3KHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYsIGlu dCBjaCwgaW50IHZhbCkKK3sKKwlzdHJ1Y3QgYWQ3NjA2X3N0YXRlICpzdCA9IGlpb19wcml2KGlu ZGlvX2Rldik7CisKKwlyZXR1cm4gYWQ3NjA2X3NwaV93cml0ZV9tYXNrKHN0LAorCQkJCSAgICAg QUQ3NjA2X1JBTkdFX0NIX0FERFIoY2gpLAorCQkJCSAgICAgQUQ3NjA2X1JBTkdFX0NIX01TSyhj aCksCisJCQkJICAgICBBRDc2MDZfUkFOR0VfQ0hfTU9ERShjaCwgdmFsKSk7Cit9CisKK3N0YXRp YyBpbnQgYWQ3NjA2X3dyaXRlX29zX3N3KHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYsIGludCB2 YWwpCit7CisJc3RydWN0IGFkNzYwNl9zdGF0ZSAqc3QgPSBpaW9fcHJpdihpbmRpb19kZXYpOwor CisJcmV0dXJuIGFkNzYwNl9zcGlfcmVnX3dyaXRlKHN0LCBBRDc2MDZfT1NfTU9ERSwgdmFsKTsK K30KKwogc3RhdGljIGludCBhZDc2MTZfc3dfbW9kZV9jb25maWcoc3RydWN0IGlpb19kZXYgKmlu ZGlvX2RldikKIHsKIAlzdHJ1Y3QgYWQ3NjA2X3N0YXRlICpzdCA9IGlpb19wcml2KGluZGlvX2Rl dik7CkBAIC0xODksNiArMjQ2LDQyIEBAIHN0YXRpYyBpbnQgYWQ3NjE2X3N3X21vZGVfY29uZmln KHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYpCiAJCQkgICAgICBBRDc2MTZfQlVSU1RfTU9ERSB8 IEFENzYxNl9TRVFFTl9NT0RFKTsKIH0KIAorc3RhdGljIGludCBhZDc2MDZCX3N3X21vZGVfY29u ZmlnKHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYpCit7CisJc3RydWN0IGFkNzYwNl9zdGF0ZSAq c3QgPSBpaW9fcHJpdihpbmRpb19kZXYpOworCXVuc2lnbmVkIGxvbmcgb3NbM10gPSB7MX07CisK KwkvKgorCSAqIFNvZnR3YXJlIG1vZGUgaXMgZW5hYmxlZCB3aGVuIGFsbCB0aHJlZSBvdmVyc2Ft cGxpbmcKKwkgKiBwaW5zIGFyZSBzZXQgdG8gaGlnaC4gSWYgb3ZlcnNhbXBsaW5nIGdwaW9zIGFy ZSBkZWZpbmVkCisJICogaW4gdGhlIGRldmljZSB0cmVlLCB0aGVuIHRoZXkgbmVlZCB0byBiZSBz ZXQgdG8gaGlnaCwKKwkgKiBvdGhlcndpc2UsIHRoZXkgbXVzdCBiZSBoYXJkd2lyZWQgdG8gVkRE CisJICovCisJaWYgKHN0LT5ncGlvX29zKSB7CisJCWdwaW9kX3NldF9hcnJheV92YWx1ZShBUlJB WV9TSVpFKG9zKSwKKwkJCQkgICAgICBzdC0+Z3Bpb19vcy0+ZGVzYywgc3QtPmdwaW9fb3MtPmlu Zm8sIG9zKTsKKwl9CisJLyogT1Mgb2YgMTI4IGFuZCAyNTYgYXJlIGF2YWlsYWJsZSBvbmx5IGlu IHNvZnR3YXJlIG1vZGUgKi8KKwlzdC0+b3ZlcnNhbXBsaW5nX2F2YWlsID0gYWQ3NjA2Ql9vdmVy c2FtcGxpbmdfYXZhaWw7CisJc3QtPm51bV9vc19yYXRpb3MgPSBBUlJBWV9TSVpFKGFkNzYwNkJf b3ZlcnNhbXBsaW5nX2F2YWlsKTsKKworCXN0LT53cml0ZV9zY2FsZSA9IGFkNzYwNl93cml0ZV9z Y2FsZV9zdzsKKwlzdC0+d3JpdGVfb3MgPSAmYWQ3NjA2X3dyaXRlX29zX3N3OworCisJLyogQ29u ZmlndXJlIGRldmljZSBzcGkgdG8gb3V0cHV0IG9uIGEgc2luZ2xlIGNoYW5uZWwgKi8KKwlzdC0+ Ym9wcy0+cmVnX3dyaXRlKHN0LAorCQkJICAgIEFENzYwNl9DT05GSUdVUkFUSU9OX1JFR0lTVEVS LAorCQkJICAgIEFENzYwNl9TSU5HTEVfRE9VVCk7CisKKwkvKgorCSAqIFNjYWxlIGNhbiBiZSBj b25maWd1cmVkIGluZGl2aWR1YWxseSBmb3IgZWFjaCBjaGFubmVsCisJICogaW4gc29mdHdhcmUg bW9kZS4KKwkgKi8KKwlpbmRpb19kZXYtPmNoYW5uZWxzID0gYWQ3NjA2Ql9zd19jaGFubmVsczsK KworCXJldHVybiAwOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFkNzYwNl9idXNfb3BzIGFk NzYwNl9zcGlfYm9wcyA9IHsKIAkucmVhZF9ibG9jayA9IGFkNzYwNl9zcGlfcmVhZF9ibG9jaywK IH07CkBAIC0yMDIsNiArMjk1LDE1IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWQ3NjA2X2J1c19v cHMgYWQ3NjE2X3NwaV9ib3BzID0gewogCS5zd19tb2RlX2NvbmZpZyA9IGFkNzYxNl9zd19tb2Rl X2NvbmZpZywKIH07CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQ3NjA2X2J1c19vcHMgYWQ3NjA2 Ql9zcGlfYm9wcyA9IHsKKwkucmVhZF9ibG9jayA9IGFkNzYwNl9zcGlfcmVhZF9ibG9jaywKKwku cmVnX3JlYWQgPSBhZDc2MDZfc3BpX3JlZ19yZWFkLAorCS5yZWdfd3JpdGUgPSBhZDc2MDZfc3Bp X3JlZ193cml0ZSwKKwkud3JpdGVfbWFzayA9IGFkNzYwNl9zcGlfd3JpdGVfbWFzaywKKwkucmRf d3JfY21kID0gYWQ3NjA2Ql9zcGlfcmRfd3JfY21kLAorCS5zd19tb2RlX2NvbmZpZyA9IGFkNzYw NkJfc3dfbW9kZV9jb25maWcsCit9OworCiBzdGF0aWMgaW50IGFkNzYwNl9zcGlfcHJvYmUoc3Ry dWN0IHNwaV9kZXZpY2UgKnNwaSkKIHsKIAljb25zdCBzdHJ1Y3Qgc3BpX2RldmljZV9pZCAqaWQg PSBzcGlfZ2V0X2RldmljZV9pZChzcGkpOwpAQCAtMjExLDYgKzMxMyw5IEBAIHN0YXRpYyBpbnQg YWQ3NjA2X3NwaV9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogCWNhc2UgSURfQUQ3NjE2 OgogCQlib3BzID0gJmFkNzYxNl9zcGlfYm9wczsKIAkJYnJlYWs7CisJY2FzZSBJRF9BRDc2MDZC OgorCQlib3BzID0gJmFkNzYwNkJfc3BpX2JvcHM7CisJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCWJv cHMgPSAmYWQ3NjA2X3NwaV9ib3BzOwogCQlicmVhazsKQEAgLTIyNiw2ICszMzEsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHNwaV9kZXZpY2VfaWQgYWQ3NjA2X2lkX3RhYmxlW10gPSB7CiAJeyAi YWQ3NjA2LTQiLCBJRF9BRDc2MDZfNCB9LAogCXsgImFkNzYwNi02IiwgSURfQUQ3NjA2XzYgfSwK IAl7ICJhZDc2MDYtOCIsIElEX0FENzYwNl84IH0sCisJeyAiYWQ3NjA2YiIsICBJRF9BRDc2MDZC IH0sCiAJeyAiYWQ3NjE2IiwgICBJRF9BRDc2MTYgfSwKIAl7fQogfTsKQEAgLTIzNiw2ICszNDIs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBhZDc2MDZfb2ZfbWF0Y2hbXSA9 IHsKIAl7IC5jb21wYXRpYmxlID0gImFkaSxhZDc2MDYtNCIgfSwKIAl7IC5jb21wYXRpYmxlID0g ImFkaSxhZDc2MDYtNiIgfSwKIAl7IC5jb21wYXRpYmxlID0gImFkaSxhZDc2MDYtOCIgfSwKKwl7 IC5jb21wYXRpYmxlID0gImFkaSxhZDc2MDZiIiB9LAogCXsgLmNvbXBhdGlibGUgPSAiYWRpLGFk NzYxNiIgfSwKIAl7IH0sCiB9OwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkZXZlbCBtYWlsaW5nIGxpc3QKZGV2ZWxAbGludXhkcml2 ZXJwcm9qZWN0Lm9yZwpodHRwOi8vZHJpdmVyZGV2LmxpbnV4ZHJpdmVycHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcml2ZXJkZXYtZGV2ZWwK