From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Mauro Carvalho Chehab Date: Sun, 20 Aug 2017 12:20:20 +0000 Subject: [git:media_tree/master] media: Convert to using %pOF instead of full_name MIME-Version: 1.0 To: linuxtv-commits@linuxtv.org Message-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: linux-media@vger.kernel.org Cc: Andrew-CT Chen , Minghsiu Tsai , Lad@linuxtv.org, Songjun Wu , Andrzej Hajda , Prabhakar , Laurent Pinchart , Sylwester Nawrocki , Rob Herring , linux-samsung-soc@vger.kernel.org, Michal Simek , Krzysztof Kozlowski , Javier Martinez Canillas , Kukjin Kim , Hans Verkuil , Sören Brinkmann , Houlong Wei , linux-mediatek@lists.infradead.org, Matthias Brugger , Mauro Carvalho Chehab , linux-arm-kernel@lists.infradead.org, Niklas Söderlund , Hyun Kwon , linux-renesas-soc@vger.kernel.org, Kyungmin Park , Guennadi Liakhovetski Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+geert=linux-m68k.org@lists.infradead.org List-ID: VGhpcyBpcyBhbiBhdXRvbWF0aWMgZ2VuZXJhdGVkIGVtYWlsIHRvIGxldCB5b3Uga25vdyB0aGF0 IHRoZSBmb2xsb3dpbmcgcGF0Y2ggd2VyZSBxdWV1ZWQ6CgpTdWJqZWN0OiBtZWRpYTogQ29udmVy dCB0byB1c2luZyAlcE9GIGluc3RlYWQgb2YgZnVsbF9uYW1lCkF1dGhvcjogIFJvYiBIZXJyaW5n IDxyb2JoQGtlcm5lbC5vcmc+CkRhdGU6ICAgIEZyaSBKdWwgMjEgMTU6Mjg6MzMgMjAxNyAtMDQw MAoKTm93IHRoYXQgd2UgaGF2ZSBhIGN1c3RvbSBwcmludGYgZm9ybWF0IHNwZWNpZmllciwgY29u dmVydCB1c2VycyBvZgpmdWxsX25hbWUgdG8gdXNlICVwT0YgaW5zdGVhZC4gVGhpcyBpcyBwcmVw YXJhdGlvbiB0byByZW1vdmUgc3RvcmluZwpvZiB0aGUgZnVsbCBwYXRoIHN0cmluZyBmb3IgZWFj aCBub2RlLgoKU2lnbmVkLW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KQWNr ZWQtYnk6IE5pa2xhcyBTw7ZkZXJsdW5kIDxuaWtsYXMuc29kZXJsdW5kK3JlbmVzYXNAcmFnbmF0 ZWNoLnNlPgpBY2tlZC1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVh c29uYm9hcmQuY29tPgpSZXZpZXdlZC1ieTogTWF0dGhpYXMgQnJ1Z2dlciA8bWF0dGhpYXMuYmdn QGdtYWlsLmNvbT4KQWNrZWQtYnk6IE5pY29sYXMgRmVycmUgPG5pY29sYXMuZmVycmVAbWljcm9j aGlwLmNvbT4KQWNrZWQtYnk6IExhZCwgUHJhYmhha2FyIDxwcmFiaGFrYXIuY3NlbmdnQGdtYWls LmNvbT4KQ2M6IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtAc2Ftc3VuZy5jb20+CkNjOiBB bmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29tPgpDYzogTWF1cm8gQ2FydmFsaG8gQ2hl aGFiIDxtY2hlaGFiQGtlcm5lbC5vcmc+CkNjOiBTb25nanVuIFd1IDxzb25nanVuLnd1QG1pY3Jv Y2hpcC5jb20+CkNjOiBLdWtqaW4gS2ltIDxrZ2VuZUBrZXJuZWwub3JnPgpDYzogS3J6eXN6dG9m IEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpDYzogSmF2aWVyIE1hcnRpbmV6IENhbmlsbGFz IDxqYXZpZXJAb3NnLnNhbXN1bmcuY29tPgpDYzogTWluZ2hzaXUgVHNhaSA8bWluZ2hzaXUudHNh aUBtZWRpYXRlay5jb20+CkNjOiBIb3Vsb25nIFdlaSA8aG91bG9uZy53ZWlAbWVkaWF0ZWsuY29t PgpDYzogQW5kcmV3LUNUIENoZW4gPGFuZHJldy1jdC5jaGVuQG1lZGlhdGVrLmNvbT4KQ2M6IEd1 ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPgpDYzogSHl1biBLd29u IDxoeXVuLmt3b25AeGlsaW54LmNvbT4KQ2M6IE1pY2hhbCBTaW1layA8bWljaGFsLnNpbWVrQHhp bGlueC5jb20+CkNjOiAiU8O2cmVuIEJyaW5rbWFubiIgPHNvcmVuLmJyaW5rbWFubkB4aWxpbngu Y29tPgpDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1z YW1zdW5nLXNvY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJh ZGVhZC5vcmcKQ2M6IGxpbnV4LXJlbmVzYXMtc29jQHZnZXIua2VybmVsLm9yZwpSZXZpZXdlZC1i eTogU3lsd2VzdGVyIE5hd3JvY2tpIDxzLm5hd3JvY2tpQHNhbXN1bmcuY29tPgpTaWduZWQtb2Zm LWJ5OiBIYW5zIFZlcmt1aWwgPGhhbnMudmVya3VpbEBjaXNjby5jb20+ClNpZ25lZC1vZmYtYnk6 IE1hdXJvIENhcnZhbGhvIENoZWhhYiA8bWNoZWhhYkBzLW9wZW5zb3VyY2UuY29tPgoKIGRyaXZl cnMvbWVkaWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3JlLmMgICAgICAgfCAgMyArLQogZHJpdmVy cy9tZWRpYS9pMmMvczVrNWJhZi5jICAgICAgICAgICAgICAgICAgICB8ICA3ICsrLS0KIGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vYW00Mzd4L2FtNDM3eC12cGZlLmMgICAgfCAgNCArLQogZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuYyAgICAgICB8ICA0ICstCiBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL2RhdmluY2kvdnBpZl9jYXB0dXJlLmMgIHwgMTYgKysrKy0tLS0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9maW1jLWlzLmMgICAgfCAgOCArKy0tCiBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvZmltYy1saXRlLmMgIHwgIDMgKy0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9tZWRpYS1kZXYuYyAgfCAgOCArKy0tCiBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWlwaS1jc2lzLmMgIHwgIDQgKy0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvbXAuYyAgfCAgNiArLS0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYyAgfCAgOCArKy0tCiBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcC5jICAgICAgICAgIHwgIDggKystLQog ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJhLmMgICAgICAgICAgICB8ICAyICstCiBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL3JjYXItdmluL3JjYXItY29yZS5jICAgIHwgIDQgKy0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vc29jX2NhbWVyYS9zb2NfY2FtZXJhLmMgfCAgNiArLS0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0veGlsaW54L3hpbGlueC12aXBwLmMgICAgfCA1MiArKysrKysr KysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jbGsuYyAg ICAgICAgICAgICB8ICAzICstCiBpbmNsdWRlL21lZGlhL3Y0bDItY2xrLmggICAgICAgICAgICAg ICAgICAgICAgIHwgIDQgKy0KIDE4IGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDgw IGRlbGV0aW9ucygtKQoKLS0tCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvczVjNzNt My9zNWM3M20zLWNvcmUuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3Jl LmMKaW5kZXggZjQzNGZiMmVlNmZjLi5jZGM0ZjIzOTJlZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bWVkaWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMv czVjNzNtMy9zNWM3M20zLWNvcmUuYwpAQCAtMTYzNSw4ICsxNjM1LDcgQEAgc3RhdGljIGludCBz NWM3M20zX2dldF9wbGF0Zm9ybV9kYXRhKHN0cnVjdCBzNWM3M20zICpzdGF0ZSkKIAogCW5vZGVf ZXAgPSBvZl9ncmFwaF9nZXRfbmV4dF9lbmRwb2ludChub2RlLCBOVUxMKTsKIAlpZiAoIW5vZGVf ZXApIHsKLQkJZGV2X3dhcm4oZGV2LCAibm8gZW5kcG9pbnQgZGVmaW5lZCBmb3Igbm9kZTogJXNc biIsCi0JCQkJCQlub2RlLT5mdWxsX25hbWUpOworCQlkZXZfd2FybihkZXYsICJubyBlbmRwb2lu dCBkZWZpbmVkIGZvciBub2RlOiAlcE9GXG4iLCBub2RlKTsKIAkJcmV0dXJuIDA7CiAJfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9zNWs1YmFmLmMgYi9kcml2ZXJzL21lZGlhL2ky Yy9zNWs1YmFmLmMKaW5kZXggZjAxNzIyZGMwNGQwLi5mZjQ2ZDJjOTZjZWEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbWVkaWEvaTJjL3M1azViYWYuYworKysgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWs1 YmFmLmMKQEAgLTE4NjMsOCArMTg2Myw3IEBAIHN0YXRpYyBpbnQgczVrNWJhZl9wYXJzZV9kZXZp Y2Vfbm9kZShzdHJ1Y3QgczVrNWJhZiAqc3RhdGUsIHN0cnVjdCBkZXZpY2UgKmRldikKIAogCW5v ZGVfZXAgPSBvZl9ncmFwaF9nZXRfbmV4dF9lbmRwb2ludChub2RlLCBOVUxMKTsKIAlpZiAoIW5v ZGVfZXApIHsKLQkJZGV2X2VycihkZXYsICJubyBlbmRwb2ludCBkZWZpbmVkIGF0IG5vZGUgJXNc biIsCi0JCQlub2RlLT5mdWxsX25hbWUpOworCQlkZXZfZXJyKGRldiwgIm5vIGVuZHBvaW50IGRl ZmluZWQgYXQgbm9kZSAlcE9GXG4iLCBub2RlKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCkBA IC0xODgyLDggKzE4ODEsOCBAQCBzdGF0aWMgaW50IHM1azViYWZfcGFyc2VfZGV2aWNlX25vZGUo c3RydWN0IHM1azViYWYgKnN0YXRlLCBzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJY2FzZSBWNEwyX01C VVNfUEFSQUxMRUw6CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCWRldl9lcnIoZGV2LCAidW5zdXBw b3J0ZWQgYnVzIGluIGVuZHBvaW50IGRlZmluZWQgYXQgbm9kZSAlc1xuIiwKLQkJCW5vZGUtPmZ1 bGxfbmFtZSk7CisJCWRldl9lcnIoZGV2LCAidW5zdXBwb3J0ZWQgYnVzIGluIGVuZHBvaW50IGRl ZmluZWQgYXQgbm9kZSAlcE9GXG4iLAorCQkJbm9kZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbTQzN3gvYW00Mzd4LXZwZmUu YyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW00Mzd4L2FtNDM3eC12cGZlLmMKaW5kZXggNDY2 YWJhOGIwZTAwLi5kZmNjNDg0Y2FiODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vYW00Mzd4L2FtNDM3eC12cGZlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbTQz N3gvYW00Mzd4LXZwZmUuYwpAQCAtMjQ5MCw4ICsyNDkwLDggQEAgdnBmZV9nZXRfcGRhdGEoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCQlyZW0gPSBvZl9ncmFwaF9nZXRfcmVtb3Rl X3BvcnRfcGFyZW50KGVuZHBvaW50KTsKIAkJaWYgKCFyZW0pIHsKLQkJCWRldl9lcnIoJnBkZXYt PmRldiwgIlJlbW90ZSBkZXZpY2UgYXQgJXMgbm90IGZvdW5kXG4iLAotCQkJCWVuZHBvaW50LT5m dWxsX25hbWUpOworCQkJZGV2X2VycigmcGRldi0+ZGV2LCAiUmVtb3RlIGRldmljZSBhdCAlcE9G IG5vdCBmb3VuZFxuIiwKKwkJCQllbmRwb2ludCk7CiAJCQlnb3RvIGRvbmU7CiAJCX0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuYyBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmMKaW5kZXggZDRkZjNkNGNjZDg1Li5k NzEwM2M1ZjkyYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRt ZWwtaXNjLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuYwpA QCAtMTcwMCw4ICsxNzAwLDggQEAgc3RhdGljIGludCBpc2NfcGFyc2VfZHQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKQogCiAJCXJlbSA9IG9mX2dyYXBoX2dldF9y ZW1vdGVfcG9ydF9wYXJlbnQoZXBuKTsKIAkJaWYgKCFyZW0pIHsKLQkJCWRldl9ub3RpY2UoZGV2 LCAiUmVtb3RlIGRldmljZSBhdCAlcyBub3QgZm91bmRcbiIsCi0JCQkJICAgb2Zfbm9kZV9mdWxs X25hbWUoZXBuKSk7CisJCQlkZXZfbm90aWNlKGRldiwgIlJlbW90ZSBkZXZpY2UgYXQgJXBPRiBu b3QgZm91bmRcbiIsCisJCQkJICAgZXBuKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS92cGlmX2NhcHR1cmUuYyBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS92cGlmX2NhcHR1cmUuYwppbmRleCBmZTJhNTc0OGU1 NTQuLjBlZjM2Y2VjMjFkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZp bmNpL3ZwaWZfY2FwdHVyZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS92 cGlmX2NhcHR1cmUuYwpAQCAtMTM5Nyw5ICsxMzk3LDkgQEAgc3RhdGljIGludCB2cGlmX2FzeW5j X2JvdW5kKHN0cnVjdCB2NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllciwKIAkJCXZwaWZfb2Jq LmNvbmZpZy0+Y2hhbl9jb25maWctPmlucHV0c1tpXS5zdWJkZXZfbmFtZSA9CiAJCQkJKGNoYXIg Kil0b19vZl9ub2RlKHN1YmRldi0+Zndub2RlKS0+ZnVsbF9uYW1lOwogCQkJdnBpZl9kYmcoMiwg ZGVidWcsCi0JCQkJICIlczogc2V0dGluZyBpbnB1dCAlZCBzdWJkZXZfbmFtZSA9ICVzXG4iLAor CQkJCSAiJXM6IHNldHRpbmcgaW5wdXQgJWQgc3ViZGV2X25hbWUgPSAlcE9GXG4iLAogCQkJCSBf X2Z1bmNfXywgaSwKLQkJCQkgdG9fb2Zfbm9kZShzdWJkZXYtPmZ3bm9kZSktPmZ1bGxfbmFtZSk7 CisJCQkJIHRvX29mX25vZGUoc3ViZGV2LT5md25vZGUpKTsKIAkJCXJldHVybiAwOwogCQl9CiAJ fQpAQCAtMTU1Nyw4ICsxNTU3LDggQEAgdnBpZl9jYXB0dXJlX2dldF9wZGF0YShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQogCQkJZGV2X2VycigmcGRldi0+ZGV2LCAiQ291bGQgbm90IHBh cnNlIHRoZSBlbmRwb2ludFxuIik7CiAJCQlnb3RvIGRvbmU7CiAJCX0KLQkJZGV2X2RiZygmcGRl di0+ZGV2LCAiRW5kcG9pbnQgJXMsIGJ1c193aWR0aCA9ICVkXG4iLAotCQkJZW5kcG9pbnQtPmZ1 bGxfbmFtZSwgYnVzX2NmZy5idXMucGFyYWxsZWwuYnVzX3dpZHRoKTsKKwkJZGV2X2RiZygmcGRl di0+ZGV2LCAiRW5kcG9pbnQgJXBPRiwgYnVzX3dpZHRoID0gJWRcbiIsCisJCQllbmRwb2ludCwg YnVzX2NmZy5idXMucGFyYWxsZWwuYnVzX3dpZHRoKTsKIAkJZmxhZ3MgPSBidXNfY2ZnLmJ1cy5w YXJhbGxlbC5mbGFnczsKIAogCQlpZiAoZmxhZ3MgJiBWNEwyX01CVVNfSFNZTkNfQUNUSVZFX0hJ R0gpCkBAIC0xNTY5LDEzICsxNTY5LDEzIEBAIHZwaWZfY2FwdHVyZV9nZXRfcGRhdGEoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCQlyZW0gPSBvZl9ncmFwaF9nZXRfcmVtb3RlX3Bv cnRfcGFyZW50KGVuZHBvaW50KTsKIAkJaWYgKCFyZW0pIHsKLQkJCWRldl9kYmcoJnBkZXYtPmRl diwgIlJlbW90ZSBkZXZpY2UgYXQgJXMgbm90IGZvdW5kXG4iLAotCQkJCWVuZHBvaW50LT5mdWxs X25hbWUpOworCQkJZGV2X2RiZygmcGRldi0+ZGV2LCAiUmVtb3RlIGRldmljZSBhdCAlcE9GIG5v dCBmb3VuZFxuIiwKKwkJCQllbmRwb2ludCk7CiAJCQlnb3RvIGRvbmU7CiAJCX0KIAotCQlkZXZf ZGJnKCZwZGV2LT5kZXYsICJSZW1vdGUgZGV2aWNlICVzLCAlcyBmb3VuZFxuIiwKLQkJCXJlbS0+ bmFtZSwgcmVtLT5mdWxsX25hbWUpOworCQlkZXZfZGJnKCZwZGV2LT5kZXYsICJSZW1vdGUgZGV2 aWNlICVzLCAlcE9GIGZvdW5kXG4iLAorCQkJcmVtLT5uYW1lLCByZW0pOwogCQlzZGluZm8tPm5h bWUgPSByZW0tPmZ1bGxfbmFtZTsKIAogCQlwZGF0YS0+YXNkW2ldID0gZGV2bV9remFsbG9jKCZw ZGV2LT5kZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMv ZmltYy1pcy5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtaXMuYwpp bmRleCAzNDBkOTA2ZGIzNzAuLjVkZGIyMzIxZTllNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtaXMuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL2V4eW5vczQtaXMvZmltYy1pcy5jCkBAIC0xNzQsOCArMTc0LDggQEAgc3RhdGljIGludCBm aW1jX2lzX3BhcnNlX3NlbnNvcl9jb25maWcoc3RydWN0IGZpbWNfaXMgKmlzLCB1bnNpZ25lZCBp bnQgaW5kZXgsCiAKIAlzZW5zb3ItPmRydmRhdGEgPSBmaW1jX2lzX3NlbnNvcl9nZXRfZHJ2ZGF0 YShub2RlKTsKIAlpZiAoIXNlbnNvci0+ZHJ2ZGF0YSkgewotCQlkZXZfZXJyKCZpcy0+cGRldi0+ ZGV2LCAibm8gZHJpdmVyIGRhdGEgZm91bmQgZm9yOiAlc1xuIiwKLQkJCQkJCQkgbm9kZS0+ZnVs bF9uYW1lKTsKKwkJZGV2X2VycigmaXMtPnBkZXYtPmRldiwgIm5vIGRyaXZlciBkYXRhIGZvdW5k IGZvcjogJXBPRlxuIiwKKwkJCQkJCQkgbm9kZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIApA QCAtMTkxLDggKzE5MSw4IEBAIHN0YXRpYyBpbnQgZmltY19pc19wYXJzZV9zZW5zb3JfY29uZmln KHN0cnVjdCBmaW1jX2lzICppcywgdW5zaWduZWQgaW50IGluZGV4LAogCS8qIFVzZSBNSVBJLUNT SVMgY2hhbm5lbCBpZCB0byBkZXRlcm1pbmUgdGhlIElTUCBJMkMgYnVzIGluZGV4LiAqLwogCXJl dCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHBvcnQsICJyZWciLCAmdG1wKTsKIAlpZiAocmV0IDwg MCkgewotCQlkZXZfZXJyKCZpcy0+cGRldi0+ZGV2LCAicmVnIHByb3BlcnR5IG5vdCBmb3VuZCBh dDogJXNcbiIsCi0JCQkJCQkJIHBvcnQtPmZ1bGxfbmFtZSk7CisJCWRldl9lcnIoJmlzLT5wZGV2 LT5kZXYsICJyZWcgcHJvcGVydHkgbm90IGZvdW5kIGF0OiAlcE9GXG4iLAorCQkJCQkJCSBwb3J0 KTsKIAkJb2Zfbm9kZV9wdXQocG9ydCk7CiAJCXJldHVybiByZXQ7CiAJfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtbGl0ZS5jIGIvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtbGl0ZS5jCmluZGV4IDMwMjgyYzUxMmUyMy4u NGEzYzk5NDhjYTU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQt aXMvZmltYy1saXRlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2Zp bWMtbGl0ZS5jCkBAIC0xNDkzLDggKzE0OTMsNyBAQCBzdGF0aWMgaW50IGZpbWNfbGl0ZV9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCiAJaWYgKCFkcnZfZGF0YSB8fCBmaW1j LT5pbmRleCA+PSBkcnZfZGF0YS0+bnVtX2luc3RhbmNlcyB8fAogCQkJCQkJZmltYy0+aW5kZXgg PCAwKSB7Ci0JCWRldl9lcnIoZGV2LCAiV3JvbmcgJXMgbm9kZSBhbGlhc1xuIiwKLQkJCQkJZGV2 LT5vZl9ub2RlLT5mdWxsX25hbWUpOworCQlkZXZfZXJyKGRldiwgIldyb25nICVwT0Ygbm9kZSBh bGlhc1xuIiwgZGV2LT5vZl9ub2RlKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWVkaWEtZGV2LmMgYi9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWVkaWEtZGV2LmMKaW5kZXggN2QxY2Y3ODg0 NmM0Li5kNDY1NmQ1MTc1ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5 bm9zNC1pcy9tZWRpYS1kZXYuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQt aXMvbWVkaWEtZGV2LmMKQEAgLTQxMiw4ICs0MTIsOCBAQCBzdGF0aWMgaW50IGZpbWNfbWRfcGFy c2VfcG9ydF9ub2RlKHN0cnVjdCBmaW1jX21kICpmbWQsCiAJcmVtID0gb2ZfZ3JhcGhfZ2V0X3Jl bW90ZV9wb3J0X3BhcmVudChlcCk7CiAJb2Zfbm9kZV9wdXQoZXApOwogCWlmIChyZW0gPT0gTlVM TCkgewotCQl2NGwyX2luZm8oJmZtZC0+djRsMl9kZXYsICJSZW1vdGUgZGV2aWNlIGF0ICVzIG5v dCBmb3VuZFxuIiwKLQkJCQkJCQllcC0+ZnVsbF9uYW1lKTsKKwkJdjRsMl9pbmZvKCZmbWQtPnY0 bDJfZGV2LCAiUmVtb3RlIGRldmljZSBhdCAlcE9GIG5vdCBmb3VuZFxuIiwKKwkJCQkJCQllcCk7 CiAJCXJldHVybiAwOwogCX0KIApAQCAtNDMwLDggKzQzMCw4IEBAIHN0YXRpYyBpbnQgZmltY19t ZF9wYXJzZV9wb3J0X25vZGUoc3RydWN0IGZpbWNfbWQgKmZtZCwKIAkJICovCiAJCXBkLT5zZW5z b3JfYnVzX3R5cGUgPSBGSU1DX0JVU19UWVBFX01JUElfQ1NJMjsKIAl9IGVsc2UgewotCQl2NGwy X2VycigmZm1kLT52NGwyX2RldiwgIldyb25nIHBvcnQgaWQgKCV1KSBhdCBub2RlICVzXG4iLAot CQkJIGVuZHBvaW50LmJhc2UucG9ydCwgcmVtLT5mdWxsX25hbWUpOworCQl2NGwyX2VycigmZm1k LT52NGwyX2RldiwgIldyb25nIHBvcnQgaWQgKCV1KSBhdCBub2RlICVwT0ZcbiIsCisJCQkgZW5k cG9pbnQuYmFzZS5wb3J0LCByZW0pOwogCX0KIAkvKgogCSAqIEZvciBGSU1DLUlTIGhhbmRsZWQg c2Vuc29ycywgdGhhdCBhcmUgcGxhY2VkIHVuZGVyIGkyYy1pc3AgZGV2aWNlCmRpZmYgLS1naXQg YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWlwaS1jc2lzLmMgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWlwaS1jc2lzLmMKaW5kZXggOThjODk4NzNjMmRj Li41NjBhYWRhYmNiMTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9z NC1pcy9taXBpLWNzaXMuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMv bWlwaS1jc2lzLmMKQEAgLTczMCw4ICs3MzAsOCBAQCBzdGF0aWMgaW50IHM1cGNzaXNfcGFyc2Vf ZHQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAogCW5vZGUgPSBvZl9ncmFwaF9nZXRf bmV4dF9lbmRwb2ludChub2RlLCBOVUxMKTsKIAlpZiAoIW5vZGUpIHsKLQkJZGV2X2VycigmcGRl di0+ZGV2LCAiTm8gcG9ydCBub2RlIGF0ICVzXG4iLAotCQkJCXBkZXYtPmRldi5vZl9ub2RlLT5m dWxsX25hbWUpOworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJObyBwb3J0IG5vZGUgYXQgJXBPRlxu IiwKKwkJCQlwZGV2LT5kZXYub2Zfbm9kZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAkvKiBH ZXQgcG9ydCBub2RlIGFuZCB2YWxpZGF0ZSBNSVBJLUNTSSBjaGFubmVsIGlkLiAqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwL210a19tZHBfY29tcC5jIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwL210a19tZHBfY29tcC5jCmluZGV4IGFhOGY5ZmQx ZjFhMi4uZTcyOGQzMmQ5NDA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210 ay1tZHAvbXRrX21kcF9jb21wLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRw L210a19tZHBfY29tcC5jCkBAIC0xMzQsMTUgKzEzNCwxMyBAQCBpbnQgbXRrX21kcF9jb21wX2lu aXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUsCiAJbGFyYl9u b2RlID0gb2ZfcGFyc2VfcGhhbmRsZShub2RlLCAibWVkaWF0ZWssbGFyYiIsIDApOwogCWlmICgh bGFyYl9ub2RlKSB7CiAJCWRldl9lcnIoZGV2LAotCQkJIk1pc3NpbmcgbWVkaWFkZWssbGFyYiBw aGFuZGxlIGluICVzIG5vZGVcbiIsCi0JCQlub2RlLT5mdWxsX25hbWUpOworCQkJIk1pc3Npbmcg bWVkaWFkZWssbGFyYiBwaGFuZGxlIGluICVwT0Ygbm9kZVxuIiwgbm9kZSk7CiAJCXJldHVybiAt RUlOVkFMOwogCX0KIAogCWxhcmJfcGRldiA9IG9mX2ZpbmRfZGV2aWNlX2J5X25vZGUobGFyYl9u b2RlKTsKIAlpZiAoIWxhcmJfcGRldikgewotCQlkZXZfd2FybihkZXYsICJXYWl0aW5nIGZvciBs YXJiIGRldmljZSAlc1xuIiwKLQkJCSBsYXJiX25vZGUtPmZ1bGxfbmFtZSk7CisJCWRldl93YXJu KGRldiwgIldhaXRpbmcgZm9yIGxhcmIgZGV2aWNlICVwT0ZcbiIsIGxhcmJfbm9kZSk7CiAJCW9m X25vZGVfcHV0KGxhcmJfbm9kZSk7CiAJCXJldHVybiAtRVBST0JFX0RFRkVSOwogCX0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYyBiL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYwppbmRleCA4MTM0NzU1 OGIyNGEuLmJiYjI0ZmI5NWI5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t dGstbWRwL210a19tZHBfY29yZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1k cC9tdGtfbWRwX2NvcmUuYwpAQCAtMTM3LDE2ICsxMzcsMTYgQEAgc3RhdGljIGludCBtdGtfbWRw X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCQljb250aW51ZTsKIAogCQlp ZiAoIW9mX2RldmljZV9pc19hdmFpbGFibGUobm9kZSkpIHsKLQkJCWRldl9lcnIoZGV2LCAiU2tp cHBpbmcgZGlzYWJsZWQgY29tcG9uZW50ICVzXG4iLAotCQkJCW5vZGUtPmZ1bGxfbmFtZSk7CisJ CQlkZXZfZXJyKGRldiwgIlNraXBwaW5nIGRpc2FibGVkIGNvbXBvbmVudCAlcE9GXG4iLAorCQkJ CW5vZGUpOwogCQkJY29udGludWU7CiAJCX0KIAogCQljb21wX3R5cGUgPSAoZW51bSBtdGtfbWRw X2NvbXBfdHlwZSlvZl9pZC0+ZGF0YTsKIAkJY29tcF9pZCA9IG10a19tZHBfY29tcF9nZXRfaWQo ZGV2LCBub2RlLCBjb21wX3R5cGUpOwogCQlpZiAoY29tcF9pZCA8IDApIHsKLQkJCWRldl93YXJu KGRldiwgIlNraXBwaW5nIHVua25vd24gY29tcG9uZW50ICVzXG4iLAotCQkJCSBub2RlLT5mdWxs X25hbWUpOworCQkJZGV2X3dhcm4oZGV2LCAiU2tpcHBpbmcgdW5rbm93biBjb21wb25lbnQgJXBP RlxuIiwKKwkJCQkgbm9kZSk7CiAJCQljb250aW51ZTsKIAkJfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcC5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9vbWFwM2lzcC9pc3AuYwppbmRleCBjMzAxNGM4MmQ2NGQuLjgzYWVhMDhiODMyZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuYworKysgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcC5jCkBAIC0yMDI0LDggKzIwMjQsOCBAQCBzdGF0 aWMgaW50IGlzcF9md25vZGVfcGFyc2Uoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZndub2Rl X2hhbmRsZSAqZndub2RlLAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlkZXZfZGJnKGRl diwgInBhcnNpbmcgZW5kcG9pbnQgJXMsIGludGVyZmFjZSAldVxuIiwKLQkJdG9fb2Zfbm9kZShm d25vZGUpLT5mdWxsX25hbWUsIHZlcC5iYXNlLnBvcnQpOworCWRldl9kYmcoZGV2LCAicGFyc2lu ZyBlbmRwb2ludCAlcE9GLCBpbnRlcmZhY2UgJXVcbiIsCisJCXRvX29mX25vZGUoZndub2RlKSwg dmVwLmJhc2UucG9ydCk7CiAKIAlzd2l0Y2ggKHZlcC5iYXNlLnBvcnQpIHsKIAljYXNlIElTUF9P Rl9QSFlfUEFSQUxMRUw6CkBAIC0yMTM2LDggKzIxMzYsOCBAQCBzdGF0aWMgaW50IGlzcF9md25v ZGVfcGFyc2Uoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndub2Rl LAogCQlicmVhazsKIAogCWRlZmF1bHQ6Ci0JCWRldl93YXJuKGRldiwgIiVzOiBpbnZhbGlkIGlu dGVyZmFjZSAldVxuIiwKLQkJCSB0b19vZl9ub2RlKGZ3bm9kZSktPmZ1bGxfbmFtZSwgdmVwLmJh c2UucG9ydCk7CisJCWRldl93YXJuKGRldiwgIiVwT0Y6IGludmFsaWQgaW50ZXJmYWNlICV1XG4i LAorCQkJIHRvX29mX25vZGUoZndub2RlKSwgdmVwLmJhc2UucG9ydCk7CiAJCXJldHVybiAtRUlO VkFMOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJh LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3B4YV9jYW1lcmEuYwppbmRleCA0YTgwMGE0MTQ3 Y2EuLmVkY2E5OTNjMmIxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9weGFf Y2FtZXJhLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJhLmMKQEAgLTIz MzEsNyArMjMzMSw3IEBAIHN0YXRpYyBpbnQgcHhhX2NhbWVyYV9wZGF0YV9mcm9tX2R0KHN0cnVj dCBkZXZpY2UgKmRldiwKIAkJYXNkLT5tYXRjaC5md25vZGUuZndub2RlID0gb2ZfZndub2RlX2hh bmRsZShyZW1vdGUpOwogCQlvZl9ub2RlX3B1dChyZW1vdGUpOwogCX0gZWxzZSB7Ci0JCWRldl9u b3RpY2UoZGV2LCAibm8gcmVtb3RlIGZvciAlc1xuIiwgb2Zfbm9kZV9mdWxsX25hbWUobnApKTsK KwkJZGV2X25vdGljZShkZXYsICJubyByZW1vdGUgZm9yICVwT0ZcbiIsIG5wKTsKIAl9CiAKIG91 dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNhci1jb3Jl LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JjYXItdmluL3JjYXItY29yZS5jCmluZGV4IDc3 ZGZmMDQ3YzQxYy4uMTQyZGU0NDdhYWFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL3JjYXItdmluL3JjYXItY29yZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmNh ci12aW4vcmNhci1jb3JlLmMKQEAgLTIyMiw4ICsyMjIsOCBAQCBzdGF0aWMgaW50IHJ2aW5fZGln aXRhbF9ncmFwaF9pbml0KHN0cnVjdCBydmluX2RldiAqdmluKQogCiAJc3ViZGV2c1swXSA9ICZ2 aW4tPmRpZ2l0YWwuYXNkOwogCi0JdmluX2RiZyh2aW4sICJGb3VuZCBkaWdpdGFsIHN1YmRldmlj ZSAlc1xuIiwKLQkJb2Zfbm9kZV9mdWxsX25hbWUodG9fb2Zfbm9kZShzdWJkZXZzWzBdLT5tYXRj aC5md25vZGUuZndub2RlKSkpOworCXZpbl9kYmcodmluLCAiRm91bmQgZGlnaXRhbCBzdWJkZXZp Y2UgJXBPRlxuIiwKKwkJdG9fb2Zfbm9kZShzdWJkZXZzWzBdLT5tYXRjaC5md25vZGUuZndub2Rl KSk7CiAKIAl2aW4tPm5vdGlmaWVyLm51bV9zdWJkZXZzID0gMTsKIAl2aW4tPm5vdGlmaWVyLnN1 YmRldnMgPSBzdWJkZXZzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zb2Nf Y2FtZXJhL3NvY19jYW1lcmEuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc29jX2NhbWVyYS9z b2NfY2FtZXJhLmMKaW5kZXggZGQzNDllZmFlM2FmLi4xZjNjNDUwYzdhNjkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc29jX2NhbWVyYS9zb2NfY2FtZXJhLmMKKysrIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9zb2NfY2FtZXJhL3NvY19jYW1lcmEuYwpAQCAtMTU1MCw4ICsx NTUwLDcgQEAgc3RhdGljIGludCBzb2Nfb2ZfYmluZChzdHJ1Y3Qgc29jX2NhbWVyYV9ob3N0ICpp Y2ksCiAJCXY0bDJfY2xrX25hbWVfaTJjKGNsa19uYW1lLCBzaXplb2YoY2xrX25hbWUpLAogCQkJ CSAgY2xpZW50LT5hZGFwdGVyLT5uciwgY2xpZW50LT5hZGRyKTsKIAllbHNlCi0JCXY0bDJfY2xr X25hbWVfb2YoY2xrX25hbWUsIHNpemVvZihjbGtfbmFtZSksCi0JCQkJIG9mX25vZGVfZnVsbF9u YW1lKHJlbW90ZSkpOworCQl2NGwyX2Nsa19uYW1lX29mKGNsa19uYW1lLCBzaXplb2YoY2xrX25h bWUpLCByZW1vdGUpOwogCiAJaWNkLT5jbGsgPSB2NGwyX2Nsa19yZWdpc3Rlcigmc29jX2NhbWVy YV9jbGtfb3BzLCBjbGtfbmFtZSwgaWNkKTsKIAlpZiAoSVNfRVJSKGljZC0+Y2xrKSkgewpAQCAt MTU5MCw4ICsxNTg5LDcgQEAgc3RhdGljIHZvaWQgc2Nhbl9vZl9ob3N0KHN0cnVjdCBzb2NfY2Ft ZXJhX2hvc3QgKmljaSkKIAogCQlyZW4gPSBvZl9ncmFwaF9nZXRfcmVtb3RlX3BvcnQoZXBuKTsK IAkJaWYgKCFyZW4pIHsKLQkJCWRldl9ub3RpY2UoZGV2LCAibm8gcmVtb3RlIGZvciAlc1xuIiwK LQkJCQkgICBvZl9ub2RlX2Z1bGxfbmFtZShlcG4pKTsKKwkJCWRldl9ub3RpY2UoZGV2LCAibm8g cmVtb3RlIGZvciAlcE9GXG4iLCBlcG4pOwogCQkJY29udGludWU7CiAJCX0KIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS94aWxpbngveGlsaW54LXZpcHAuYyBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0veGlsaW54L3hpbGlueC12aXBwLmMKaW5kZXggYWM0NzA0Mzg4OTIwLi5l YmZkZjMzNGQ5OWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0veGlsaW54L3hp bGlueC12aXBwLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS94aWxpbngveGlsaW54LXZp cHAuYwpAQCAtOTAsMTIgKzkwLDEyIEBAIHN0YXRpYyBpbnQgeHZpcF9ncmFwaF9idWlsZF9vbmUo c3RydWN0IHh2aXBfY29tcG9zaXRlX2RldmljZSAqeGRldiwKIAkJb2Zfbm9kZV9wdXQoZXApOwog CQllcCA9IG5leHQ7CiAKLQkJZGV2X2RiZyh4ZGV2LT5kZXYsICJwcm9jZXNzaW5nIGVuZHBvaW50 ICVzXG4iLCBlcC0+ZnVsbF9uYW1lKTsKKwkJZGV2X2RiZyh4ZGV2LT5kZXYsICJwcm9jZXNzaW5n IGVuZHBvaW50ICVwT0ZcbiIsIGVwKTsKIAogCQlyZXQgPSB2NGwyX2Z3bm9kZV9wYXJzZV9saW5r KG9mX2Z3bm9kZV9oYW5kbGUoZXApLCAmbGluayk7CiAJCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZf ZXJyKHhkZXYtPmRldiwgImZhaWxlZCB0byBwYXJzZSBsaW5rIGZvciAlc1xuIiwKLQkJCQllcC0+ ZnVsbF9uYW1lKTsKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAiZmFpbGVkIHRvIHBhcnNlIGxpbmsg Zm9yICVwT0ZcbiIsCisJCQkJZXApOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtMTAzLDkgKzEw Myw5IEBAIHN0YXRpYyBpbnQgeHZpcF9ncmFwaF9idWlsZF9vbmUoc3RydWN0IHh2aXBfY29tcG9z aXRlX2RldmljZSAqeGRldiwKIAkJICogdGhlIGxpbmsuCiAJCSAqLwogCQlpZiAobGluay5sb2Nh bF9wb3J0ID49IGxvY2FsLT5udW1fcGFkcykgewotCQkJZGV2X2Vycih4ZGV2LT5kZXYsICJpbnZh bGlkIHBvcnQgbnVtYmVyICV1IGZvciAlc1xuIiwKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAiaW52 YWxpZCBwb3J0IG51bWJlciAldSBmb3IgJXBPRlxuIiwKIAkJCQlsaW5rLmxvY2FsX3BvcnQsCi0J CQkJdG9fb2Zfbm9kZShsaW5rLmxvY2FsX25vZGUpLT5mdWxsX25hbWUpOworCQkJCXRvX29mX25v ZGUobGluay5sb2NhbF9ub2RlKSk7CiAJCQl2NGwyX2Z3bm9kZV9wdXRfbGluaygmbGluayk7CiAJ CQlyZXQgPSAtRUlOVkFMOwogCQkJYnJlYWs7CkBAIC0xMTQsOCArMTE0LDggQEAgc3RhdGljIGlu dCB4dmlwX2dyYXBoX2J1aWxkX29uZShzdHJ1Y3QgeHZpcF9jb21wb3NpdGVfZGV2aWNlICp4ZGV2 LAogCQlsb2NhbF9wYWQgPSAmbG9jYWwtPnBhZHNbbGluay5sb2NhbF9wb3J0XTsKIAogCQlpZiAo bG9jYWxfcGFkLT5mbGFncyAmIE1FRElBX1BBRF9GTF9TSU5LKSB7Ci0JCQlkZXZfZGJnKHhkZXYt PmRldiwgInNraXBwaW5nIHNpbmsgcG9ydCAlczoldVxuIiwKLQkJCQl0b19vZl9ub2RlKGxpbmsu bG9jYWxfbm9kZSktPmZ1bGxfbmFtZSwKKwkJCWRldl9kYmcoeGRldi0+ZGV2LCAic2tpcHBpbmcg c2luayBwb3J0ICVwT0Y6JXVcbiIsCisJCQkJdG9fb2Zfbm9kZShsaW5rLmxvY2FsX25vZGUpLAog CQkJCWxpbmsubG9jYWxfcG9ydCk7CiAJCQl2NGwyX2Z3bm9kZV9wdXRfbGluaygmbGluayk7CiAJ CQljb250aW51ZTsKQEAgLTEyMyw4ICsxMjMsOCBAQCBzdGF0aWMgaW50IHh2aXBfZ3JhcGhfYnVp bGRfb25lKHN0cnVjdCB4dmlwX2NvbXBvc2l0ZV9kZXZpY2UgKnhkZXYsCiAKIAkJLyogU2tpcCBE TUEgZW5naW5lcywgdGhleSB3aWxsIGJlIHByb2Nlc3NlZCBzZXBhcmF0ZWx5LiAqLwogCQlpZiAo bGluay5yZW1vdGVfbm9kZSA9PSBvZl9md25vZGVfaGFuZGxlKHhkZXYtPmRldi0+b2Zfbm9kZSkp IHsKLQkJCWRldl9kYmcoeGRldi0+ZGV2LCAic2tpcHBpbmcgRE1BIHBvcnQgJXM6JXVcbiIsCi0J CQkJdG9fb2Zfbm9kZShsaW5rLmxvY2FsX25vZGUpLT5mdWxsX25hbWUsCisJCQlkZXZfZGJnKHhk ZXYtPmRldiwgInNraXBwaW5nIERNQSBwb3J0ICVwT0Y6JXVcbiIsCisJCQkJdG9fb2Zfbm9kZShs aW5rLmxvY2FsX25vZGUpLAogCQkJCWxpbmsubG9jYWxfcG9ydCk7CiAJCQl2NGwyX2Z3bm9kZV9w dXRfbGluaygmbGluayk7CiAJCQljb250aW51ZTsKQEAgLTEzNCw4ICsxMzQsOCBAQCBzdGF0aWMg aW50IHh2aXBfZ3JhcGhfYnVpbGRfb25lKHN0cnVjdCB4dmlwX2NvbXBvc2l0ZV9kZXZpY2UgKnhk ZXYsCiAJCWVudCA9IHh2aXBfZ3JhcGhfZmluZF9lbnRpdHkoeGRldiwKIAkJCQkJICAgICB0b19v Zl9ub2RlKGxpbmsucmVtb3RlX25vZGUpKTsKIAkJaWYgKGVudCA9PSBOVUxMKSB7Ci0JCQlkZXZf ZXJyKHhkZXYtPmRldiwgIm5vIGVudGl0eSBmb3VuZCBmb3IgJXNcbiIsCi0JCQkJdG9fb2Zfbm9k ZShsaW5rLnJlbW90ZV9ub2RlKS0+ZnVsbF9uYW1lKTsKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAi bm8gZW50aXR5IGZvdW5kIGZvciAlcE9GXG4iLAorCQkJCXRvX29mX25vZGUobGluay5yZW1vdGVf bm9kZSkpOwogCQkJdjRsMl9md25vZGVfcHV0X2xpbmsoJmxpbmspOwogCQkJcmV0ID0gLUVOT0RF VjsKIAkJCWJyZWFrOwpAQCAtMTQ0LDkgKzE0NCw4IEBAIHN0YXRpYyBpbnQgeHZpcF9ncmFwaF9i dWlsZF9vbmUoc3RydWN0IHh2aXBfY29tcG9zaXRlX2RldmljZSAqeGRldiwKIAkJcmVtb3RlID0g ZW50LT5lbnRpdHk7CiAKIAkJaWYgKGxpbmsucmVtb3RlX3BvcnQgPj0gcmVtb3RlLT5udW1fcGFk cykgewotCQkJZGV2X2Vycih4ZGV2LT5kZXYsICJpbnZhbGlkIHBvcnQgbnVtYmVyICV1IG9uICVz XG4iLAotCQkJCWxpbmsucmVtb3RlX3BvcnQsCi0JCQkJdG9fb2Zfbm9kZShsaW5rLnJlbW90ZV9u b2RlKS0+ZnVsbF9uYW1lKTsKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAiaW52YWxpZCBwb3J0IG51 bWJlciAldSBvbiAlcE9GXG4iLAorCQkJCWxpbmsucmVtb3RlX3BvcnQsIHRvX29mX25vZGUobGlu ay5yZW1vdGVfbm9kZSkpOwogCQkJdjRsMl9md25vZGVfcHV0X2xpbmsoJmxpbmspOwogCQkJcmV0 ID0gLUVJTlZBTDsKIAkJCWJyZWFrOwpAQCAtMjE2LDEyICsyMTUsMTIgQEAgc3RhdGljIGludCB4 dmlwX2dyYXBoX2J1aWxkX2RtYShzdHJ1Y3QgeHZpcF9jb21wb3NpdGVfZGV2aWNlICp4ZGV2KQog CQlvZl9ub2RlX3B1dChlcCk7CiAJCWVwID0gbmV4dDsKIAotCQlkZXZfZGJnKHhkZXYtPmRldiwg InByb2Nlc3NpbmcgZW5kcG9pbnQgJXNcbiIsIGVwLT5mdWxsX25hbWUpOworCQlkZXZfZGJnKHhk ZXYtPmRldiwgInByb2Nlc3NpbmcgZW5kcG9pbnQgJXBPRlxuIiwgZXApOwogCiAJCXJldCA9IHY0 bDJfZndub2RlX3BhcnNlX2xpbmsob2ZfZndub2RlX2hhbmRsZShlcCksICZsaW5rKTsKIAkJaWYg KHJldCA8IDApIHsKLQkJCWRldl9lcnIoeGRldi0+ZGV2LCAiZmFpbGVkIHRvIHBhcnNlIGxpbmsg Zm9yICVzXG4iLAotCQkJCWVwLT5mdWxsX25hbWUpOworCQkJZGV2X2Vycih4ZGV2LT5kZXYsICJm YWlsZWQgdG8gcGFyc2UgbGluayBmb3IgJXBPRlxuIiwKKwkJCQllcCk7CiAJCQljb250aW51ZTsK IAkJfQogCkBAIC0yNDIsMTcgKzI0MSwxNyBAQCBzdGF0aWMgaW50IHh2aXBfZ3JhcGhfYnVpbGRf ZG1hKHN0cnVjdCB4dmlwX2NvbXBvc2l0ZV9kZXZpY2UgKnhkZXYpCiAJCWVudCA9IHh2aXBfZ3Jh cGhfZmluZF9lbnRpdHkoeGRldiwKIAkJCQkJICAgICB0b19vZl9ub2RlKGxpbmsucmVtb3RlX25v ZGUpKTsKIAkJaWYgKGVudCA9PSBOVUxMKSB7Ci0JCQlkZXZfZXJyKHhkZXYtPmRldiwgIm5vIGVu dGl0eSBmb3VuZCBmb3IgJXNcbiIsCi0JCQkJdG9fb2Zfbm9kZShsaW5rLnJlbW90ZV9ub2RlKS0+ ZnVsbF9uYW1lKTsKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAibm8gZW50aXR5IGZvdW5kIGZvciAl cE9GXG4iLAorCQkJCXRvX29mX25vZGUobGluay5yZW1vdGVfbm9kZSkpOwogCQkJdjRsMl9md25v ZGVfcHV0X2xpbmsoJmxpbmspOwogCQkJcmV0ID0gLUVOT0RFVjsKIAkJCWJyZWFrOwogCQl9CiAK IAkJaWYgKGxpbmsucmVtb3RlX3BvcnQgPj0gZW50LT5lbnRpdHktPm51bV9wYWRzKSB7Ci0JCQlk ZXZfZXJyKHhkZXYtPmRldiwgImludmFsaWQgcG9ydCBudW1iZXIgJXUgb24gJXNcbiIsCisJCQlk ZXZfZXJyKHhkZXYtPmRldiwgImludmFsaWQgcG9ydCBudW1iZXIgJXUgb24gJXBPRlxuIiwKIAkJ CQlsaW5rLnJlbW90ZV9wb3J0LAotCQkJCXRvX29mX25vZGUobGluay5yZW1vdGVfbm9kZSktPmZ1 bGxfbmFtZSk7CisJCQkJdG9fb2Zfbm9kZShsaW5rLnJlbW90ZV9ub2RlKSk7CiAJCQl2NGwyX2Z3 bm9kZV9wdXRfbGluaygmbGluayk7CiAJCQlyZXQgPSAtRUlOVkFMOwogCQkJYnJlYWs7CkBAIC0z MzcsOCArMzM2LDggQEAgc3RhdGljIGludCB4dmlwX2dyYXBoX25vdGlmeV9ib3VuZChzdHJ1Y3Qg djRsMl9hc3luY19ub3RpZmllciAqbm90aWZpZXIsCiAJCQljb250aW51ZTsKIAogCQlpZiAoZW50 aXR5LT5zdWJkZXYpIHsKLQkJCWRldl9lcnIoeGRldi0+ZGV2LCAiZHVwbGljYXRlIHN1YmRldiBm b3Igbm9kZSAlc1xuIiwKLQkJCQllbnRpdHktPm5vZGUtPmZ1bGxfbmFtZSk7CisJCQlkZXZfZXJy KHhkZXYtPmRldiwgImR1cGxpY2F0ZSBzdWJkZXYgZm9yIG5vZGUgJXBPRlxuIiwKKwkJCQllbnRp dHktPm5vZGUpOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIApAQCAtMzYwLDE0ICszNTksMTQg QEAgc3RhdGljIGludCB4dmlwX2dyYXBoX3BhcnNlX29uZShzdHJ1Y3QgeHZpcF9jb21wb3NpdGVf ZGV2aWNlICp4ZGV2LAogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqZXAgPSBOVUxMOwogCWludCByZXQg PSAwOwogCi0JZGV2X2RiZyh4ZGV2LT5kZXYsICJwYXJzaW5nIG5vZGUgJXNcbiIsIG5vZGUtPmZ1 bGxfbmFtZSk7CisJZGV2X2RiZyh4ZGV2LT5kZXYsICJwYXJzaW5nIG5vZGUgJXBPRlxuIiwgbm9k ZSk7CiAKIAl3aGlsZSAoMSkgewogCQllcCA9IG9mX2dyYXBoX2dldF9uZXh0X2VuZHBvaW50KG5v ZGUsIGVwKTsKIAkJaWYgKGVwID09IE5VTEwpCiAJCQlicmVhazsKIAotCQlkZXZfZGJnKHhkZXYt PmRldiwgImhhbmRsaW5nIGVuZHBvaW50ICVzXG4iLCBlcC0+ZnVsbF9uYW1lKTsKKwkJZGV2X2Ri Zyh4ZGV2LT5kZXYsICJoYW5kbGluZyBlbmRwb2ludCAlcE9GXG4iLCBlcCk7CiAKIAkJcmVtb3Rl ID0gb2ZfZ3JhcGhfZ2V0X3JlbW90ZV9wb3J0X3BhcmVudChlcCk7CiAJCWlmIChyZW1vdGUgPT0g TlVMTCkgewpAQCAtNDUyLDggKzQ1MSw3IEBAIHN0YXRpYyBpbnQgeHZpcF9ncmFwaF9kbWFfaW5p dF9vbmUoc3RydWN0IHh2aXBfY29tcG9zaXRlX2RldmljZSAqeGRldiwKIAogCXJldCA9IHh2aXBf ZG1hX2luaXQoeGRldiwgZG1hLCB0eXBlLCBpbmRleCk7CiAJaWYgKHJldCA8IDApIHsKLQkJZGV2 X2Vycih4ZGV2LT5kZXYsICIlcyBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiIsCi0JCQlub2RlLT5m dWxsX25hbWUpOworCQlkZXZfZXJyKHhkZXYtPmRldiwgIiVwT0YgaW5pdGlhbGl6YXRpb24gZmFp bGVkXG4iLCBub2RlKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvdjRsMi1jb3JlL3Y0bDItY2xrLmMgYi9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwy LWNsay5jCmluZGV4IDI5N2UxMGU2OTg5OC4uOTA2MjhkN2EwNGRlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWNsay5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1j b3JlL3Y0bDItY2xrLmMKQEAgLTYxLDggKzYxLDcgQEAgc3RydWN0IHY0bDJfY2xrICp2NGwyX2Ns a19nZXQoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICppZCkKIAogCS8qIGlmIGRldl9u YW1lIGlzIG5vdCBmb3VuZCwgdHJ5IHVzZSB0aGUgT0YgbmFtZSB0byBmaW5kIGFnYWluICAqLwog CWlmIChQVFJfRVJSKGNsaykgPT0gLUVOT0RFViAmJiBkZXYtPm9mX25vZGUpIHsKLQkJdjRsMl9j bGtfbmFtZV9vZihjbGtfbmFtZSwgc2l6ZW9mKGNsa19uYW1lKSwKLQkJCQkgb2Zfbm9kZV9mdWxs X25hbWUoZGV2LT5vZl9ub2RlKSk7CisJCXY0bDJfY2xrX25hbWVfb2YoY2xrX25hbWUsIHNpemVv ZihjbGtfbmFtZSksIGRldi0+b2Zfbm9kZSk7CiAJCWNsayA9IHY0bDJfY2xrX2ZpbmQoY2xrX25h bWUpOwogCX0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tZWRpYS92NGwyLWNsay5oIGIvaW5jbHVk ZS9tZWRpYS92NGwyLWNsay5oCmluZGV4IDJiOTQ2NjJkMDA1Yy4uN2VjODU3ZjgwNWE2IDEwMDY0 NAotLS0gYS9pbmNsdWRlL21lZGlhL3Y0bDItY2xrLmgKKysrIGIvaW5jbHVkZS9tZWRpYS92NGwy LWNsay5oCkBAIC03MCw3ICs3MCw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHY0bDJfY2xrICp2 NGwyX2Nsa19yZWdpc3Rlcl9maXhlZChjb25zdCBjaGFyICpkZXZfaWQsCiAjZGVmaW5lIHY0bDJf Y2xrX25hbWVfaTJjKG5hbWUsIHNpemUsIGFkYXAsIGNsaWVudCkgc25wcmludGYobmFtZSwgc2l6 ZSwgXAogCQkJICAiJWQtJTA0eCIsIGFkYXAsIGNsaWVudCkKIAotI2RlZmluZSB2NGwyX2Nsa19u YW1lX29mKG5hbWUsIHNpemUsIG9mX2Z1bGxfbmFtZSkgc25wcmludGYobmFtZSwgc2l6ZSwgXAot CQkJICAib2YtJXMiLCBvZl9mdWxsX25hbWUpCisjZGVmaW5lIHY0bDJfY2xrX25hbWVfb2YobmFt ZSwgc2l6ZSwgbm9kZSkgc25wcmludGYobmFtZSwgc2l6ZSwgXAorCQkJICAib2YtJXBPRiIsIG5v ZGUpCiAKICNlbmRpZgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mauro Carvalho Chehab Subject: [git:media_tree/master] media: Convert to using %pOF instead of full_name Date: Sun, 20 Aug 2017 12:20:20 +0000 Message-ID: Reply-To: linux-media@vger.kernel.org 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: linuxtv-commits@linuxtv.org Cc: Andrew-CT Chen , Minghsiu Tsai , Lad@linuxtv.org, Songjun Wu , Andrzej Hajda , Prabhakar , Laurent Pinchart , Sylwester Nawrocki , Rob Herring , linux-samsung-soc@vger.kernel.org, Michal Simek , Krzysztof Kozlowski , Javier Martinez Canillas , Kukjin Kim , Hans Verkuil , Houlong Wei , linux-mediatek@lists.infradead.org, Matthias Brugger , Mauro Carvalho Chehab , linux-arm-kernel@lists.infradead.org List-Id: linux-samsung-soc@vger.kernel.org VGhpcyBpcyBhbiBhdXRvbWF0aWMgZ2VuZXJhdGVkIGVtYWlsIHRvIGxldCB5b3Uga25vdyB0aGF0 IHRoZSBmb2xsb3dpbmcgcGF0Y2ggd2VyZSBxdWV1ZWQ6CgpTdWJqZWN0OiBtZWRpYTogQ29udmVy dCB0byB1c2luZyAlcE9GIGluc3RlYWQgb2YgZnVsbF9uYW1lCkF1dGhvcjogIFJvYiBIZXJyaW5n IDxyb2JoQGtlcm5lbC5vcmc+CkRhdGU6ICAgIEZyaSBKdWwgMjEgMTU6Mjg6MzMgMjAxNyAtMDQw MAoKTm93IHRoYXQgd2UgaGF2ZSBhIGN1c3RvbSBwcmludGYgZm9ybWF0IHNwZWNpZmllciwgY29u dmVydCB1c2VycyBvZgpmdWxsX25hbWUgdG8gdXNlICVwT0YgaW5zdGVhZC4gVGhpcyBpcyBwcmVw YXJhdGlvbiB0byByZW1vdmUgc3RvcmluZwpvZiB0aGUgZnVsbCBwYXRoIHN0cmluZyBmb3IgZWFj aCBub2RlLgoKU2lnbmVkLW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KQWNr ZWQtYnk6IE5pa2xhcyBTw7ZkZXJsdW5kIDxuaWtsYXMuc29kZXJsdW5kK3JlbmVzYXNAcmFnbmF0 ZWNoLnNlPgpBY2tlZC1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVh c29uYm9hcmQuY29tPgpSZXZpZXdlZC1ieTogTWF0dGhpYXMgQnJ1Z2dlciA8bWF0dGhpYXMuYmdn QGdtYWlsLmNvbT4KQWNrZWQtYnk6IE5pY29sYXMgRmVycmUgPG5pY29sYXMuZmVycmVAbWljcm9j aGlwLmNvbT4KQWNrZWQtYnk6IExhZCwgUHJhYmhha2FyIDxwcmFiaGFrYXIuY3NlbmdnQGdtYWls LmNvbT4KQ2M6IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtAc2Ftc3VuZy5jb20+CkNjOiBB bmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29tPgpDYzogTWF1cm8gQ2FydmFsaG8gQ2hl aGFiIDxtY2hlaGFiQGtlcm5lbC5vcmc+CkNjOiBTb25nanVuIFd1IDxzb25nanVuLnd1QG1pY3Jv Y2hpcC5jb20+CkNjOiBLdWtqaW4gS2ltIDxrZ2VuZUBrZXJuZWwub3JnPgpDYzogS3J6eXN6dG9m IEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpDYzogSmF2aWVyIE1hcnRpbmV6IENhbmlsbGFz IDxqYXZpZXJAb3NnLnNhbXN1bmcuY29tPgpDYzogTWluZ2hzaXUgVHNhaSA8bWluZ2hzaXUudHNh aUBtZWRpYXRlay5jb20+CkNjOiBIb3Vsb25nIFdlaSA8aG91bG9uZy53ZWlAbWVkaWF0ZWsuY29t PgpDYzogQW5kcmV3LUNUIENoZW4gPGFuZHJldy1jdC5jaGVuQG1lZGlhdGVrLmNvbT4KQ2M6IEd1 ZW5uYWRpIExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPgpDYzogSHl1biBLd29u IDxoeXVuLmt3b25AeGlsaW54LmNvbT4KQ2M6IE1pY2hhbCBTaW1layA8bWljaGFsLnNpbWVrQHhp bGlueC5jb20+CkNjOiAiU8O2cmVuIEJyaW5rbWFubiIgPHNvcmVuLmJyaW5rbWFubkB4aWxpbngu Y29tPgpDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCkNjOiBsaW51eC1z YW1zdW5nLXNvY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJh ZGVhZC5vcmcKQ2M6IGxpbnV4LXJlbmVzYXMtc29jQHZnZXIua2VybmVsLm9yZwpSZXZpZXdlZC1i eTogU3lsd2VzdGVyIE5hd3JvY2tpIDxzLm5hd3JvY2tpQHNhbXN1bmcuY29tPgpTaWduZWQtb2Zm LWJ5OiBIYW5zIFZlcmt1aWwgPGhhbnMudmVya3VpbEBjaXNjby5jb20+ClNpZ25lZC1vZmYtYnk6 IE1hdXJvIENhcnZhbGhvIENoZWhhYiA8bWNoZWhhYkBzLW9wZW5zb3VyY2UuY29tPgoKIGRyaXZl cnMvbWVkaWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3JlLmMgICAgICAgfCAgMyArLQogZHJpdmVy cy9tZWRpYS9pMmMvczVrNWJhZi5jICAgICAgICAgICAgICAgICAgICB8ICA3ICsrLS0KIGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vYW00Mzd4L2FtNDM3eC12cGZlLmMgICAgfCAgNCArLQogZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuYyAgICAgICB8ICA0ICstCiBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL2RhdmluY2kvdnBpZl9jYXB0dXJlLmMgIHwgMTYgKysrKy0tLS0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9maW1jLWlzLmMgICAgfCAgOCArKy0tCiBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvZmltYy1saXRlLmMgIHwgIDMgKy0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9zNC1pcy9tZWRpYS1kZXYuYyAgfCAgOCArKy0tCiBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWlwaS1jc2lzLmMgIHwgIDQgKy0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvbXAuYyAgfCAgNiArLS0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYyAgfCAgOCArKy0tCiBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcC5jICAgICAgICAgIHwgIDggKystLQog ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJhLmMgICAgICAgICAgICB8ICAyICstCiBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL3JjYXItdmluL3JjYXItY29yZS5jICAgIHwgIDQgKy0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vc29jX2NhbWVyYS9zb2NfY2FtZXJhLmMgfCAgNiArLS0KIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0veGlsaW54L3hpbGlueC12aXBwLmMgICAgfCA1MiArKysrKysr KysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jbGsuYyAg ICAgICAgICAgICB8ICAzICstCiBpbmNsdWRlL21lZGlhL3Y0bDItY2xrLmggICAgICAgICAgICAg ICAgICAgICAgIHwgIDQgKy0KIDE4IGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDgw IGRlbGV0aW9ucygtKQoKLS0tCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9pMmMvczVjNzNt My9zNWM3M20zLWNvcmUuYyBiL2RyaXZlcnMvbWVkaWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3Jl LmMKaW5kZXggZjQzNGZiMmVlNmZjLi5jZGM0ZjIzOTJlZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bWVkaWEvaTJjL3M1YzczbTMvczVjNzNtMy1jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9pMmMv czVjNzNtMy9zNWM3M20zLWNvcmUuYwpAQCAtMTYzNSw4ICsxNjM1LDcgQEAgc3RhdGljIGludCBz NWM3M20zX2dldF9wbGF0Zm9ybV9kYXRhKHN0cnVjdCBzNWM3M20zICpzdGF0ZSkKIAogCW5vZGVf ZXAgPSBvZl9ncmFwaF9nZXRfbmV4dF9lbmRwb2ludChub2RlLCBOVUxMKTsKIAlpZiAoIW5vZGVf ZXApIHsKLQkJZGV2X3dhcm4oZGV2LCAibm8gZW5kcG9pbnQgZGVmaW5lZCBmb3Igbm9kZTogJXNc biIsCi0JCQkJCQlub2RlLT5mdWxsX25hbWUpOworCQlkZXZfd2FybihkZXYsICJubyBlbmRwb2lu dCBkZWZpbmVkIGZvciBub2RlOiAlcE9GXG4iLCBub2RlKTsKIAkJcmV0dXJuIDA7CiAJfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2kyYy9zNWs1YmFmLmMgYi9kcml2ZXJzL21lZGlhL2ky Yy9zNWs1YmFmLmMKaW5kZXggZjAxNzIyZGMwNGQwLi5mZjQ2ZDJjOTZjZWEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbWVkaWEvaTJjL3M1azViYWYuYworKysgYi9kcml2ZXJzL21lZGlhL2kyYy9zNWs1 YmFmLmMKQEAgLTE4NjMsOCArMTg2Myw3IEBAIHN0YXRpYyBpbnQgczVrNWJhZl9wYXJzZV9kZXZp Y2Vfbm9kZShzdHJ1Y3QgczVrNWJhZiAqc3RhdGUsIHN0cnVjdCBkZXZpY2UgKmRldikKIAogCW5v ZGVfZXAgPSBvZl9ncmFwaF9nZXRfbmV4dF9lbmRwb2ludChub2RlLCBOVUxMKTsKIAlpZiAoIW5v ZGVfZXApIHsKLQkJZGV2X2VycihkZXYsICJubyBlbmRwb2ludCBkZWZpbmVkIGF0IG5vZGUgJXNc biIsCi0JCQlub2RlLT5mdWxsX25hbWUpOworCQlkZXZfZXJyKGRldiwgIm5vIGVuZHBvaW50IGRl ZmluZWQgYXQgbm9kZSAlcE9GXG4iLCBub2RlKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCkBA IC0xODgyLDggKzE4ODEsOCBAQCBzdGF0aWMgaW50IHM1azViYWZfcGFyc2VfZGV2aWNlX25vZGUo c3RydWN0IHM1azViYWYgKnN0YXRlLCBzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJY2FzZSBWNEwyX01C VVNfUEFSQUxMRUw6CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCWRldl9lcnIoZGV2LCAidW5zdXBw b3J0ZWQgYnVzIGluIGVuZHBvaW50IGRlZmluZWQgYXQgbm9kZSAlc1xuIiwKLQkJCW5vZGUtPmZ1 bGxfbmFtZSk7CisJCWRldl9lcnIoZGV2LCAidW5zdXBwb3J0ZWQgYnVzIGluIGVuZHBvaW50IGRl ZmluZWQgYXQgbm9kZSAlcE9GXG4iLAorCQkJbm9kZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbTQzN3gvYW00Mzd4LXZwZmUu YyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYW00Mzd4L2FtNDM3eC12cGZlLmMKaW5kZXggNDY2 YWJhOGIwZTAwLi5kZmNjNDg0Y2FiODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vYW00Mzd4L2FtNDM3eC12cGZlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hbTQz N3gvYW00Mzd4LXZwZmUuYwpAQCAtMjQ5MCw4ICsyNDkwLDggQEAgdnBmZV9nZXRfcGRhdGEoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCQlyZW0gPSBvZl9ncmFwaF9nZXRfcmVtb3Rl X3BvcnRfcGFyZW50KGVuZHBvaW50KTsKIAkJaWYgKCFyZW0pIHsKLQkJCWRldl9lcnIoJnBkZXYt PmRldiwgIlJlbW90ZSBkZXZpY2UgYXQgJXMgbm90IGZvdW5kXG4iLAotCQkJCWVuZHBvaW50LT5m dWxsX25hbWUpOworCQkJZGV2X2VycigmcGRldi0+ZGV2LCAiUmVtb3RlIGRldmljZSBhdCAlcE9G IG5vdCBmb3VuZFxuIiwKKwkJCQllbmRwb2ludCk7CiAJCQlnb3RvIGRvbmU7CiAJCX0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuYyBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmMKaW5kZXggZDRkZjNkNGNjZDg1Li5k NzEwM2M1ZjkyYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRt ZWwtaXNjLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuYwpA QCAtMTcwMCw4ICsxNzAwLDggQEAgc3RhdGljIGludCBpc2NfcGFyc2VfZHQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKQogCiAJCXJlbSA9IG9mX2dyYXBoX2dldF9y ZW1vdGVfcG9ydF9wYXJlbnQoZXBuKTsKIAkJaWYgKCFyZW0pIHsKLQkJCWRldl9ub3RpY2UoZGV2 LCAiUmVtb3RlIGRldmljZSBhdCAlcyBub3QgZm91bmRcbiIsCi0JCQkJICAgb2Zfbm9kZV9mdWxs X25hbWUoZXBuKSk7CisJCQlkZXZfbm90aWNlKGRldiwgIlJlbW90ZSBkZXZpY2UgYXQgJXBPRiBu b3QgZm91bmRcbiIsCisJCQkJICAgZXBuKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS92cGlmX2NhcHR1cmUuYyBiL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS92cGlmX2NhcHR1cmUuYwppbmRleCBmZTJhNTc0OGU1 NTQuLjBlZjM2Y2VjMjFkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9kYXZp bmNpL3ZwaWZfY2FwdHVyZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZGF2aW5jaS92 cGlmX2NhcHR1cmUuYwpAQCAtMTM5Nyw5ICsxMzk3LDkgQEAgc3RhdGljIGludCB2cGlmX2FzeW5j X2JvdW5kKHN0cnVjdCB2NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllciwKIAkJCXZwaWZfb2Jq LmNvbmZpZy0+Y2hhbl9jb25maWctPmlucHV0c1tpXS5zdWJkZXZfbmFtZSA9CiAJCQkJKGNoYXIg Kil0b19vZl9ub2RlKHN1YmRldi0+Zndub2RlKS0+ZnVsbF9uYW1lOwogCQkJdnBpZl9kYmcoMiwg ZGVidWcsCi0JCQkJICIlczogc2V0dGluZyBpbnB1dCAlZCBzdWJkZXZfbmFtZSA9ICVzXG4iLAor CQkJCSAiJXM6IHNldHRpbmcgaW5wdXQgJWQgc3ViZGV2X25hbWUgPSAlcE9GXG4iLAogCQkJCSBf X2Z1bmNfXywgaSwKLQkJCQkgdG9fb2Zfbm9kZShzdWJkZXYtPmZ3bm9kZSktPmZ1bGxfbmFtZSk7 CisJCQkJIHRvX29mX25vZGUoc3ViZGV2LT5md25vZGUpKTsKIAkJCXJldHVybiAwOwogCQl9CiAJ fQpAQCAtMTU1Nyw4ICsxNTU3LDggQEAgdnBpZl9jYXB0dXJlX2dldF9wZGF0YShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQogCQkJZGV2X2VycigmcGRldi0+ZGV2LCAiQ291bGQgbm90IHBh cnNlIHRoZSBlbmRwb2ludFxuIik7CiAJCQlnb3RvIGRvbmU7CiAJCX0KLQkJZGV2X2RiZygmcGRl di0+ZGV2LCAiRW5kcG9pbnQgJXMsIGJ1c193aWR0aCA9ICVkXG4iLAotCQkJZW5kcG9pbnQtPmZ1 bGxfbmFtZSwgYnVzX2NmZy5idXMucGFyYWxsZWwuYnVzX3dpZHRoKTsKKwkJZGV2X2RiZygmcGRl di0+ZGV2LCAiRW5kcG9pbnQgJXBPRiwgYnVzX3dpZHRoID0gJWRcbiIsCisJCQllbmRwb2ludCwg YnVzX2NmZy5idXMucGFyYWxsZWwuYnVzX3dpZHRoKTsKIAkJZmxhZ3MgPSBidXNfY2ZnLmJ1cy5w YXJhbGxlbC5mbGFnczsKIAogCQlpZiAoZmxhZ3MgJiBWNEwyX01CVVNfSFNZTkNfQUNUSVZFX0hJ R0gpCkBAIC0xNTY5LDEzICsxNTY5LDEzIEBAIHZwaWZfY2FwdHVyZV9nZXRfcGRhdGEoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCQlyZW0gPSBvZl9ncmFwaF9nZXRfcmVtb3RlX3Bv cnRfcGFyZW50KGVuZHBvaW50KTsKIAkJaWYgKCFyZW0pIHsKLQkJCWRldl9kYmcoJnBkZXYtPmRl diwgIlJlbW90ZSBkZXZpY2UgYXQgJXMgbm90IGZvdW5kXG4iLAotCQkJCWVuZHBvaW50LT5mdWxs X25hbWUpOworCQkJZGV2X2RiZygmcGRldi0+ZGV2LCAiUmVtb3RlIGRldmljZSBhdCAlcE9GIG5v dCBmb3VuZFxuIiwKKwkJCQllbmRwb2ludCk7CiAJCQlnb3RvIGRvbmU7CiAJCX0KIAotCQlkZXZf ZGJnKCZwZGV2LT5kZXYsICJSZW1vdGUgZGV2aWNlICVzLCAlcyBmb3VuZFxuIiwKLQkJCXJlbS0+ bmFtZSwgcmVtLT5mdWxsX25hbWUpOworCQlkZXZfZGJnKCZwZGV2LT5kZXYsICJSZW1vdGUgZGV2 aWNlICVzLCAlcE9GIGZvdW5kXG4iLAorCQkJcmVtLT5uYW1lLCByZW0pOwogCQlzZGluZm8tPm5h bWUgPSByZW0tPmZ1bGxfbmFtZTsKIAogCQlwZGF0YS0+YXNkW2ldID0gZGV2bV9remFsbG9jKCZw ZGV2LT5kZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMv ZmltYy1pcy5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtaXMuYwpp bmRleCAzNDBkOTA2ZGIzNzAuLjVkZGIyMzIxZTllNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtaXMuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL2V4eW5vczQtaXMvZmltYy1pcy5jCkBAIC0xNzQsOCArMTc0LDggQEAgc3RhdGljIGludCBm aW1jX2lzX3BhcnNlX3NlbnNvcl9jb25maWcoc3RydWN0IGZpbWNfaXMgKmlzLCB1bnNpZ25lZCBp bnQgaW5kZXgsCiAKIAlzZW5zb3ItPmRydmRhdGEgPSBmaW1jX2lzX3NlbnNvcl9nZXRfZHJ2ZGF0 YShub2RlKTsKIAlpZiAoIXNlbnNvci0+ZHJ2ZGF0YSkgewotCQlkZXZfZXJyKCZpcy0+cGRldi0+ ZGV2LCAibm8gZHJpdmVyIGRhdGEgZm91bmQgZm9yOiAlc1xuIiwKLQkJCQkJCQkgbm9kZS0+ZnVs bF9uYW1lKTsKKwkJZGV2X2VycigmaXMtPnBkZXYtPmRldiwgIm5vIGRyaXZlciBkYXRhIGZvdW5k IGZvcjogJXBPRlxuIiwKKwkJCQkJCQkgbm9kZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIApA QCAtMTkxLDggKzE5MSw4IEBAIHN0YXRpYyBpbnQgZmltY19pc19wYXJzZV9zZW5zb3JfY29uZmln KHN0cnVjdCBmaW1jX2lzICppcywgdW5zaWduZWQgaW50IGluZGV4LAogCS8qIFVzZSBNSVBJLUNT SVMgY2hhbm5lbCBpZCB0byBkZXRlcm1pbmUgdGhlIElTUCBJMkMgYnVzIGluZGV4LiAqLwogCXJl dCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKHBvcnQsICJyZWciLCAmdG1wKTsKIAlpZiAocmV0IDwg MCkgewotCQlkZXZfZXJyKCZpcy0+cGRldi0+ZGV2LCAicmVnIHByb3BlcnR5IG5vdCBmb3VuZCBh dDogJXNcbiIsCi0JCQkJCQkJIHBvcnQtPmZ1bGxfbmFtZSk7CisJCWRldl9lcnIoJmlzLT5wZGV2 LT5kZXYsICJyZWcgcHJvcGVydHkgbm90IGZvdW5kIGF0OiAlcE9GXG4iLAorCQkJCQkJCSBwb3J0 KTsKIAkJb2Zfbm9kZV9wdXQocG9ydCk7CiAJCXJldHVybiByZXQ7CiAJfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtbGl0ZS5jIGIvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2ZpbWMtbGl0ZS5jCmluZGV4IDMwMjgyYzUxMmUyMy4u NGEzYzk5NDhjYTU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQt aXMvZmltYy1saXRlLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9leHlub3M0LWlzL2Zp bWMtbGl0ZS5jCkBAIC0xNDkzLDggKzE0OTMsNyBAQCBzdGF0aWMgaW50IGZpbWNfbGl0ZV9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCiAJaWYgKCFkcnZfZGF0YSB8fCBmaW1j LT5pbmRleCA+PSBkcnZfZGF0YS0+bnVtX2luc3RhbmNlcyB8fAogCQkJCQkJZmltYy0+aW5kZXgg PCAwKSB7Ci0JCWRldl9lcnIoZGV2LCAiV3JvbmcgJXMgbm9kZSBhbGlhc1xuIiwKLQkJCQkJZGV2 LT5vZl9ub2RlLT5mdWxsX25hbWUpOworCQlkZXZfZXJyKGRldiwgIldyb25nICVwT0Ygbm9kZSBh bGlhc1xuIiwgZGV2LT5vZl9ub2RlKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWVkaWEtZGV2LmMgYi9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWVkaWEtZGV2LmMKaW5kZXggN2QxY2Y3ODg0 NmM0Li5kNDY1NmQ1MTc1ZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5 bm9zNC1pcy9tZWRpYS1kZXYuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQt aXMvbWVkaWEtZGV2LmMKQEAgLTQxMiw4ICs0MTIsOCBAQCBzdGF0aWMgaW50IGZpbWNfbWRfcGFy c2VfcG9ydF9ub2RlKHN0cnVjdCBmaW1jX21kICpmbWQsCiAJcmVtID0gb2ZfZ3JhcGhfZ2V0X3Jl bW90ZV9wb3J0X3BhcmVudChlcCk7CiAJb2Zfbm9kZV9wdXQoZXApOwogCWlmIChyZW0gPT0gTlVM TCkgewotCQl2NGwyX2luZm8oJmZtZC0+djRsMl9kZXYsICJSZW1vdGUgZGV2aWNlIGF0ICVzIG5v dCBmb3VuZFxuIiwKLQkJCQkJCQllcC0+ZnVsbF9uYW1lKTsKKwkJdjRsMl9pbmZvKCZmbWQtPnY0 bDJfZGV2LCAiUmVtb3RlIGRldmljZSBhdCAlcE9GIG5vdCBmb3VuZFxuIiwKKwkJCQkJCQllcCk7 CiAJCXJldHVybiAwOwogCX0KIApAQCAtNDMwLDggKzQzMCw4IEBAIHN0YXRpYyBpbnQgZmltY19t ZF9wYXJzZV9wb3J0X25vZGUoc3RydWN0IGZpbWNfbWQgKmZtZCwKIAkJICovCiAJCXBkLT5zZW5z b3JfYnVzX3R5cGUgPSBGSU1DX0JVU19UWVBFX01JUElfQ1NJMjsKIAl9IGVsc2UgewotCQl2NGwy X2VycigmZm1kLT52NGwyX2RldiwgIldyb25nIHBvcnQgaWQgKCV1KSBhdCBub2RlICVzXG4iLAot CQkJIGVuZHBvaW50LmJhc2UucG9ydCwgcmVtLT5mdWxsX25hbWUpOworCQl2NGwyX2VycigmZm1k LT52NGwyX2RldiwgIldyb25nIHBvcnQgaWQgKCV1KSBhdCBub2RlICVwT0ZcbiIsCisJCQkgZW5k cG9pbnQuYmFzZS5wb3J0LCByZW0pOwogCX0KIAkvKgogCSAqIEZvciBGSU1DLUlTIGhhbmRsZWQg c2Vuc29ycywgdGhhdCBhcmUgcGxhY2VkIHVuZGVyIGkyYy1pc3AgZGV2aWNlCmRpZmYgLS1naXQg YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWlwaS1jc2lzLmMgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMvbWlwaS1jc2lzLmMKaW5kZXggOThjODk4NzNjMmRj Li41NjBhYWRhYmNiMTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vZXh5bm9z NC1pcy9taXBpLWNzaXMuYworKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2V4eW5vczQtaXMv bWlwaS1jc2lzLmMKQEAgLTczMCw4ICs3MzAsOCBAQCBzdGF0aWMgaW50IHM1cGNzaXNfcGFyc2Vf ZHQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAogCW5vZGUgPSBvZl9ncmFwaF9nZXRf bmV4dF9lbmRwb2ludChub2RlLCBOVUxMKTsKIAlpZiAoIW5vZGUpIHsKLQkJZGV2X2VycigmcGRl di0+ZGV2LCAiTm8gcG9ydCBub2RlIGF0ICVzXG4iLAotCQkJCXBkZXYtPmRldi5vZl9ub2RlLT5m dWxsX25hbWUpOworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJObyBwb3J0IG5vZGUgYXQgJXBPRlxu IiwKKwkJCQlwZGV2LT5kZXYub2Zfbm9kZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAkvKiBH ZXQgcG9ydCBub2RlIGFuZCB2YWxpZGF0ZSBNSVBJLUNTSSBjaGFubmVsIGlkLiAqLwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwL210a19tZHBfY29tcC5jIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRwL210a19tZHBfY29tcC5jCmluZGV4IGFhOGY5ZmQx ZjFhMi4uZTcyOGQzMmQ5NDA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210 ay1tZHAvbXRrX21kcF9jb21wLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstbWRw L210a19tZHBfY29tcC5jCkBAIC0xMzQsMTUgKzEzNCwxMyBAQCBpbnQgbXRrX21kcF9jb21wX2lu aXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUsCiAJbGFyYl9u b2RlID0gb2ZfcGFyc2VfcGhhbmRsZShub2RlLCAibWVkaWF0ZWssbGFyYiIsIDApOwogCWlmICgh bGFyYl9ub2RlKSB7CiAJCWRldl9lcnIoZGV2LAotCQkJIk1pc3NpbmcgbWVkaWFkZWssbGFyYiBw aGFuZGxlIGluICVzIG5vZGVcbiIsCi0JCQlub2RlLT5mdWxsX25hbWUpOworCQkJIk1pc3Npbmcg bWVkaWFkZWssbGFyYiBwaGFuZGxlIGluICVwT0Ygbm9kZVxuIiwgbm9kZSk7CiAJCXJldHVybiAt RUlOVkFMOwogCX0KIAogCWxhcmJfcGRldiA9IG9mX2ZpbmRfZGV2aWNlX2J5X25vZGUobGFyYl9u b2RlKTsKIAlpZiAoIWxhcmJfcGRldikgewotCQlkZXZfd2FybihkZXYsICJXYWl0aW5nIGZvciBs YXJiIGRldmljZSAlc1xuIiwKLQkJCSBsYXJiX25vZGUtPmZ1bGxfbmFtZSk7CisJCWRldl93YXJu KGRldiwgIldhaXRpbmcgZm9yIGxhcmIgZGV2aWNlICVwT0ZcbiIsIGxhcmJfbm9kZSk7CiAJCW9m X25vZGVfcHV0KGxhcmJfbm9kZSk7CiAJCXJldHVybiAtRVBST0JFX0RFRkVSOwogCX0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYyBiL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1kcC9tdGtfbWRwX2NvcmUuYwppbmRleCA4MTM0NzU1 OGIyNGEuLmJiYjI0ZmI5NWI5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9t dGstbWRwL210a19tZHBfY29yZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLW1k cC9tdGtfbWRwX2NvcmUuYwpAQCAtMTM3LDE2ICsxMzcsMTYgQEAgc3RhdGljIGludCBtdGtfbWRw X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCQljb250aW51ZTsKIAogCQlp ZiAoIW9mX2RldmljZV9pc19hdmFpbGFibGUobm9kZSkpIHsKLQkJCWRldl9lcnIoZGV2LCAiU2tp cHBpbmcgZGlzYWJsZWQgY29tcG9uZW50ICVzXG4iLAotCQkJCW5vZGUtPmZ1bGxfbmFtZSk7CisJ CQlkZXZfZXJyKGRldiwgIlNraXBwaW5nIGRpc2FibGVkIGNvbXBvbmVudCAlcE9GXG4iLAorCQkJ CW5vZGUpOwogCQkJY29udGludWU7CiAJCX0KIAogCQljb21wX3R5cGUgPSAoZW51bSBtdGtfbWRw X2NvbXBfdHlwZSlvZl9pZC0+ZGF0YTsKIAkJY29tcF9pZCA9IG10a19tZHBfY29tcF9nZXRfaWQo ZGV2LCBub2RlLCBjb21wX3R5cGUpOwogCQlpZiAoY29tcF9pZCA8IDApIHsKLQkJCWRldl93YXJu KGRldiwgIlNraXBwaW5nIHVua25vd24gY29tcG9uZW50ICVzXG4iLAotCQkJCSBub2RlLT5mdWxs X25hbWUpOworCQkJZGV2X3dhcm4oZGV2LCAiU2tpcHBpbmcgdW5rbm93biBjb21wb25lbnQgJXBP RlxuIiwKKwkJCQkgbm9kZSk7CiAJCQljb250aW51ZTsKIAkJfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcC5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9vbWFwM2lzcC9pc3AuYwppbmRleCBjMzAxNGM4MmQ2NGQuLjgzYWVhMDhiODMyZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9vbWFwM2lzcC9pc3AuYworKysgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL29tYXAzaXNwL2lzcC5jCkBAIC0yMDI0LDggKzIwMjQsOCBAQCBzdGF0 aWMgaW50IGlzcF9md25vZGVfcGFyc2Uoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZndub2Rl X2hhbmRsZSAqZndub2RlLAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlkZXZfZGJnKGRl diwgInBhcnNpbmcgZW5kcG9pbnQgJXMsIGludGVyZmFjZSAldVxuIiwKLQkJdG9fb2Zfbm9kZShm d25vZGUpLT5mdWxsX25hbWUsIHZlcC5iYXNlLnBvcnQpOworCWRldl9kYmcoZGV2LCAicGFyc2lu ZyBlbmRwb2ludCAlcE9GLCBpbnRlcmZhY2UgJXVcbiIsCisJCXRvX29mX25vZGUoZndub2RlKSwg dmVwLmJhc2UucG9ydCk7CiAKIAlzd2l0Y2ggKHZlcC5iYXNlLnBvcnQpIHsKIAljYXNlIElTUF9P Rl9QSFlfUEFSQUxMRUw6CkBAIC0yMTM2LDggKzIxMzYsOCBAQCBzdGF0aWMgaW50IGlzcF9md25v ZGVfcGFyc2Uoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndub2Rl LAogCQlicmVhazsKIAogCWRlZmF1bHQ6Ci0JCWRldl93YXJuKGRldiwgIiVzOiBpbnZhbGlkIGlu dGVyZmFjZSAldVxuIiwKLQkJCSB0b19vZl9ub2RlKGZ3bm9kZSktPmZ1bGxfbmFtZSwgdmVwLmJh c2UucG9ydCk7CisJCWRldl93YXJuKGRldiwgIiVwT0Y6IGludmFsaWQgaW50ZXJmYWNlICV1XG4i LAorCQkJIHRvX29mX25vZGUoZndub2RlKSwgdmVwLmJhc2UucG9ydCk7CiAJCXJldHVybiAtRUlO VkFMOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJh LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3B4YV9jYW1lcmEuYwppbmRleCA0YTgwMGE0MTQ3 Y2EuLmVkY2E5OTNjMmIxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9weGFf Y2FtZXJhLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9weGFfY2FtZXJhLmMKQEAgLTIz MzEsNyArMjMzMSw3IEBAIHN0YXRpYyBpbnQgcHhhX2NhbWVyYV9wZGF0YV9mcm9tX2R0KHN0cnVj dCBkZXZpY2UgKmRldiwKIAkJYXNkLT5tYXRjaC5md25vZGUuZndub2RlID0gb2ZfZndub2RlX2hh bmRsZShyZW1vdGUpOwogCQlvZl9ub2RlX3B1dChyZW1vdGUpOwogCX0gZWxzZSB7Ci0JCWRldl9u b3RpY2UoZGV2LCAibm8gcmVtb3RlIGZvciAlc1xuIiwgb2Zfbm9kZV9mdWxsX25hbWUobnApKTsK KwkJZGV2X25vdGljZShkZXYsICJubyByZW1vdGUgZm9yICVwT0ZcbiIsIG5wKTsKIAl9CiAKIG91 dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmNhci12aW4vcmNhci1jb3Jl LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JjYXItdmluL3JjYXItY29yZS5jCmluZGV4IDc3 ZGZmMDQ3YzQxYy4uMTQyZGU0NDdhYWFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL3JjYXItdmluL3JjYXItY29yZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmNh ci12aW4vcmNhci1jb3JlLmMKQEAgLTIyMiw4ICsyMjIsOCBAQCBzdGF0aWMgaW50IHJ2aW5fZGln aXRhbF9ncmFwaF9pbml0KHN0cnVjdCBydmluX2RldiAqdmluKQogCiAJc3ViZGV2c1swXSA9ICZ2 aW4tPmRpZ2l0YWwuYXNkOwogCi0JdmluX2RiZyh2aW4sICJGb3VuZCBkaWdpdGFsIHN1YmRldmlj ZSAlc1xuIiwKLQkJb2Zfbm9kZV9mdWxsX25hbWUodG9fb2Zfbm9kZShzdWJkZXZzWzBdLT5tYXRj aC5md25vZGUuZndub2RlKSkpOworCXZpbl9kYmcodmluLCAiRm91bmQgZGlnaXRhbCBzdWJkZXZp Y2UgJXBPRlxuIiwKKwkJdG9fb2Zfbm9kZShzdWJkZXZzWzBdLT5tYXRjaC5md25vZGUuZndub2Rl KSk7CiAKIAl2aW4tPm5vdGlmaWVyLm51bV9zdWJkZXZzID0gMTsKIAl2aW4tPm5vdGlmaWVyLnN1 YmRldnMgPSBzdWJkZXZzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zb2Nf Y2FtZXJhL3NvY19jYW1lcmEuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc29jX2NhbWVyYS9z b2NfY2FtZXJhLmMKaW5kZXggZGQzNDllZmFlM2FmLi4xZjNjNDUwYzdhNjkgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc29jX2NhbWVyYS9zb2NfY2FtZXJhLmMKKysrIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9zb2NfY2FtZXJhL3NvY19jYW1lcmEuYwpAQCAtMTU1MCw4ICsx NTUwLDcgQEAgc3RhdGljIGludCBzb2Nfb2ZfYmluZChzdHJ1Y3Qgc29jX2NhbWVyYV9ob3N0ICpp Y2ksCiAJCXY0bDJfY2xrX25hbWVfaTJjKGNsa19uYW1lLCBzaXplb2YoY2xrX25hbWUpLAogCQkJ CSAgY2xpZW50LT5hZGFwdGVyLT5uciwgY2xpZW50LT5hZGRyKTsKIAllbHNlCi0JCXY0bDJfY2xr X25hbWVfb2YoY2xrX25hbWUsIHNpemVvZihjbGtfbmFtZSksCi0JCQkJIG9mX25vZGVfZnVsbF9u YW1lKHJlbW90ZSkpOworCQl2NGwyX2Nsa19uYW1lX29mKGNsa19uYW1lLCBzaXplb2YoY2xrX25h bWUpLCByZW1vdGUpOwogCiAJaWNkLT5jbGsgPSB2NGwyX2Nsa19yZWdpc3Rlcigmc29jX2NhbWVy YV9jbGtfb3BzLCBjbGtfbmFtZSwgaWNkKTsKIAlpZiAoSVNfRVJSKGljZC0+Y2xrKSkgewpAQCAt MTU5MCw4ICsxNTg5LDcgQEAgc3RhdGljIHZvaWQgc2Nhbl9vZl9ob3N0KHN0cnVjdCBzb2NfY2Ft ZXJhX2hvc3QgKmljaSkKIAogCQlyZW4gPSBvZl9ncmFwaF9nZXRfcmVtb3RlX3BvcnQoZXBuKTsK IAkJaWYgKCFyZW4pIHsKLQkJCWRldl9ub3RpY2UoZGV2LCAibm8gcmVtb3RlIGZvciAlc1xuIiwK LQkJCQkgICBvZl9ub2RlX2Z1bGxfbmFtZShlcG4pKTsKKwkJCWRldl9ub3RpY2UoZGV2LCAibm8g cmVtb3RlIGZvciAlcE9GXG4iLCBlcG4pOwogCQkJY29udGludWU7CiAJCX0KIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS94aWxpbngveGlsaW54LXZpcHAuYyBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0veGlsaW54L3hpbGlueC12aXBwLmMKaW5kZXggYWM0NzA0Mzg4OTIwLi5l YmZkZjMzNGQ5OWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0veGlsaW54L3hp bGlueC12aXBwLmMKKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS94aWxpbngveGlsaW54LXZp cHAuYwpAQCAtOTAsMTIgKzkwLDEyIEBAIHN0YXRpYyBpbnQgeHZpcF9ncmFwaF9idWlsZF9vbmUo c3RydWN0IHh2aXBfY29tcG9zaXRlX2RldmljZSAqeGRldiwKIAkJb2Zfbm9kZV9wdXQoZXApOwog CQllcCA9IG5leHQ7CiAKLQkJZGV2X2RiZyh4ZGV2LT5kZXYsICJwcm9jZXNzaW5nIGVuZHBvaW50 ICVzXG4iLCBlcC0+ZnVsbF9uYW1lKTsKKwkJZGV2X2RiZyh4ZGV2LT5kZXYsICJwcm9jZXNzaW5n IGVuZHBvaW50ICVwT0ZcbiIsIGVwKTsKIAogCQlyZXQgPSB2NGwyX2Z3bm9kZV9wYXJzZV9saW5r KG9mX2Z3bm9kZV9oYW5kbGUoZXApLCAmbGluayk7CiAJCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZf ZXJyKHhkZXYtPmRldiwgImZhaWxlZCB0byBwYXJzZSBsaW5rIGZvciAlc1xuIiwKLQkJCQllcC0+ ZnVsbF9uYW1lKTsKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAiZmFpbGVkIHRvIHBhcnNlIGxpbmsg Zm9yICVwT0ZcbiIsCisJCQkJZXApOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtMTAzLDkgKzEw Myw5IEBAIHN0YXRpYyBpbnQgeHZpcF9ncmFwaF9idWlsZF9vbmUoc3RydWN0IHh2aXBfY29tcG9z aXRlX2RldmljZSAqeGRldiwKIAkJICogdGhlIGxpbmsuCiAJCSAqLwogCQlpZiAobGluay5sb2Nh bF9wb3J0ID49IGxvY2FsLT5udW1fcGFkcykgewotCQkJZGV2X2Vycih4ZGV2LT5kZXYsICJpbnZh bGlkIHBvcnQgbnVtYmVyICV1IGZvciAlc1xuIiwKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAiaW52 YWxpZCBwb3J0IG51bWJlciAldSBmb3IgJXBPRlxuIiwKIAkJCQlsaW5rLmxvY2FsX3BvcnQsCi0J CQkJdG9fb2Zfbm9kZShsaW5rLmxvY2FsX25vZGUpLT5mdWxsX25hbWUpOworCQkJCXRvX29mX25v ZGUobGluay5sb2NhbF9ub2RlKSk7CiAJCQl2NGwyX2Z3bm9kZV9wdXRfbGluaygmbGluayk7CiAJ CQlyZXQgPSAtRUlOVkFMOwogCQkJYnJlYWs7CkBAIC0xMTQsOCArMTE0LDggQEAgc3RhdGljIGlu dCB4dmlwX2dyYXBoX2J1aWxkX29uZShzdHJ1Y3QgeHZpcF9jb21wb3NpdGVfZGV2aWNlICp4ZGV2 LAogCQlsb2NhbF9wYWQgPSAmbG9jYWwtPnBhZHNbbGluay5sb2NhbF9wb3J0XTsKIAogCQlpZiAo bG9jYWxfcGFkLT5mbGFncyAmIE1FRElBX1BBRF9GTF9TSU5LKSB7Ci0JCQlkZXZfZGJnKHhkZXYt PmRldiwgInNraXBwaW5nIHNpbmsgcG9ydCAlczoldVxuIiwKLQkJCQl0b19vZl9ub2RlKGxpbmsu bG9jYWxfbm9kZSktPmZ1bGxfbmFtZSwKKwkJCWRldl9kYmcoeGRldi0+ZGV2LCAic2tpcHBpbmcg c2luayBwb3J0ICVwT0Y6JXVcbiIsCisJCQkJdG9fb2Zfbm9kZShsaW5rLmxvY2FsX25vZGUpLAog CQkJCWxpbmsubG9jYWxfcG9ydCk7CiAJCQl2NGwyX2Z3bm9kZV9wdXRfbGluaygmbGluayk7CiAJ CQljb250aW51ZTsKQEAgLTEyMyw4ICsxMjMsOCBAQCBzdGF0aWMgaW50IHh2aXBfZ3JhcGhfYnVp bGRfb25lKHN0cnVjdCB4dmlwX2NvbXBvc2l0ZV9kZXZpY2UgKnhkZXYsCiAKIAkJLyogU2tpcCBE TUEgZW5naW5lcywgdGhleSB3aWxsIGJlIHByb2Nlc3NlZCBzZXBhcmF0ZWx5LiAqLwogCQlpZiAo bGluay5yZW1vdGVfbm9kZSA9PSBvZl9md25vZGVfaGFuZGxlKHhkZXYtPmRldi0+b2Zfbm9kZSkp IHsKLQkJCWRldl9kYmcoeGRldi0+ZGV2LCAic2tpcHBpbmcgRE1BIHBvcnQgJXM6JXVcbiIsCi0J CQkJdG9fb2Zfbm9kZShsaW5rLmxvY2FsX25vZGUpLT5mdWxsX25hbWUsCisJCQlkZXZfZGJnKHhk ZXYtPmRldiwgInNraXBwaW5nIERNQSBwb3J0ICVwT0Y6JXVcbiIsCisJCQkJdG9fb2Zfbm9kZShs aW5rLmxvY2FsX25vZGUpLAogCQkJCWxpbmsubG9jYWxfcG9ydCk7CiAJCQl2NGwyX2Z3bm9kZV9w dXRfbGluaygmbGluayk7CiAJCQljb250aW51ZTsKQEAgLTEzNCw4ICsxMzQsOCBAQCBzdGF0aWMg aW50IHh2aXBfZ3JhcGhfYnVpbGRfb25lKHN0cnVjdCB4dmlwX2NvbXBvc2l0ZV9kZXZpY2UgKnhk ZXYsCiAJCWVudCA9IHh2aXBfZ3JhcGhfZmluZF9lbnRpdHkoeGRldiwKIAkJCQkJICAgICB0b19v Zl9ub2RlKGxpbmsucmVtb3RlX25vZGUpKTsKIAkJaWYgKGVudCA9PSBOVUxMKSB7Ci0JCQlkZXZf ZXJyKHhkZXYtPmRldiwgIm5vIGVudGl0eSBmb3VuZCBmb3IgJXNcbiIsCi0JCQkJdG9fb2Zfbm9k ZShsaW5rLnJlbW90ZV9ub2RlKS0+ZnVsbF9uYW1lKTsKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAi bm8gZW50aXR5IGZvdW5kIGZvciAlcE9GXG4iLAorCQkJCXRvX29mX25vZGUobGluay5yZW1vdGVf bm9kZSkpOwogCQkJdjRsMl9md25vZGVfcHV0X2xpbmsoJmxpbmspOwogCQkJcmV0ID0gLUVOT0RF VjsKIAkJCWJyZWFrOwpAQCAtMTQ0LDkgKzE0NCw4IEBAIHN0YXRpYyBpbnQgeHZpcF9ncmFwaF9i dWlsZF9vbmUoc3RydWN0IHh2aXBfY29tcG9zaXRlX2RldmljZSAqeGRldiwKIAkJcmVtb3RlID0g ZW50LT5lbnRpdHk7CiAKIAkJaWYgKGxpbmsucmVtb3RlX3BvcnQgPj0gcmVtb3RlLT5udW1fcGFk cykgewotCQkJZGV2X2Vycih4ZGV2LT5kZXYsICJpbnZhbGlkIHBvcnQgbnVtYmVyICV1IG9uICVz XG4iLAotCQkJCWxpbmsucmVtb3RlX3BvcnQsCi0JCQkJdG9fb2Zfbm9kZShsaW5rLnJlbW90ZV9u b2RlKS0+ZnVsbF9uYW1lKTsKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAiaW52YWxpZCBwb3J0IG51 bWJlciAldSBvbiAlcE9GXG4iLAorCQkJCWxpbmsucmVtb3RlX3BvcnQsIHRvX29mX25vZGUobGlu ay5yZW1vdGVfbm9kZSkpOwogCQkJdjRsMl9md25vZGVfcHV0X2xpbmsoJmxpbmspOwogCQkJcmV0 ID0gLUVJTlZBTDsKIAkJCWJyZWFrOwpAQCAtMjE2LDEyICsyMTUsMTIgQEAgc3RhdGljIGludCB4 dmlwX2dyYXBoX2J1aWxkX2RtYShzdHJ1Y3QgeHZpcF9jb21wb3NpdGVfZGV2aWNlICp4ZGV2KQog CQlvZl9ub2RlX3B1dChlcCk7CiAJCWVwID0gbmV4dDsKIAotCQlkZXZfZGJnKHhkZXYtPmRldiwg InByb2Nlc3NpbmcgZW5kcG9pbnQgJXNcbiIsIGVwLT5mdWxsX25hbWUpOworCQlkZXZfZGJnKHhk ZXYtPmRldiwgInByb2Nlc3NpbmcgZW5kcG9pbnQgJXBPRlxuIiwgZXApOwogCiAJCXJldCA9IHY0 bDJfZndub2RlX3BhcnNlX2xpbmsob2ZfZndub2RlX2hhbmRsZShlcCksICZsaW5rKTsKIAkJaWYg KHJldCA8IDApIHsKLQkJCWRldl9lcnIoeGRldi0+ZGV2LCAiZmFpbGVkIHRvIHBhcnNlIGxpbmsg Zm9yICVzXG4iLAotCQkJCWVwLT5mdWxsX25hbWUpOworCQkJZGV2X2Vycih4ZGV2LT5kZXYsICJm YWlsZWQgdG8gcGFyc2UgbGluayBmb3IgJXBPRlxuIiwKKwkJCQllcCk7CiAJCQljb250aW51ZTsK IAkJfQogCkBAIC0yNDIsMTcgKzI0MSwxNyBAQCBzdGF0aWMgaW50IHh2aXBfZ3JhcGhfYnVpbGRf ZG1hKHN0cnVjdCB4dmlwX2NvbXBvc2l0ZV9kZXZpY2UgKnhkZXYpCiAJCWVudCA9IHh2aXBfZ3Jh cGhfZmluZF9lbnRpdHkoeGRldiwKIAkJCQkJICAgICB0b19vZl9ub2RlKGxpbmsucmVtb3RlX25v ZGUpKTsKIAkJaWYgKGVudCA9PSBOVUxMKSB7Ci0JCQlkZXZfZXJyKHhkZXYtPmRldiwgIm5vIGVu dGl0eSBmb3VuZCBmb3IgJXNcbiIsCi0JCQkJdG9fb2Zfbm9kZShsaW5rLnJlbW90ZV9ub2RlKS0+ ZnVsbF9uYW1lKTsKKwkJCWRldl9lcnIoeGRldi0+ZGV2LCAibm8gZW50aXR5IGZvdW5kIGZvciAl cE9GXG4iLAorCQkJCXRvX29mX25vZGUobGluay5yZW1vdGVfbm9kZSkpOwogCQkJdjRsMl9md25v ZGVfcHV0X2xpbmsoJmxpbmspOwogCQkJcmV0ID0gLUVOT0RFVjsKIAkJCWJyZWFrOwogCQl9CiAK IAkJaWYgKGxpbmsucmVtb3RlX3BvcnQgPj0gZW50LT5lbnRpdHktPm51bV9wYWRzKSB7Ci0JCQlk ZXZfZXJyKHhkZXYtPmRldiwgImludmFsaWQgcG9ydCBudW1iZXIgJXUgb24gJXNcbiIsCisJCQlk ZXZfZXJyKHhkZXYtPmRldiwgImludmFsaWQgcG9ydCBudW1iZXIgJXUgb24gJXBPRlxuIiwKIAkJ CQlsaW5rLnJlbW90ZV9wb3J0LAotCQkJCXRvX29mX25vZGUobGluay5yZW1vdGVfbm9kZSktPmZ1 bGxfbmFtZSk7CisJCQkJdG9fb2Zfbm9kZShsaW5rLnJlbW90ZV9ub2RlKSk7CiAJCQl2NGwyX2Z3 bm9kZV9wdXRfbGluaygmbGluayk7CiAJCQlyZXQgPSAtRUlOVkFMOwogCQkJYnJlYWs7CkBAIC0z MzcsOCArMzM2LDggQEAgc3RhdGljIGludCB4dmlwX2dyYXBoX25vdGlmeV9ib3VuZChzdHJ1Y3Qg djRsMl9hc3luY19ub3RpZmllciAqbm90aWZpZXIsCiAJCQljb250aW51ZTsKIAogCQlpZiAoZW50 aXR5LT5zdWJkZXYpIHsKLQkJCWRldl9lcnIoeGRldi0+ZGV2LCAiZHVwbGljYXRlIHN1YmRldiBm b3Igbm9kZSAlc1xuIiwKLQkJCQllbnRpdHktPm5vZGUtPmZ1bGxfbmFtZSk7CisJCQlkZXZfZXJy KHhkZXYtPmRldiwgImR1cGxpY2F0ZSBzdWJkZXYgZm9yIG5vZGUgJXBPRlxuIiwKKwkJCQllbnRp dHktPm5vZGUpOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIApAQCAtMzYwLDE0ICszNTksMTQg QEAgc3RhdGljIGludCB4dmlwX2dyYXBoX3BhcnNlX29uZShzdHJ1Y3QgeHZpcF9jb21wb3NpdGVf ZGV2aWNlICp4ZGV2LAogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqZXAgPSBOVUxMOwogCWludCByZXQg PSAwOwogCi0JZGV2X2RiZyh4ZGV2LT5kZXYsICJwYXJzaW5nIG5vZGUgJXNcbiIsIG5vZGUtPmZ1 bGxfbmFtZSk7CisJZGV2X2RiZyh4ZGV2LT5kZXYsICJwYXJzaW5nIG5vZGUgJXBPRlxuIiwgbm9k ZSk7CiAKIAl3aGlsZSAoMSkgewogCQllcCA9IG9mX2dyYXBoX2dldF9uZXh0X2VuZHBvaW50KG5v ZGUsIGVwKTsKIAkJaWYgKGVwID09IE5VTEwpCiAJCQlicmVhazsKIAotCQlkZXZfZGJnKHhkZXYt PmRldiwgImhhbmRsaW5nIGVuZHBvaW50ICVzXG4iLCBlcC0+ZnVsbF9uYW1lKTsKKwkJZGV2X2Ri Zyh4ZGV2LT5kZXYsICJoYW5kbGluZyBlbmRwb2ludCAlcE9GXG4iLCBlcCk7CiAKIAkJcmVtb3Rl ID0gb2ZfZ3JhcGhfZ2V0X3JlbW90ZV9wb3J0X3BhcmVudChlcCk7CiAJCWlmIChyZW1vdGUgPT0g TlVMTCkgewpAQCAtNDUyLDggKzQ1MSw3IEBAIHN0YXRpYyBpbnQgeHZpcF9ncmFwaF9kbWFfaW5p dF9vbmUoc3RydWN0IHh2aXBfY29tcG9zaXRlX2RldmljZSAqeGRldiwKIAogCXJldCA9IHh2aXBf ZG1hX2luaXQoeGRldiwgZG1hLCB0eXBlLCBpbmRleCk7CiAJaWYgKHJldCA8IDApIHsKLQkJZGV2 X2Vycih4ZGV2LT5kZXYsICIlcyBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiIsCi0JCQlub2RlLT5m dWxsX25hbWUpOworCQlkZXZfZXJyKHhkZXYtPmRldiwgIiVwT0YgaW5pdGlhbGl6YXRpb24gZmFp bGVkXG4iLCBub2RlKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWVkaWEvdjRsMi1jb3JlL3Y0bDItY2xrLmMgYi9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwy LWNsay5jCmluZGV4IDI5N2UxMGU2OTg5OC4uOTA2MjhkN2EwNGRlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWNsay5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1j b3JlL3Y0bDItY2xrLmMKQEAgLTYxLDggKzYxLDcgQEAgc3RydWN0IHY0bDJfY2xrICp2NGwyX2Ns a19nZXQoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICppZCkKIAogCS8qIGlmIGRldl9u YW1lIGlzIG5vdCBmb3VuZCwgdHJ5IHVzZSB0aGUgT0YgbmFtZSB0byBmaW5kIGFnYWluICAqLwog CWlmIChQVFJfRVJSKGNsaykgPT0gLUVOT0RFViAmJiBkZXYtPm9mX25vZGUpIHsKLQkJdjRsMl9j bGtfbmFtZV9vZihjbGtfbmFtZSwgc2l6ZW9mKGNsa19uYW1lKSwKLQkJCQkgb2Zfbm9kZV9mdWxs X25hbWUoZGV2LT5vZl9ub2RlKSk7CisJCXY0bDJfY2xrX25hbWVfb2YoY2xrX25hbWUsIHNpemVv ZihjbGtfbmFtZSksIGRldi0+b2Zfbm9kZSk7CiAJCWNsayA9IHY0bDJfY2xrX2ZpbmQoY2xrX25h bWUpOwogCX0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tZWRpYS92NGwyLWNsay5oIGIvaW5jbHVk ZS9tZWRpYS92NGwyLWNsay5oCmluZGV4IDJiOTQ2NjJkMDA1Yy4uN2VjODU3ZjgwNWE2IDEwMDY0 NAotLS0gYS9pbmNsdWRlL21lZGlhL3Y0bDItY2xrLmgKKysrIGIvaW5jbHVkZS9tZWRpYS92NGwy LWNsay5oCkBAIC03MCw3ICs3MCw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHY0bDJfY2xrICp2 NGwyX2Nsa19yZWdpc3Rlcl9maXhlZChjb25zdCBjaGFyICpkZXZfaWQsCiAjZGVmaW5lIHY0bDJf Y2xrX25hbWVfaTJjKG5hbWUsIHNpemUsIGFkYXAsIGNsaWVudCkgc25wcmludGYobmFtZSwgc2l6 ZSwgXAogCQkJICAiJWQtJTA0eCIsIGFkYXAsIGNsaWVudCkKIAotI2RlZmluZSB2NGwyX2Nsa19u YW1lX29mKG5hbWUsIHNpemUsIG9mX2Z1bGxfbmFtZSkgc25wcmludGYobmFtZSwgc2l6ZSwgXAot CQkJICAib2YtJXMiLCBvZl9mdWxsX25hbWUpCisjZGVmaW5lIHY0bDJfY2xrX25hbWVfb2YobmFt ZSwgc2l6ZSwgbm9kZSkgc25wcmludGYobmFtZSwgc2l6ZSwgXAorCQkJICAib2YtJXBPRiIsIG5v ZGUpCiAKICNlbmRpZgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: mchehab@s-opensource.com (Mauro Carvalho Chehab) Date: Sun, 20 Aug 2017 12:20:20 +0000 Subject: [git:media_tree/master] media: Convert to using %pOF instead of full_name Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org This is an automatic generated email to let you know that the following patch were queued: Subject: media: Convert to using %pOF instead of full_name Author: Rob Herring Date: Fri Jul 21 15:28:33 2017 -0400 Now that we have a custom printf format specifier, convert users of full_name to use %pOF instead. This is preparation to remove storing of the full path string for each node. Signed-off-by: Rob Herring Acked-by: Niklas S?derlund Acked-by: Laurent Pinchart Reviewed-by: Matthias Brugger Acked-by: Nicolas Ferre Acked-by: Lad, Prabhakar Cc: Kyungmin Park Cc: Andrzej Hajda Cc: Mauro Carvalho Chehab Cc: Songjun Wu Cc: Kukjin Kim Cc: Krzysztof Kozlowski Cc: Javier Martinez Canillas Cc: Minghsiu Tsai Cc: Houlong Wei Cc: Andrew-CT Chen Cc: Guennadi Liakhovetski Cc: Hyun Kwon Cc: Michal Simek Cc: "S?ren Brinkmann" Cc: linux-arm-kernel at lists.infradead.org Cc: linux-samsung-soc at vger.kernel.org Cc: linux-mediatek at lists.infradead.org Cc: linux-renesas-soc at vger.kernel.org Reviewed-by: Sylwester Nawrocki Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab drivers/media/i2c/s5c73m3/s5c73m3-core.c | 3 +- drivers/media/i2c/s5k5baf.c | 7 ++-- drivers/media/platform/am437x/am437x-vpfe.c | 4 +- drivers/media/platform/atmel/atmel-isc.c | 4 +- drivers/media/platform/davinci/vpif_capture.c | 16 ++++---- drivers/media/platform/exynos4-is/fimc-is.c | 8 ++-- drivers/media/platform/exynos4-is/fimc-lite.c | 3 +- drivers/media/platform/exynos4-is/media-dev.c | 8 ++-- drivers/media/platform/exynos4-is/mipi-csis.c | 4 +- drivers/media/platform/mtk-mdp/mtk_mdp_comp.c | 6 +-- drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 8 ++-- drivers/media/platform/omap3isp/isp.c | 8 ++-- drivers/media/platform/pxa_camera.c | 2 +- drivers/media/platform/rcar-vin/rcar-core.c | 4 +- drivers/media/platform/soc_camera/soc_camera.c | 6 +-- drivers/media/platform/xilinx/xilinx-vipp.c | 52 +++++++++++++------------- drivers/media/v4l2-core/v4l2-clk.c | 3 +- include/media/v4l2-clk.h | 4 +- 18 files changed, 70 insertions(+), 80 deletions(-) --- diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c index f434fb2ee6fc..cdc4f2392ef9 100644 --- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c +++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c @@ -1635,8 +1635,7 @@ static int s5c73m3_get_platform_data(struct s5c73m3 *state) node_ep = of_graph_get_next_endpoint(node, NULL); if (!node_ep) { - dev_warn(dev, "no endpoint defined for node: %s\n", - node->full_name); + dev_warn(dev, "no endpoint defined for node: %pOF\n", node); return 0; } diff --git a/drivers/media/i2c/s5k5baf.c b/drivers/media/i2c/s5k5baf.c index f01722dc04d0..ff46d2c96cea 100644 --- a/drivers/media/i2c/s5k5baf.c +++ b/drivers/media/i2c/s5k5baf.c @@ -1863,8 +1863,7 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev) node_ep = of_graph_get_next_endpoint(node, NULL); if (!node_ep) { - dev_err(dev, "no endpoint defined at node %s\n", - node->full_name); + dev_err(dev, "no endpoint defined at node %pOF\n", node); return -EINVAL; } @@ -1882,8 +1881,8 @@ static int s5k5baf_parse_device_node(struct s5k5baf *state, struct device *dev) case V4L2_MBUS_PARALLEL: break; default: - dev_err(dev, "unsupported bus in endpoint defined at node %s\n", - node->full_name); + dev_err(dev, "unsupported bus in endpoint defined at node %pOF\n", + node); return -EINVAL; } diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c index 466aba8b0e00..dfcc484cab89 100644 --- a/drivers/media/platform/am437x/am437x-vpfe.c +++ b/drivers/media/platform/am437x/am437x-vpfe.c @@ -2490,8 +2490,8 @@ vpfe_get_pdata(struct platform_device *pdev) rem = of_graph_get_remote_port_parent(endpoint); if (!rem) { - dev_err(&pdev->dev, "Remote device at %s not found\n", - endpoint->full_name); + dev_err(&pdev->dev, "Remote device at %pOF not found\n", + endpoint); goto done; } diff --git a/drivers/media/platform/atmel/atmel-isc.c b/drivers/media/platform/atmel/atmel-isc.c index d4df3d4ccd85..d7103c5f92c3 100644 --- a/drivers/media/platform/atmel/atmel-isc.c +++ b/drivers/media/platform/atmel/atmel-isc.c @@ -1700,8 +1700,8 @@ static int isc_parse_dt(struct device *dev, struct isc_device *isc) rem = of_graph_get_remote_port_parent(epn); if (!rem) { - dev_notice(dev, "Remote device at %s not found\n", - of_node_full_name(epn)); + dev_notice(dev, "Remote device at %pOF not found\n", + epn); continue; } diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c index fe2a5748e554..0ef36cec21d1 100644 --- a/drivers/media/platform/davinci/vpif_capture.c +++ b/drivers/media/platform/davinci/vpif_capture.c @@ -1397,9 +1397,9 @@ static int vpif_async_bound(struct v4l2_async_notifier *notifier, vpif_obj.config->chan_config->inputs[i].subdev_name = (char *)to_of_node(subdev->fwnode)->full_name; vpif_dbg(2, debug, - "%s: setting input %d subdev_name = %s\n", + "%s: setting input %d subdev_name = %pOF\n", __func__, i, - to_of_node(subdev->fwnode)->full_name); + to_of_node(subdev->fwnode)); return 0; } } @@ -1557,8 +1557,8 @@ vpif_capture_get_pdata(struct platform_device *pdev) dev_err(&pdev->dev, "Could not parse the endpoint\n"); goto done; } - dev_dbg(&pdev->dev, "Endpoint %s, bus_width = %d\n", - endpoint->full_name, bus_cfg.bus.parallel.bus_width); + dev_dbg(&pdev->dev, "Endpoint %pOF, bus_width = %d\n", + endpoint, bus_cfg.bus.parallel.bus_width); flags = bus_cfg.bus.parallel.flags; if (flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH) @@ -1569,13 +1569,13 @@ vpif_capture_get_pdata(struct platform_device *pdev) rem = of_graph_get_remote_port_parent(endpoint); if (!rem) { - dev_dbg(&pdev->dev, "Remote device at %s not found\n", - endpoint->full_name); + dev_dbg(&pdev->dev, "Remote device at %pOF not found\n", + endpoint); goto done; } - dev_dbg(&pdev->dev, "Remote device %s, %s found\n", - rem->name, rem->full_name); + dev_dbg(&pdev->dev, "Remote device %s, %pOF found\n", + rem->name, rem); sdinfo->name = rem->full_name; pdata->asd[i] = devm_kzalloc(&pdev->dev, diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c index 340d906db370..5ddb2321e9e4 100644 --- a/drivers/media/platform/exynos4-is/fimc-is.c +++ b/drivers/media/platform/exynos4-is/fimc-is.c @@ -174,8 +174,8 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index, sensor->drvdata = fimc_is_sensor_get_drvdata(node); if (!sensor->drvdata) { - dev_err(&is->pdev->dev, "no driver data found for: %s\n", - node->full_name); + dev_err(&is->pdev->dev, "no driver data found for: %pOF\n", + node); return -EINVAL; } @@ -191,8 +191,8 @@ static int fimc_is_parse_sensor_config(struct fimc_is *is, unsigned int index, /* Use MIPI-CSIS channel id to determine the ISP I2C bus index. */ ret = of_property_read_u32(port, "reg", &tmp); if (ret < 0) { - dev_err(&is->pdev->dev, "reg property not found at: %s\n", - port->full_name); + dev_err(&is->pdev->dev, "reg property not found at: %pOF\n", + port); of_node_put(port); return ret; } diff --git a/drivers/media/platform/exynos4-is/fimc-lite.c b/drivers/media/platform/exynos4-is/fimc-lite.c index 30282c512e23..4a3c9948ca54 100644 --- a/drivers/media/platform/exynos4-is/fimc-lite.c +++ b/drivers/media/platform/exynos4-is/fimc-lite.c @@ -1493,8 +1493,7 @@ static int fimc_lite_probe(struct platform_device *pdev) if (!drv_data || fimc->index >= drv_data->num_instances || fimc->index < 0) { - dev_err(dev, "Wrong %s node alias\n", - dev->of_node->full_name); + dev_err(dev, "Wrong %pOF node alias\n", dev->of_node); return -EINVAL; } diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c index 7d1cf78846c4..d4656d5175d7 100644 --- a/drivers/media/platform/exynos4-is/media-dev.c +++ b/drivers/media/platform/exynos4-is/media-dev.c @@ -412,8 +412,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd, rem = of_graph_get_remote_port_parent(ep); of_node_put(ep); if (rem == NULL) { - v4l2_info(&fmd->v4l2_dev, "Remote device at %s not found\n", - ep->full_name); + v4l2_info(&fmd->v4l2_dev, "Remote device at %pOF not found\n", + ep); return 0; } @@ -430,8 +430,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd, */ pd->sensor_bus_type = FIMC_BUS_TYPE_MIPI_CSI2; } else { - v4l2_err(&fmd->v4l2_dev, "Wrong port id (%u) at node %s\n", - endpoint.base.port, rem->full_name); + v4l2_err(&fmd->v4l2_dev, "Wrong port id (%u) at node %pOF\n", + endpoint.base.port, rem); } /* * For FIMC-IS handled sensors, that are placed under i2c-isp device diff --git a/drivers/media/platform/exynos4-is/mipi-csis.c b/drivers/media/platform/exynos4-is/mipi-csis.c index 98c89873c2dc..560aadabcb11 100644 --- a/drivers/media/platform/exynos4-is/mipi-csis.c +++ b/drivers/media/platform/exynos4-is/mipi-csis.c @@ -730,8 +730,8 @@ static int s5pcsis_parse_dt(struct platform_device *pdev, node = of_graph_get_next_endpoint(node, NULL); if (!node) { - dev_err(&pdev->dev, "No port node at %s\n", - pdev->dev.of_node->full_name); + dev_err(&pdev->dev, "No port node at %pOF\n", + pdev->dev.of_node); return -EINVAL; } /* Get port node and validate MIPI-CSI channel id. */ diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_comp.c b/drivers/media/platform/mtk-mdp/mtk_mdp_comp.c index aa8f9fd1f1a2..e728d32d9408 100644 --- a/drivers/media/platform/mtk-mdp/mtk_mdp_comp.c +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_comp.c @@ -134,15 +134,13 @@ int mtk_mdp_comp_init(struct device *dev, struct device_node *node, larb_node = of_parse_phandle(node, "mediatek,larb", 0); if (!larb_node) { dev_err(dev, - "Missing mediadek,larb phandle in %s node\n", - node->full_name); + "Missing mediadek,larb phandle in %pOF node\n", node); return -EINVAL; } larb_pdev = of_find_device_by_node(larb_node); if (!larb_pdev) { - dev_warn(dev, "Waiting for larb device %s\n", - larb_node->full_name); + dev_warn(dev, "Waiting for larb device %pOF\n", larb_node); of_node_put(larb_node); return -EPROBE_DEFER; } diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c index 81347558b24a..bbb24fb95b95 100644 --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c @@ -137,16 +137,16 @@ static int mtk_mdp_probe(struct platform_device *pdev) continue; if (!of_device_is_available(node)) { - dev_err(dev, "Skipping disabled component %s\n", - node->full_name); + dev_err(dev, "Skipping disabled component %pOF\n", + node); continue; } comp_type = (enum mtk_mdp_comp_type)of_id->data; comp_id = mtk_mdp_comp_get_id(dev, node, comp_type); if (comp_id < 0) { - dev_warn(dev, "Skipping unknown component %s\n", - node->full_name); + dev_warn(dev, "Skipping unknown component %pOF\n", + node); continue; } diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c index c3014c82d64d..83aea08b832d 100644 --- a/drivers/media/platform/omap3isp/isp.c +++ b/drivers/media/platform/omap3isp/isp.c @@ -2024,8 +2024,8 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode, if (ret) return ret; - dev_dbg(dev, "parsing endpoint %s, interface %u\n", - to_of_node(fwnode)->full_name, vep.base.port); + dev_dbg(dev, "parsing endpoint %pOF, interface %u\n", + to_of_node(fwnode), vep.base.port); switch (vep.base.port) { case ISP_OF_PHY_PARALLEL: @@ -2136,8 +2136,8 @@ static int isp_fwnode_parse(struct device *dev, struct fwnode_handle *fwnode, break; default: - dev_warn(dev, "%s: invalid interface %u\n", - to_of_node(fwnode)->full_name, vep.base.port); + dev_warn(dev, "%pOF: invalid interface %u\n", + to_of_node(fwnode), vep.base.port); return -EINVAL; } diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c index 4a800a4147ca..edca993c2b1f 100644 --- a/drivers/media/platform/pxa_camera.c +++ b/drivers/media/platform/pxa_camera.c @@ -2331,7 +2331,7 @@ static int pxa_camera_pdata_from_dt(struct device *dev, asd->match.fwnode.fwnode = of_fwnode_handle(remote); of_node_put(remote); } else { - dev_notice(dev, "no remote for %s\n", of_node_full_name(np)); + dev_notice(dev, "no remote for %pOF\n", np); } out: diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c index 77dff047c41c..142de447aaaa 100644 --- a/drivers/media/platform/rcar-vin/rcar-core.c +++ b/drivers/media/platform/rcar-vin/rcar-core.c @@ -222,8 +222,8 @@ static int rvin_digital_graph_init(struct rvin_dev *vin) subdevs[0] = &vin->digital.asd; - vin_dbg(vin, "Found digital subdevice %s\n", - of_node_full_name(to_of_node(subdevs[0]->match.fwnode.fwnode))); + vin_dbg(vin, "Found digital subdevice %pOF\n", + to_of_node(subdevs[0]->match.fwnode.fwnode)); vin->notifier.num_subdevs = 1; vin->notifier.subdevs = subdevs; diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c index dd349efae3af..1f3c450c7a69 100644 --- a/drivers/media/platform/soc_camera/soc_camera.c +++ b/drivers/media/platform/soc_camera/soc_camera.c @@ -1550,8 +1550,7 @@ static int soc_of_bind(struct soc_camera_host *ici, v4l2_clk_name_i2c(clk_name, sizeof(clk_name), client->adapter->nr, client->addr); else - v4l2_clk_name_of(clk_name, sizeof(clk_name), - of_node_full_name(remote)); + v4l2_clk_name_of(clk_name, sizeof(clk_name), remote); icd->clk = v4l2_clk_register(&soc_camera_clk_ops, clk_name, icd); if (IS_ERR(icd->clk)) { @@ -1590,8 +1589,7 @@ static void scan_of_host(struct soc_camera_host *ici) ren = of_graph_get_remote_port(epn); if (!ren) { - dev_notice(dev, "no remote for %s\n", - of_node_full_name(epn)); + dev_notice(dev, "no remote for %pOF\n", epn); continue; } diff --git a/drivers/media/platform/xilinx/xilinx-vipp.c b/drivers/media/platform/xilinx/xilinx-vipp.c index ac4704388920..ebfdf334d99c 100644 --- a/drivers/media/platform/xilinx/xilinx-vipp.c +++ b/drivers/media/platform/xilinx/xilinx-vipp.c @@ -90,12 +90,12 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, of_node_put(ep); ep = next; - dev_dbg(xdev->dev, "processing endpoint %s\n", ep->full_name); + dev_dbg(xdev->dev, "processing endpoint %pOF\n", ep); ret = v4l2_fwnode_parse_link(of_fwnode_handle(ep), &link); if (ret < 0) { - dev_err(xdev->dev, "failed to parse link for %s\n", - ep->full_name); + dev_err(xdev->dev, "failed to parse link for %pOF\n", + ep); continue; } @@ -103,9 +103,9 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, * the link. */ if (link.local_port >= local->num_pads) { - dev_err(xdev->dev, "invalid port number %u for %s\n", + dev_err(xdev->dev, "invalid port number %u for %pOF\n", link.local_port, - to_of_node(link.local_node)->full_name); + to_of_node(link.local_node)); v4l2_fwnode_put_link(&link); ret = -EINVAL; break; @@ -114,8 +114,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, local_pad = &local->pads[link.local_port]; if (local_pad->flags & MEDIA_PAD_FL_SINK) { - dev_dbg(xdev->dev, "skipping sink port %s:%u\n", - to_of_node(link.local_node)->full_name, + dev_dbg(xdev->dev, "skipping sink port %pOF:%u\n", + to_of_node(link.local_node), link.local_port); v4l2_fwnode_put_link(&link); continue; @@ -123,8 +123,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, /* Skip DMA engines, they will be processed separately. */ if (link.remote_node == of_fwnode_handle(xdev->dev->of_node)) { - dev_dbg(xdev->dev, "skipping DMA port %s:%u\n", - to_of_node(link.local_node)->full_name, + dev_dbg(xdev->dev, "skipping DMA port %pOF:%u\n", + to_of_node(link.local_node), link.local_port); v4l2_fwnode_put_link(&link); continue; @@ -134,8 +134,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, ent = xvip_graph_find_entity(xdev, to_of_node(link.remote_node)); if (ent == NULL) { - dev_err(xdev->dev, "no entity found for %s\n", - to_of_node(link.remote_node)->full_name); + dev_err(xdev->dev, "no entity found for %pOF\n", + to_of_node(link.remote_node)); v4l2_fwnode_put_link(&link); ret = -ENODEV; break; @@ -144,9 +144,8 @@ static int xvip_graph_build_one(struct xvip_composite_device *xdev, remote = ent->entity; if (link.remote_port >= remote->num_pads) { - dev_err(xdev->dev, "invalid port number %u on %s\n", - link.remote_port, - to_of_node(link.remote_node)->full_name); + dev_err(xdev->dev, "invalid port number %u on %pOF\n", + link.remote_port, to_of_node(link.remote_node)); v4l2_fwnode_put_link(&link); ret = -EINVAL; break; @@ -216,12 +215,12 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev) of_node_put(ep); ep = next; - dev_dbg(xdev->dev, "processing endpoint %s\n", ep->full_name); + dev_dbg(xdev->dev, "processing endpoint %pOF\n", ep); ret = v4l2_fwnode_parse_link(of_fwnode_handle(ep), &link); if (ret < 0) { - dev_err(xdev->dev, "failed to parse link for %s\n", - ep->full_name); + dev_err(xdev->dev, "failed to parse link for %pOF\n", + ep); continue; } @@ -242,17 +241,17 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev) ent = xvip_graph_find_entity(xdev, to_of_node(link.remote_node)); if (ent == NULL) { - dev_err(xdev->dev, "no entity found for %s\n", - to_of_node(link.remote_node)->full_name); + dev_err(xdev->dev, "no entity found for %pOF\n", + to_of_node(link.remote_node)); v4l2_fwnode_put_link(&link); ret = -ENODEV; break; } if (link.remote_port >= ent->entity->num_pads) { - dev_err(xdev->dev, "invalid port number %u on %s\n", + dev_err(xdev->dev, "invalid port number %u on %pOF\n", link.remote_port, - to_of_node(link.remote_node)->full_name); + to_of_node(link.remote_node)); v4l2_fwnode_put_link(&link); ret = -EINVAL; break; @@ -337,8 +336,8 @@ static int xvip_graph_notify_bound(struct v4l2_async_notifier *notifier, continue; if (entity->subdev) { - dev_err(xdev->dev, "duplicate subdev for node %s\n", - entity->node->full_name); + dev_err(xdev->dev, "duplicate subdev for node %pOF\n", + entity->node); return -EINVAL; } @@ -360,14 +359,14 @@ static int xvip_graph_parse_one(struct xvip_composite_device *xdev, struct device_node *ep = NULL; int ret = 0; - dev_dbg(xdev->dev, "parsing node %s\n", node->full_name); + dev_dbg(xdev->dev, "parsing node %pOF\n", node); while (1) { ep = of_graph_get_next_endpoint(node, ep); if (ep == NULL) break; - dev_dbg(xdev->dev, "handling endpoint %s\n", ep->full_name); + dev_dbg(xdev->dev, "handling endpoint %pOF\n", ep); remote = of_graph_get_remote_port_parent(ep); if (remote == NULL) { @@ -452,8 +451,7 @@ static int xvip_graph_dma_init_one(struct xvip_composite_device *xdev, ret = xvip_dma_init(xdev, dma, type, index); if (ret < 0) { - dev_err(xdev->dev, "%s initialization failed\n", - node->full_name); + dev_err(xdev->dev, "%pOF initialization failed\n", node); return ret; } diff --git a/drivers/media/v4l2-core/v4l2-clk.c b/drivers/media/v4l2-core/v4l2-clk.c index 297e10e69898..90628d7a04de 100644 --- a/drivers/media/v4l2-core/v4l2-clk.c +++ b/drivers/media/v4l2-core/v4l2-clk.c @@ -61,8 +61,7 @@ struct v4l2_clk *v4l2_clk_get(struct device *dev, const char *id) /* if dev_name is not found, try use the OF name to find again */ if (PTR_ERR(clk) == -ENODEV && dev->of_node) { - v4l2_clk_name_of(clk_name, sizeof(clk_name), - of_node_full_name(dev->of_node)); + v4l2_clk_name_of(clk_name, sizeof(clk_name), dev->of_node); clk = v4l2_clk_find(clk_name); } diff --git a/include/media/v4l2-clk.h b/include/media/v4l2-clk.h index 2b94662d005c..7ec857f805a6 100644 --- a/include/media/v4l2-clk.h +++ b/include/media/v4l2-clk.h @@ -70,7 +70,7 @@ static inline struct v4l2_clk *v4l2_clk_register_fixed(const char *dev_id, #define v4l2_clk_name_i2c(name, size, adap, client) snprintf(name, size, \ "%d-%04x", adap, client) -#define v4l2_clk_name_of(name, size, of_full_name) snprintf(name, size, \ - "of-%s", of_full_name) +#define v4l2_clk_name_of(name, size, node) snprintf(name, size, \ + "of-%pOF", node) #endif