From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v4 3/6] drm/nouveau: Move backlight device into nouveau_connector Date: Thu, 6 Sep 2018 17:43:23 -0400 Message-ID: <20180906214328.24012-4-lyude@redhat.com> References: <20180906214328.24012-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180906214328.24012-1-lyude@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: nouveau@lists.freedesktop.org Cc: David Airlie , Ben Skeggs , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org List-Id: nouveau.vger.kernel.org Q3VycmVudGx5IG1vZHVsZSB1bmxvYWRpbmcgaXMgYnJva2VuIGluIG5vdXZlYXUgZHVlIHRvIGEg cmF0aGVyIGFubm95aW5nCnJhY2UgY29uZGl0aW9uIHJlc3VsdGluZyBmcm9tIG5vdXZlYXVfYmFj a2xpZ2h0LmMgaGF2aW5nIGdvbmUgYSBiaXQKc3RhbGUgb3ZlciB0aW1lOgoKWyAxOTYwLjc5MTE0 M10gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ClsgMTk2MC43OTEzOTRdIEJVRzogS0FTQU46IHVzZS1hZnRlci1mcmVlIGlu IG5vdXZlYXVfYmFja2xpZ2h0X2V4aXQrMHgxMTIvMHgxNTAgW25vdXZlYXVdClsgMTk2MC43OTE0 NjBdIFJlYWQgb2Ygc2l6ZSA0IGF0IGFkZHIgZmZmZjg4MDc1YWNjZjM1MCBieSB0YXNrIHpzaC8x MTE4NQpbIDE5NjAuNzkxNTIxXQpbIDE5NjAuNzkxNTQ1XSBDUFU6IDcgUElEOiAxMTE4NSBDb21t OiB6c2ggS2R1bXA6IGxvYWRlZCBUYWludGVkOiBHICAgICAgICAgICBPICAgICAgNC4xOC4wTHl1 ZGUtVGVzdCsgIzQKWyAxOTYwLjc5MTU4MF0gSGFyZHdhcmUgbmFtZTogTEVOT1ZPIDIwRVFTNjRO MEIvMjBFUVM2NE4wQiwgQklPUyBOMUVFVDc5VyAoMS41MiApIDA3LzEzLzIwMTgKWyAxOTYwLjc5 MTYyOF0gQ2FsbCBUcmFjZToKWyAxOTYwLjc5MTY4MF0gIGR1bXBfc3RhY2srMHhhNC8weGZkClsg MTk2MC43OTE3MjFdICBwcmludF9hZGRyZXNzX2Rlc2NyaXB0aW9uKzB4NzEvMHgyMzkKWyAxOTYw Ljc5MTgzM10gID8gbm91dmVhdV9iYWNrbGlnaHRfZXhpdCsweDExMi8weDE1MCBbbm91dmVhdV0K WyAxOTYwLjc5MTg3N10gIGthc2FuX3JlcG9ydC5jb2xkLjYrMHgyNDIvMHgyZmUKWyAxOTYwLjc5 MTkxOV0gIF9fYXNhbl9yZXBvcnRfbG9hZDRfbm9hYm9ydCsweDE5LzB4MjAKWyAxOTYwLjc5MjAx Ml0gIG5vdXZlYXVfYmFja2xpZ2h0X2V4aXQrMHgxMTIvMHgxNTAgW25vdXZlYXVdClsgMTk2MC43 OTIwODFdICBub3V2ZWF1X2Rpc3BsYXlfZGVzdHJveSsweDc2LzB4MTUwIFtub3V2ZWF1XQpbIDE5 NjAuNzkyMTUwXSAgbm91dmVhdV9kcm1fZGV2aWNlX2ZpbmkrMHhiNy8weDE5MCBbbm91dmVhdV0K WyAxOTYwLjc5MjI2NV0gIG5vdXZlYXVfZHJtX2RldmljZV9yZW1vdmUrMHgxNGIvMHgxZDAgW25v dXZlYXVdClsgMTk2MC43OTIzNDddICA/IG5vdXZlYXVfY2xpX3dvcmtfcXVldWUrMHgyZTAvMHgy ZTAgW25vdXZlYXVdClsgMTk2MC43OTIzNzhdICA/IHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcisw eDM4Yi8weDU3MApbIDE5NjAuNzkyNDA2XSAgPyB0cmFjZV9oYXJkaXJxc19vbisweGQvMHgxMApb IDE5NjAuNzkyNDcyXSAgbm91dmVhdV9kcm1fcmVtb3ZlKzB4MzcvMHg1MCBbbm91dmVhdV0KWyAx OTYwLjc5MjUwMl0gIHBjaV9kZXZpY2VfcmVtb3ZlKzB4MTEyLzB4MmQwClsgMTk2MC43OTI1MzBd ICA/IHBjaWJpb3NfZnJlZV9pcnErMHgxMC8weDEwClsgMTk2MC43OTI1NThdICA/IGthc2FuX2No ZWNrX3dyaXRlKzB4MTQvMHgyMApbIDE5NjAuNzkyNTg3XSAgZGV2aWNlX3JlbGVhc2VfZHJpdmVy X2ludGVybmFsKzB4MzVjLzB4NjUwClsgMTk2MC43OTI2MTddICBkZXZpY2VfcmVsZWFzZV9kcml2 ZXIrMHgxMi8weDIwClsgMTk2MC43OTI2NDNdICBwY2lfc3RvcF9idXNfZGV2aWNlKzB4MTcyLzB4 MWUwClsgMTk2MC43OTI2NzFdICBwY2lfc3RvcF9hbmRfcmVtb3ZlX2J1c19kZXZpY2VfbG9ja2Vk KzB4MWEvMHgzMApbIDE5NjAuNzkyNzE1XSAgcmVtb3ZlX3N0b3JlKzB4Y2IvMHhlMApbIDE5NjAu NzkyNzUzXSAgPyBzcmlvdl9udW12ZnNfc3RvcmUrMHgyZTAvMHgyZTAKWyAxOTYwLjc5Mjc3OV0g ID8gX19sb2NrX2lzX2hlbGQrMHhiNS8weDE0MApbIDE5NjAuNzkyODA4XSAgPyBjb21wb25lbnRf YWRkKzB4NTMwLzB4NTMwClsgMTk2MC43OTI4MzRdICBkZXZfYXR0cl9zdG9yZSsweDNmLzB4NzAK WyAxOTYwLjc5Mjg1OV0gID8gc3lzZnNfZmlsZV9vcHMrMHgxMWQvMHgxNzAKWyAxOTYwLjc5Mjg4 NV0gIHN5c2ZzX2tmX3dyaXRlKzB4MTA0LzB4MTUwClsgMTk2MC43OTI5MTVdICA/IHN5c2ZzX2Zp bGVfb3BzKzB4MTcwLzB4MTcwClsgMTk2MC43OTI5NDBdICBrZXJuZnNfZm9wX3dyaXRlKzB4MjRm LzB4NDAwClsgMTk2MC43OTI5NzhdICA/IF9fbG9ja19hY3F1aXJlKzB4NmVhLzB4NDdmMApbIDE5 NjAuNzkzMDIxXSAgX192ZnNfd3JpdGUrMHhlYi8weDc2MApbIDE5NjAuNzkzMDQ4XSAgPyBrZXJu ZWxfcmVhZCsweDEzMC8weDEzMApbIDE5NjAuNzkzMDc2XSAgPyBfX2xvY2tfaXNfaGVsZCsweGI1 LzB4MTQwClsgMTk2MC43OTMxMDddICA/IHJjdV9yZWFkX2xvY2tfc2NoZWRfaGVsZCsweGRkLzB4 MTEwClsgMTk2MC43OTMxMzVdICA/IHJjdV9zeW5jX2xvY2tkZXBfYXNzZXJ0KzB4NzgvMHhiMApb IDE5NjAuNzkzMTYyXSAgPyBfX3NiX3N0YXJ0X3dyaXRlKzB4MTgzLzB4MjIwClsgMTk2MC43OTMx ODldICB2ZnNfd3JpdGUrMHgxNGQvMHg0YTAKWyAxOTYwLjc5MzIyOV0gIGtzeXNfd3JpdGUrMHhk Mi8weDFiMApbIDE5NjAuNzkzMjU1XSAgPyBfX2lhMzJfc3lzX3JlYWQrMHhiMC8weGIwClsgMTk2 MC43OTMyOThdICA/IGZwdXQrMHgxZC8weDEyMApbIDE5NjAuNzkzMzI0XSAgPyBmaWxwX2Nsb3Nl KzB4ZjMvMHgxMzAKWyAxOTYwLjc5MzM0OV0gID8gZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2Zy YW1lKzB4NTkvMHhiZQpbIDE5NjAuNzkzMzgwXSAgX194NjRfc3lzX3dyaXRlKzB4NzMvMHhiMApb IDE5NjAuNzkzNDA3XSAgZG9fc3lzY2FsbF82NCsweGFhLzB4NDAwClsgMTk2MC43OTM0MzNdICBl bnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlClsgMTk2MC43OTM0NjBdIFJJ UDogMDAzMzoweDdmNTlkZjQzMzE2NApbIDE5NjAuNzkzNDg2XSBDb2RlOiA4OSAwMiA0OCBjNyBj MCBmZiBmZiBmZiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCA2NiA5MCA0OCA4 ZCAwNSA4MSAzOCAyZCAwMCA4YiAwMCA4NSBjMCA3NSAxMyBiOCAwMSAwMCAwMCAwMCAwZiAwNSA8 NDg+IDNkIDAwIGYwIGZmIGZmIDc3IDU0IGMzIDBmIDFmIDAwIDQxIDU0IDQ5IDg5IGQ0IDU1IDQ4 IDg5IGY1IDUzClsgMTk2MC43OTM1NDFdIFJTUDogMDAyYjowMDAwN2ZmZDcwZWUyZmI4IEVGTEFH UzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMDEKWyAxOTYwLjc5MzU3Nl0gUkFY OiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAwMDAwMDAwMiBSQ1g6IDAwMDA3ZjU5ZGY0 MzMxNjQKWyAxOTYwLjc5MzYyMF0gUkRYOiAwMDAwMDAwMDAwMDAwMDAyIFJTSTogMDAwMDU1Nzgw ODg2NDBjMCBSREk6IDAwMDAwMDAwMDAwMDAwMDEKWyAxOTYwLjc5MzY2NV0gUkJQOiAwMDAwNTU3 ODA4ODY0MGMwIFIwODogMDAwMDdmNTlkZjcwMzhjMCBSMDk6IDAwMDA3ZjU5ZTA5OTViODAKWyAx OTYwLjc5MzY5Nl0gUjEwOiAwMDAwMDAwMDAwMDAwMDBhIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBS MTI6IDAwMDA3ZjU5ZGY3MDI3NjAKWyAxOTYwLjc5MzczMF0gUjEzOiAwMDAwMDAwMDAwMDAwMDAy IFIxNDogMDAwMDdmNTlkZjZmZDc2MCBSMTU6IDAwMDAwMDAwMDAwMDAwMDIKWyAxOTYwLjc5Mzc2 OF0KWyAxOTYwLjc5Mzc5MF0gQWxsb2NhdGVkIGJ5IHRhc2sgMTExNjc6ClsgMTk2MC43OTM4MTZd ICBzYXZlX3N0YWNrKzB4NDMvMHhkMApbIDE5NjAuNzkzODQxXSAga2FzYW5fa21hbGxvYysweGM0 LzB4ZTAKWyAxOTYwLjc5Mzg4MF0gIGthc2FuX3NsYWJfYWxsb2MrMHgxMS8weDIwClsgMTk2MC43 OTM5MDVdICBrbWVtX2NhY2hlX2FsbG9jKzB4ZDcvMHgyNzAKWyAxOTYwLjc5Mzk0NF0gIGdldG5h bWVfZmxhZ3MrMHhiZC8weDUyMApbIDE5NjAuNzkzOTY5XSAgdXNlcl9wYXRoX2F0X2VtcHR5KzB4 MjMvMHg1MApbIDE5NjAuNzkzOTk0XSAgZG9fZmFjY2Vzc2F0KzB4MWZjLzB4NWQwClsgMTk2MC43 OTQwMThdICBfX3g2NF9zeXNfYWNjZXNzKzB4NTkvMHg4MApbIDE5NjAuNzk0MDQzXSAgZG9fc3lz Y2FsbF82NCsweGFhLzB4NDAwClsgMTk2MC43OTQwNjddICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVy X2h3ZnJhbWUrMHg0OS8weGJlClsgMTk2MC43OTQwOTNdClsgMTk2MC43OTQxMjddIEZyZWVkIGJ5 IHRhc2sgMTExNjc6ClsgMTk2MC43OTQxNTJdICBzYXZlX3N0YWNrKzB4NDMvMHhkMApbIDE5NjAu Nzk0MTkwXSAgX19rYXNhbl9zbGFiX2ZyZWUrMHgxMzkvMHgxOTAKWyAxOTYwLjc5NDIxNV0gIGth c2FuX3NsYWJfZnJlZSsweGUvMHgxMApbIDE5NjAuNzk0MjM5XSAga21lbV9jYWNoZV9mcmVlKzB4 Y2IvMHgyYzAKWyAxOTYwLjc5NDI2NF0gIHB1dG5hbWUrMHhhZC8weGUwClsgMTk2MC43OTQyODdd ICBmaWxlbmFtZV9sb29rdXAucGFydC41OSsweDFmMS8weDM2MApbIDE5NjAuNzk0MzEzXSAgdXNl cl9wYXRoX2F0X2VtcHR5KzB4M2UvMHg1MApbIDE5NjAuNzk0MzM4XSAgZG9fZmFjY2Vzc2F0KzB4 MWZjLzB4NWQwClsgMTk2MC43OTQzNjJdICBfX3g2NF9zeXNfYWNjZXNzKzB4NTkvMHg4MApbIDE5 NjAuNzk0MzkzXSAgZG9fc3lzY2FsbF82NCsweGFhLzB4NDAwClsgMTk2MC43OTQ0MjFdICBlbnRy eV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlClsgMTk2MC43OTQ0NjFdClsgMTk2 MC43OTQ0ODNdIFRoZSBidWdneSBhZGRyZXNzIGJlbG9uZ3MgdG8gdGhlIG9iamVjdCBhdCBmZmZm ODgwNzVhY2NlYWMwClsgMTk2MC43OTQ0ODNdICB3aGljaCBiZWxvbmdzIHRvIHRoZSBjYWNoZSBu YW1lc19jYWNoZSBvZiBzaXplIDQwOTYKWyAxOTYwLjc5NDU0MF0gVGhlIGJ1Z2d5IGFkZHJlc3Mg aXMgbG9jYXRlZCAyMTkyIGJ5dGVzIGluc2lkZSBvZgpbIDE5NjAuNzk0NTQwXSAgNDA5Ni1ieXRl IHJlZ2lvbiBbZmZmZjg4MDc1YWNjZWFjMCwgZmZmZjg4MDc1YWNjZmFjMCkKWyAxOTYwLjc5NDU4 MV0gVGhlIGJ1Z2d5IGFkZHJlc3MgYmVsb25ncyB0byB0aGUgcGFnZToKWyAxOTYwLjc5NDYwOV0g cGFnZTpmZmZmZWEwMDFkNmIzMjAwIGNvdW50OjEgbWFwY291bnQ6MCBtYXBwaW5nOmZmZmY4ODA3 NzhlNGIxYzAgaW5kZXg6MHgwIGNvbXBvdW5kX21hcGNvdW50OiAwClsgMTk2MC43OTQ2NTFdIGZs YWdzOiAweDgwMDAwMDAwMDAwMDgxMDAoc2xhYnxoZWFkKQpbIDE5NjAuNzk0Njc5XSByYXc6IDgw MDAwMDAwMDAwMDgxMDAgZmZmZmVhMDAxZDM5ZTgwOCBmZmZmZWEwMDFkMzllYTA4IGZmZmY4ODA3 NzhlNGIxYzAKWyAxOTYwLjc5NDczOV0gcmF3OiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAw NzAwMDcgMDAwMDAwMDFmZmZmZmZmZiAwMDAwMDAwMDAwMDAwMDAwClsgMTk2MC43OTQ3ODVdIHBh Z2UgZHVtcGVkIGJlY2F1c2U6IGthc2FuOiBiYWQgYWNjZXNzIGRldGVjdGVkClsgMTk2MC43OTQ4 MTNdClsgMTk2MC43OTQ4MzRdIE1lbW9yeSBzdGF0ZSBhcm91bmQgdGhlIGJ1Z2d5IGFkZHJlc3M6 ClsgMTk2MC43OTQ4NjFdICBmZmZmODgwNzVhY2NmMjAwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBm YiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbIDE5NjAuNzk0ODk0XSAgZmZmZjg4MDc1YWNjZjI4 MDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIKWyAxOTYw Ljc5NDkyNV0gPmZmZmY4ODA3NWFjY2YzMDA6IGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZiIGZi IGZiIGZiIGZiIGZiIGZiIGZiClsgMTk2MC43OTQ5NTZdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeClsgMTk2MC43OTQ5ODVdICBmZmZmODgwNzVhY2Nm MzgwOiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbIDE5 NjAuNzk1MDE3XSAgZmZmZjg4MDc1YWNjZjQwMDogZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIgZmIg ZmIgZmIgZmIgZmIgZmIgZmIgZmIKWyAxOTYwLjc5NTA2MV0gPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClsgMTk2MC43OTUx MDZdIERpc2FibGluZyBsb2NrIGRlYnVnZ2luZyBkdWUgdG8ga2VybmVsIHRhaW50ClsgMTk2MC43 OTUxMzFdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpbIDE5NjAuNzk1MTQ4 XSBpZGFfcmVtb3ZlIGNhbGxlZCBmb3IgaWQ9MTgwMjIwMTk2MyB3aGljaCBpcyBub3QgYWxsb2Nh dGVkLgpbIDE5NjAuNzk1MTkzXSBXQVJOSU5HOiBDUFU6IDcgUElEOiAxMTE4NSBhdCBsaWIvaWRy LmM6NTIxIGlkYV9yZW1vdmUrMHgxODQvMHgyMTAKWyAxOTYwLjc5NTIxM10gTW9kdWxlcyBsaW5r ZWQgaW46IG5vdXZlYXUoTykgbXhtX3dtaSB0dG0gaTJjX2FsZ29fYml0IGRybV9rbXNfaGVscGVy IHN5c2NvcHlhcmVhIHN5c2ZpbGxyZWN0IHN5c2ltZ2JsdCBmYl9zeXNfZm9wcyBkcm0gam95ZGV2 IHZmYXQgZmF0IGludGVsX3JhcGwgeDg2X3BrZ190ZW1wX3RoZXJtYWwgY29yZXRlbXAgY3JjMzJf cGNsbXVsIGlUQ09fd2R0IHBzbW91c2Ugd21pX2Jtb2YgbWVpX21lIHRwbV90aXMgbWVpIHRwbV90 aXNfY29yZSB0cG0gaTJjX2k4MDEgdGhpbmtwYWRfYWNwaSBwY2NfY3B1ZnJlcSBjcmMzMmNfaW50 ZWwgc2VyaW9fcmF3IHhoY2lfcGNpIHhoY2lfaGNkIHdtaSB2aWRlbyBpMmNfZGV2IGkyY19jb3Jl ClsgMTk2MC43OTUzMDVdIENQVTogNyBQSUQ6IDExMTg1IENvbW06IHpzaCBLZHVtcDogbG9hZGVk IFRhaW50ZWQ6IEcgICAgQiAgICAgIE8gICAgICA0LjE4LjBMeXVkZS1UZXN0KyAjNApbIDE5NjAu Nzk1MzMwXSBIYXJkd2FyZSBuYW1lOiBMRU5PVk8gMjBFUVM2NE4wQi8yMEVRUzY0TjBCLCBCSU9T IE4xRUVUNzlXICgxLjUyICkgMDcvMTMvMjAxOApbIDE5NjAuNzk1MzUyXSBSSVA6IDAwMTA6aWRh X3JlbW92ZSsweDE4NC8weDIxMApbIDE5NjAuNzk1MzcwXSBDb2RlOiA0YyA4OSBmNyBlOCBhZSBj OCAwMCAwMCBlYiAyMiA0MSA4MyBjNCAwMiA0YyA4OSBlOCA0MSA4MyBmYyAzZiAwZiA4NiA2NCBm ZiBmZiBmZiA0NCA4OSBmZSA0OCBjNyBjNyAyMCA5NCAxZSA4MyBlOCA1NCBlZCA4MSBmZSA8MGY+ IDBiIDQ4IGI4IDAwIDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ4IDAxIGMzIGM3IDAzIDAwIDAwIDAw IDAwIGM3ClsgMTk2MC43OTU0MDJdIFJTUDogMDAxODpmZmZmODgwNzRkNGRmN2I4IEVGTEFHUzog MDAwMTAwODIKWyAxOTYwLjc5NTQyMV0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogMWZmZmYx MDBlOWE5YmVmYSBSQ1g6IGZmZmZmZmZmODE0Nzk5NzUKWyAxOTYwLjc5NTQ0MF0gUkRYOiAwMDAw MDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDAwOCBSREk6IGZmZmY4ODA3N2MxZGU2OTAK WyAxOTYwLjc5NTQ2MF0gUkJQOiBmZmZmODgwNzRkNGRmODc4IFIwODogZmZmZmVkMDBlZjgzYmNk MyBSMDk6IGZmZmZlZDAwZWY4M2JjZDIKWyAxOTYwLjc5NTQ3OV0gUjEwOiBmZmZmZWQwMGVmODNi Y2QyIFIxMTogZmZmZjg4MDc3YzFkZTY5NyBSMTI6IDAwMDAwMDAwMDAwMDAzNmIKWyAxOTYwLjc5 NTQ5OF0gUjEzOiAwMDAwMDAwMDAwMDAwMjAyIFIxNDogZmZmZmZmZmZhMGFhN2ZhMCBSMTU6IDAw MDAwMDAwNmI2YjZiNmIKWyAxOTYwLjc5NTUxOF0gRlM6ICAwMDAwN2Y1OWUwOTk1YjgwKDAwMDAp IEdTOmZmZmY4ODA3N2MxYzAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbIDE5NjAu Nzk1NTUzXSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMz ClsgMTk2MC43OTU1NzFdIENSMjogMDAwMDdmNTllMDlhMjAxMCBDUjM6IDAwMDAwMDA0YTFhNzAw MDUgQ1I0OiAwMDAwMDAwMDAwMzYwNmUwClsgMTk2MC43OTU1OTZdIERSMDogMDAwMDAwMDAwMDAw MDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwClsgMTk2MC43 OTU2MjldIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAw MDAwMDAwMDAwMDAwNDAwClsgMTk2MC43OTU2NDldIENhbGwgVHJhY2U6ClsgMTk2MC43OTU2Njdd ICA/IGlkYV9kZXN0cm95KzB4MWQwLzB4MWQwClsgMTk2MC43OTU2ODZdICA/IGthc2FuX2NoZWNr X3dyaXRlKzB4MTQvMHgyMApbIDE5NjAuNzk1NzA0XSAgPyBkb19yYXdfc3Bpbl9sb2NrKzB4YzIv MHgxYzAKWyAxOTYwLjc5NTcyNF0gIGlkYV9zaW1wbGVfcmVtb3ZlKzB4MjYvMHg0MApbIDE5NjAu Nzk1Nzk0XSAgbm91dmVhdV9iYWNrbGlnaHRfZXhpdCsweDlkLzB4MTUwIFtub3V2ZWF1XQpbIDE5 NjAuNzk1ODY3XSAgbm91dmVhdV9kaXNwbGF5X2Rlc3Ryb3krMHg3Ni8weDE1MCBbbm91dmVhdV0K WyAxOTYwLjc5NTkzMF0gIG5vdXZlYXVfZHJtX2RldmljZV9maW5pKzB4YjcvMHgxOTAgW25vdXZl YXVdClsgMTk2MC43OTU5ODldICBub3V2ZWF1X2RybV9kZXZpY2VfcmVtb3ZlKzB4MTRiLzB4MWQw IFtub3V2ZWF1XQpbIDE5NjAuNzk2MDQ3XSAgPyBub3V2ZWF1X2NsaV93b3JrX3F1ZXVlKzB4MmUw LzB4MmUwIFtub3V2ZWF1XQpbIDE5NjAuNzk2MDY3XSAgPyB0cmFjZV9oYXJkaXJxc19vbl9jYWxs ZXIrMHgzOGIvMHg1NzAKWyAxOTYwLjc5NjA4OV0gID8gdHJhY2VfaGFyZGlycXNfb24rMHhkLzB4 MTAKWyAxOTYwLjc5NjE0Nl0gIG5vdXZlYXVfZHJtX3JlbW92ZSsweDM3LzB4NTAgW25vdXZlYXVd ClsgMTk2MC43OTYxNjddICBwY2lfZGV2aWNlX3JlbW92ZSsweDExMi8weDJkMApbIDE5NjAuNzk2 MTg2XSAgPyBwY2liaW9zX2ZyZWVfaXJxKzB4MTAvMHgxMApbIDE5NjAuNzk2MjE4XSAgPyBrYXNh bl9jaGVja193cml0ZSsweDE0LzB4MjAKWyAxOTYwLjc5NjIzN10gIGRldmljZV9yZWxlYXNlX2Ry aXZlcl9pbnRlcm5hbCsweDM1Yy8weDY1MApbIDE5NjAuNzk2MjU3XSAgZGV2aWNlX3JlbGVhc2Vf ZHJpdmVyKzB4MTIvMHgyMApbIDE5NjAuNzk2Mjg5XSAgcGNpX3N0b3BfYnVzX2RldmljZSsweDE3 Mi8weDFlMApbIDE5NjAuNzk2MzA4XSAgcGNpX3N0b3BfYW5kX3JlbW92ZV9idXNfZGV2aWNlX2xv Y2tlZCsweDFhLzB4MzAKWyAxOTYwLjc5NjMyOF0gIHJlbW92ZV9zdG9yZSsweGNiLzB4ZTAKWyAx OTYwLjc5NjM0NV0gID8gc3Jpb3ZfbnVtdmZzX3N0b3JlKzB4MmUwLzB4MmUwClsgMTk2MC43OTYz NjRdICA/IF9fbG9ja19pc19oZWxkKzB4YjUvMHgxNDAKWyAxOTYwLjc5NjM4M10gID8gY29tcG9u ZW50X2FkZCsweDUzMC8weDUzMApbIDE5NjAuNzk2NDAxXSAgZGV2X2F0dHJfc3RvcmUrMHgzZi8w eDcwClsgMTk2MC43OTY0MTldICA/IHN5c2ZzX2ZpbGVfb3BzKzB4MTFkLzB4MTcwClsgMTk2MC43 OTY0MzZdICBzeXNmc19rZl93cml0ZSsweDEwNC8weDE1MApbIDE5NjAuNzk2NDU0XSAgPyBzeXNm c19maWxlX29wcysweDE3MC8weDE3MApbIDE5NjAuNzk2NDcxXSAga2VybmZzX2ZvcF93cml0ZSsw eDI0Zi8weDQwMApbIDE5NjAuNzk2NDg4XSAgPyBfX2xvY2tfYWNxdWlyZSsweDZlYS8weDQ3ZjAK WyAxOTYwLjc5NjUyMF0gIF9fdmZzX3dyaXRlKzB4ZWIvMHg3NjAKWyAxOTYwLjc5NjUzOF0gID8g a2VybmVsX3JlYWQrMHgxMzAvMHgxMzAKWyAxOTYwLjc5NjU1Nl0gID8gX19sb2NrX2lzX2hlbGQr MHhiNS8weDE0MApbIDE5NjAuNzk2NTkwXSAgPyByY3VfcmVhZF9sb2NrX3NjaGVkX2hlbGQrMHhk ZC8weDExMApbIDE5NjAuNzk2NjA4XSAgPyByY3Vfc3luY19sb2NrZGVwX2Fzc2VydCsweDc4LzB4 YjAKWyAxOTYwLjc5NjYyNl0gID8gX19zYl9zdGFydF93cml0ZSsweDE4My8weDIyMApbIDE5NjAu Nzk2NjQ4XSAgdmZzX3dyaXRlKzB4MTRkLzB4NGEwClsgMTk2MC43OTY2NjZdICBrc3lzX3dyaXRl KzB4ZDIvMHgxYjAKWyAxOTYwLjc5NjY4NF0gID8gX19pYTMyX3N5c19yZWFkKzB4YjAvMHhiMApb IDE5NjAuNzk2NzAxXSAgPyBmcHV0KzB4MWQvMHgxMjAKWyAxOTYwLjc5NjczMl0gID8gZmlscF9j bG9zZSsweGYzLzB4MTMwClsgMTk2MC43OTY3NDldICA/IGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJf aHdmcmFtZSsweDU5LzB4YmUKWyAxOTYwLjc5Njc2OF0gIF9feDY0X3N5c193cml0ZSsweDczLzB4 YjAKWyAxOTYwLjc5NjgwMF0gIGRvX3N5c2NhbGxfNjQrMHhhYS8weDQwMApbIDE5NjAuNzk2ODE4 XSAgZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQpbIDE5NjAuNzk2ODM2 XSBSSVA6IDAwMzM6MHg3ZjU5ZGY0MzMxNjQKWyAxOTYwLjc5Njg1NF0gQ29kZTogODkgMDIgNDgg YzcgYzAgZmYgZmYgZmYgZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgNjYgOTAg NDggOGQgMDUgODEgMzggMmQgMDAgOGIgMDAgODUgYzAgNzUgMTMgYjggMDEgMDAgMDAgMDAgMGYg MDUgPDQ4PiAzZCAwMCBmMCBmZiBmZiA3NyA1NCBjMyAwZiAxZiAwMCA0MSA1NCA0OSA4OSBkNCA1 NSA0OCA4OSBmNSA1MwpbIDE5NjAuNzk2ODg0XSBSU1A6IDAwMmI6MDAwMDdmZmQ3MGVlMmZiOCBF RkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDAxClsgMTk2MC43OTY5MDZd IFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDIgUkNYOiAwMDAwN2Y1 OWRmNDMzMTY0ClsgMTk2MC43OTY5MjZdIFJEWDogMDAwMDAwMDAwMDAwMDAwMiBSU0k6IDAwMDA1 NTc4MDg4NjQwYzAgUkRJOiAwMDAwMDAwMDAwMDAwMDAxClsgMTk2MC43OTY5NDZdIFJCUDogMDAw MDU1NzgwODg2NDBjMCBSMDg6IDAwMDA3ZjU5ZGY3MDM4YzAgUjA5OiAwMDAwN2Y1OWUwOTk1Yjgw ClsgMTk2MC43OTY5NjZdIFIxMDogMDAwMDAwMDAwMDAwMDAwYSBSMTE6IDAwMDAwMDAwMDAwMDAy NDYgUjEyOiAwMDAwN2Y1OWRmNzAyNzYwClsgMTk2MC43OTY5ODVdIFIxMzogMDAwMDAwMDAwMDAw MDAwMiBSMTQ6IDAwMDA3ZjU5ZGY2ZmQ3NjAgUjE1OiAwMDAwMDAwMDAwMDAwMDAyClsgMTk2MC43 OTcwMDhdIGlycSBldmVudCBzdGFtcDogNTA5OTkwClsgMTk2MC43OTcwMjZdIGhhcmRpcnFzIGxh c3QgIGVuYWJsZWQgYXQgKDUwOTk4OSk6IFs8ZmZmZmZmZmY4MTE5ZmY3OD5dIGZsdXNoX3dvcmsr MHg0YjgvMHg2ZDAKWyAxOTYwLjc5NzA2M10gaGFyZGlycXMgbGFzdCBkaXNhYmxlZCBhdCAoNTA5 OTkwKTogWzxmZmZmZmZmZjgyOTdjMzk1Pl0gX3Jhd19zcGluX2xvY2tfaXJxc2F2ZSsweDI1LzB4 NjAKWyAxOTYwLjc5NzA4NV0gc29mdGlycXMgbGFzdCAgZW5hYmxlZCBhdCAoNTA5NzQ0KTogWzxm ZmZmZmZmZjgyYzAwNWFkPl0gX19kb19zb2Z0aXJxKzB4NWFkLzB4OGMwClsgMTk2MC43OTcxMjFd IHNvZnRpcnFzIGxhc3QgZGlzYWJsZWQgYXQgKDUwOTczNSk6IFs8ZmZmZmZmZmY4MTE1YWExNT5d IGlycV9leGl0KzB4MWE1LzB4MWUwClsgMTk2MC43OTcxNDJdIC0tLVsgZW5kIHRyYWNlIGZiMTM0 MjMyNWYxODQ2YjggXS0tLQoKV2hpbGUgSSBoYXZlbid0IGFjdHVhbGx5IGdvbmUgaW50byB0aGUg ZGV0YWlscyBvZiB3aGF0J3MgY2F1c2luZyB0aGlzIHRvCmhhcHBlbiAobWF5YmUgdGhlIGtlcm5l bCByZW1vdmVzIHRoZSBiYWNrbGlnaHQgZGV2aWNlIGluIHRoZSBkZXZpY2UgY29yZQpiZWZvcmUg d2UgZ2V0IHRvIGl0PyksIGl0IGRvZXNuJ3QgcmVhbGx5IG1hdHRlciBhbnl3YXkgYmVjYXVzZSB0 aGUgd2F5Cm5vdXZlYXUgaGFuZGxlcyBiYWNrbGlnaHRzIGhhcyBsb25nIHNpbmNlIGJlZW4gZGVw cmVjYXRlZC4KCkFjY29yZGluZyB0byB0aGUgZG9jdW1lbnRhdGlvbiBvbiB0aGUgZHJtX2Nvbm5l Y3Rvci0+bGF0ZV9yZWdpc3RlcigpCmhvb2ssIHRoZSAtPmxhdGVfcmVnaXN0ZXIoKSBob29rIHNo b3VsZCBiZSB1c2VkIGZvciBhZGRpbmcgZXh0cmEKY29ubmVjdG9yLXJlbGF0ZWQgZGV2aWNlcy4g VmljZSB2ZXJzYSwgdGhlIC0+ZWFybHlfdW5yZWdpc3RlcigpIGhvb2sgaXMKbWVhbnQgdG8gYmUg dXNlZCBmb3IgcmVtb3ZpbmcgdGhvc2UgZGV2aWNlcy4KClNvOiBndXQgbm91dmVhdV9kcm0tPmJs X2xpc3QgYW5kIG5vdXZlYXVfZHJtLT5iYWNrbGlnaHQsIGFuZCByZXBsYWNlCnRoZW0gd2l0aCBw ZXItY29ubmVjdG9yIGJhY2tsaWdodCBzdHJ1Y3R1cmVzLiBBZGRpdGlvbmFsbHksIG1vdmUKYmFj a2xpZ2h0IHJlZ2lzdHJhdGlvbi90ZWFyZG93biBpbnRvIHRoZSAtPmxhdGVfcmVnaXN0ZXIoKSBh bmQKLT5lYXJseV91bnJlZ2lzdGVyKCkgaG9va3Mgc28gdGhhdCBEUk0gY2FuIGdpdmUgdXMgYSBj aGFuY2UgdG8gcmVtb3ZlCnRoZSBiYWNrbGlnaHQgYmVmb3JlIHRoZSBjb25uZWN0b3IgaXMgZXZl biByZW1vdmVkLiBUaGlzIGFwcGVhcnMgdG8gZml4CnRoZSBwcm9ibGVtIG9uY2UgYW5kIGZvciBh bGwuCgpDaGFuZ2VzIHNpbmNlIHYyOgotIFVzZSBOVl9JTkZPX09OQ0UgZm9yIHByaW50aW5nIEdN VVggaW5mb3JtYXRpb24sIHNpbmNlIG90aGVyd2lzZSB0aGlzCiAgd2lsbCBlbmQgdXAgcHJpbnRp bmcgdGhhdCBtZXNzYWdlIGZvciBhcyBtYW55IHRpbWVzIGFzIHdlIGhhdmUKICBjb25uZWN0b3Jz CgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgpSZXZpZXdlZC1i eTogS2Fyb2wgSGVyYnN0IDxraGVyYnN0QHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvbm91dmVhdV9iYWNrbGlnaHQuYyB8IDE1MSArKysrKysrKysrKy0tLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9jb25uZWN0b3IuYyB8ICAyMCArKysKIGRy aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfY29ubmVjdG9yLmggfCAgMzMgKysrKysKIGRy aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jICAgfCAgIDIgLQogZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmggICB8ICAyNSAtLS0tCiBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rydi5oICAgICAgIHwgICAyIC0KIDYgZmlsZXMgY2hh bmdlZCwgMTMzIGluc2VydGlvbnMoKyksIDEwMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JhY2tsaWdodC5jIGIvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbm91dmVhdV9iYWNrbGlnaHQuYwppbmRleCA2ZGQ3MmJjMzI4OTcuLjVkMDY5 NDY4MGY1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iYWNr bGlnaHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JhY2tsaWdodC5j CkBAIC0zNywxOCArMzcsMTkgQEAKICNpbmNsdWRlICJub3V2ZWF1X2Rydi5oIgogI2luY2x1ZGUg Im5vdXZlYXVfcmVnLmgiCiAjaW5jbHVkZSAibm91dmVhdV9lbmNvZGVyLmgiCisjaW5jbHVkZSAi bm91dmVhdV9jb25uZWN0b3IuaCIKIAogc3RhdGljIHN0cnVjdCBpZGEgYmxfaWRhOwogI2RlZmlu ZSBCTF9OQU1FX1NJWkUgMTUgLy8gMTIgZm9yIG5hbWUgKyAyIGZvciBkaWdpdHMgKyAxIGZvciAn XDAnCiAKLXN0cnVjdCBiYWNrbGlnaHRfY29ubmVjdG9yIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGhl YWQ7CitzdHJ1Y3Qgbm91dmVhdV9iYWNrbGlnaHQgeworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNl ICpkZXY7CiAJaW50IGlkOwogfTsKIAogc3RhdGljIGJvb2wKLW5vdXZlYXVfZ2V0X2JhY2tsaWdo dF9uYW1lKGNoYXIgYmFja2xpZ2h0X25hbWVbQkxfTkFNRV9TSVpFXSwgc3RydWN0IGJhY2tsaWdo dF9jb25uZWN0b3IKLQkJKmNvbm5lY3RvcikKK25vdXZlYXVfZ2V0X2JhY2tsaWdodF9uYW1lKGNo YXIgYmFja2xpZ2h0X25hbWVbQkxfTkFNRV9TSVpFXSwKKwkJCSAgIHN0cnVjdCBub3V2ZWF1X2Jh Y2tsaWdodCAqYmwpCiB7CiAJY29uc3QgaW50IG5iID0gaWRhX3NpbXBsZV9nZXQoJmJsX2lkYSwg MCwgMCwgR0ZQX0tFUk5FTCk7CiAJaWYgKG5iIDwgMCB8fCBuYiA+PSAxMDApCkBAIC01Nyw3ICs1 OCw3IEBAIG5vdXZlYXVfZ2V0X2JhY2tsaWdodF9uYW1lKGNoYXIgYmFja2xpZ2h0X25hbWVbQkxf TkFNRV9TSVpFXSwgc3RydWN0IGJhY2tsaWdodF9jCiAJCXNucHJpbnRmKGJhY2tsaWdodF9uYW1l LCBCTF9OQU1FX1NJWkUsICJudl9iYWNrbGlnaHQlZCIsIG5iKTsKIAllbHNlCiAJCXNucHJpbnRm KGJhY2tsaWdodF9uYW1lLCBCTF9OQU1FX1NJWkUsICJudl9iYWNrbGlnaHQiKTsKLQljb25uZWN0 b3ItPmlkID0gbmI7CisJYmwtPmlkID0gbmI7CiAJcmV0dXJuIHRydWU7CiB9CiAKQEAgLTk2LDM2 ICs5Nyw0NSBAQCBzdGF0aWMgaW50CiBudjQwX2JhY2tsaWdodF9pbml0KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3RydWN0IG5vdXZlYXVfZHJtICpkcm0gPSBub3V2ZWF1 X2RybShjb25uZWN0b3ItPmRldik7CisJc3RydWN0IG5vdXZlYXVfYmFja2xpZ2h0ICpibDsKIAlz dHJ1Y3QgbnZpZl9vYmplY3QgKmRldmljZSA9ICZkcm0tPmNsaWVudC5kZXZpY2Uub2JqZWN0Owog CXN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcyBwcm9wczsKLQlzdHJ1Y3QgYmFja2xpZ2h0X2Rl dmljZSAqYmQ7Ci0Jc3RydWN0IGJhY2tsaWdodF9jb25uZWN0b3IgYmxfY29ubmVjdG9yOwogCWNo YXIgYmFja2xpZ2h0X25hbWVbQkxfTkFNRV9TSVpFXTsKKwlpbnQgcmV0ID0gMDsKIAogCWlmICgh KG52aWZfcmQzMihkZXZpY2UsIE5WNDBfUE1DX0JBQ0tMSUdIVCkgJiBOVjQwX1BNQ19CQUNLTElH SFRfTUFTSykpCiAJCXJldHVybiAwOwogCisJYmwgPSBremFsbG9jKHNpemVvZigqYmwpLCBHRlBf S0VSTkVMKTsKKwlpZiAoIWJsKQorCQlyZXR1cm4gLUVOT01FTTsKKwogCW1lbXNldCgmcHJvcHMs IDAsIHNpemVvZihzdHJ1Y3QgYmFja2xpZ2h0X3Byb3BlcnRpZXMpKTsKIAlwcm9wcy50eXBlID0g QkFDS0xJR0hUX1JBVzsKIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IDMxOwotCWlmICghbm91dmVh dV9nZXRfYmFja2xpZ2h0X25hbWUoYmFja2xpZ2h0X25hbWUsICZibF9jb25uZWN0b3IpKSB7CisJ aWYgKCFub3V2ZWF1X2dldF9iYWNrbGlnaHRfbmFtZShiYWNrbGlnaHRfbmFtZSwgYmwpKSB7CiAJ CU5WX0VSUk9SKGRybSwgIkZhaWxlZCB0byByZXRyaWV2ZSBhIHVuaXF1ZSBuYW1lIGZvciB0aGUg YmFja2xpZ2h0IGludGVyZmFjZVxuIik7Ci0JCXJldHVybiAwOworCQlnb3RvIGZhaWxfYWxsb2M7 CiAJfQotCWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihiYWNrbGlnaHRfbmFtZSAsIGNv bm5lY3Rvci0+a2RldiwgZHJtLAotCQkJCSAgICAgICAmbnY0MF9ibF9vcHMsICZwcm9wcyk7CiAK LQlpZiAoSVNfRVJSKGJkKSkgewotCQlpZiAoYmxfY29ubmVjdG9yLmlkID49IDApCi0JCQlpZGFf c2ltcGxlX3JlbW92ZSgmYmxfaWRhLCBibF9jb25uZWN0b3IuaWQpOwotCQlyZXR1cm4gUFRSX0VS UihiZCk7CisJYmwtPmRldiA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoYmFja2xpZ2h0X25h bWUsIGNvbm5lY3Rvci0+a2RldiwKKwkJCQkJICAgIGRybSwgJm52NDBfYmxfb3BzLCAmcHJvcHMp OworCWlmIChJU19FUlIoYmwtPmRldikpIHsKKwkJaWYgKGJsLT5pZCA+PSAwKQorCQkJaWRhX3Np bXBsZV9yZW1vdmUoJmJsX2lkYSwgYmwtPmlkKTsKKworCQlyZXQgPSBQVFJfRVJSKGJsLT5kZXYp OworCQlnb3RvIGZhaWxfYWxsb2M7CiAJfQotCWxpc3RfYWRkKCZibF9jb25uZWN0b3IuaGVhZCwg JmRybS0+YmxfY29ubmVjdG9ycyk7Ci0JZHJtLT5iYWNrbGlnaHQgPSBiZDsKLQliZC0+cHJvcHMu YnJpZ2h0bmVzcyA9IG52NDBfZ2V0X2ludGVuc2l0eShiZCk7Ci0JYmFja2xpZ2h0X3VwZGF0ZV9z dGF0dXMoYmQpOworCisJbm91dmVhdV9jb25uZWN0b3IoY29ubmVjdG9yKS0+YmFja2xpZ2h0ID0g Ymw7CisJYmwtPmRldi0+cHJvcHMuYnJpZ2h0bmVzcyA9IG52NDBfZ2V0X2ludGVuc2l0eShibC0+ ZGV2KTsKKwliYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhibC0+ZGV2KTsKIAogCXJldHVybiAwOwor ZmFpbF9hbGxvYzoKKwlrZnJlZShibCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludApA QCAtMjE1LDExICsyMjUsMTEgQEAgbnY1MF9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogCXN0cnVjdCBub3V2ZWF1X2RybSAqZHJtID0gbm91dmVhdV9kcm0o Y29ubmVjdG9yLT5kZXYpOwogCXN0cnVjdCBudmlmX29iamVjdCAqZGV2aWNlID0gJmRybS0+Y2xp ZW50LmRldmljZS5vYmplY3Q7CiAJc3RydWN0IG5vdXZlYXVfZW5jb2RlciAqbnZfZW5jb2RlcjsK KwlzdHJ1Y3Qgbm91dmVhdV9iYWNrbGlnaHQgKmJsOwogCXN0cnVjdCBiYWNrbGlnaHRfcHJvcGVy dGllcyBwcm9wczsKLQlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmQ7CiAJY29uc3Qgc3RydWN0 IGJhY2tsaWdodF9vcHMgKm9wczsKLQlzdHJ1Y3QgYmFja2xpZ2h0X2Nvbm5lY3RvciBibF9jb25u ZWN0b3I7CiAJY2hhciBiYWNrbGlnaHRfbmFtZVtCTF9OQU1FX1NJWkVdOworCWludCByZXQgPSAw OwogCiAJbnZfZW5jb2RlciA9IGZpbmRfZW5jb2Rlcihjb25uZWN0b3IsIERDQl9PVVRQVVRfTFZE Uyk7CiAJaWYgKCFudl9lbmNvZGVyKSB7CkBAIC0yMzEsNiArMjQxLDEwIEBAIG52NTBfYmFja2xp Z2h0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlpZiAoIW52aWZfcmQz MihkZXZpY2UsIE5WNTBfUERJU1BfU09SX1BXTV9DVEwoZmZzKG52X2VuY29kZXItPmRjYi0+b3Ip IC0gMSkpKQogCQlyZXR1cm4gMDsKIAorCWJsID0ga3phbGxvYyhzaXplb2YoKmJsKSwgR0ZQX0tF Uk5FTCk7CisJaWYgKCFibCkKKwkJcmV0dXJuIC1FTk9NRU07CisKIAlpZiAoZHJtLT5jbGllbnQu ZGV2aWNlLmluZm8uY2hpcHNldCA8PSAweGEwIHx8CiAJICAgIGRybS0+Y2xpZW50LmRldmljZS5p bmZvLmNoaXBzZXQgPT0gMHhhYSB8fAogCSAgICBkcm0tPmNsaWVudC5kZXZpY2UuaW5mby5jaGlw c2V0ID09IDB4YWMpCkBAIC0yNDEsNzkgKzI1NSw3NCBAQCBudjUwX2JhY2tsaWdodF9pbml0KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJbWVtc2V0KCZwcm9wcywgMCwgc2l6ZW9m KHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcykpOwogCXByb3BzLnR5cGUgPSBCQUNLTElHSFRf UkFXOwogCXByb3BzLm1heF9icmlnaHRuZXNzID0gMTAwOwotCWlmICghbm91dmVhdV9nZXRfYmFj a2xpZ2h0X25hbWUoYmFja2xpZ2h0X25hbWUsICZibF9jb25uZWN0b3IpKSB7CisJaWYgKCFub3V2 ZWF1X2dldF9iYWNrbGlnaHRfbmFtZShiYWNrbGlnaHRfbmFtZSwgYmwpKSB7CiAJCU5WX0VSUk9S KGRybSwgIkZhaWxlZCB0byByZXRyaWV2ZSBhIHVuaXF1ZSBuYW1lIGZvciB0aGUgYmFja2xpZ2h0 IGludGVyZmFjZVxuIik7Ci0JCXJldHVybiAwOworCQlnb3RvIGZhaWxfYWxsb2M7CiAJfQotCWJk ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihiYWNrbGlnaHRfbmFtZSAsIGNvbm5lY3Rvci0+ a2RldiwKLQkJCQkgICAgICAgbnZfZW5jb2Rlciwgb3BzLCAmcHJvcHMpOwogCi0JaWYgKElTX0VS UihiZCkpIHsKLQkJaWYgKGJsX2Nvbm5lY3Rvci5pZCA+PSAwKQotCQkJaWRhX3NpbXBsZV9yZW1v dmUoJmJsX2lkYSwgYmxfY29ubmVjdG9yLmlkKTsKLQkJcmV0dXJuIFBUUl9FUlIoYmQpOworCWJs LT5kZXYgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGJhY2tsaWdodF9uYW1lLCBjb25uZWN0 b3ItPmtkZXYsCisJCQkJCSAgICBudl9lbmNvZGVyLCBvcHMsICZwcm9wcyk7CisJaWYgKElTX0VS UihibC0+ZGV2KSkgeworCQlpZiAoYmwtPmlkID49IDApCisJCQlpZGFfc2ltcGxlX3JlbW92ZSgm YmxfaWRhLCBibC0+aWQpOworCisJCXJldCA9IFBUUl9FUlIoYmwtPmRldik7CisJCWdvdG8gZmFp bF9hbGxvYzsKIAl9CiAKLQlsaXN0X2FkZCgmYmxfY29ubmVjdG9yLmhlYWQsICZkcm0tPmJsX2Nv bm5lY3RvcnMpOwotCWRybS0+YmFja2xpZ2h0ID0gYmQ7Ci0JYmQtPnByb3BzLmJyaWdodG5lc3Mg PSBiZC0+b3BzLT5nZXRfYnJpZ2h0bmVzcyhiZCk7Ci0JYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMo YmQpOworCW5vdXZlYXVfY29ubmVjdG9yKGNvbm5lY3RvciktPmJhY2tsaWdodCA9IGJsOworCWJs LT5kZXYtPnByb3BzLmJyaWdodG5lc3MgPSBibC0+ZGV2LT5vcHMtPmdldF9icmlnaHRuZXNzKGJs LT5kZXYpOworCWJhY2tsaWdodF91cGRhdGVfc3RhdHVzKGJsLT5kZXYpOwogCXJldHVybiAwOwor CitmYWlsX2FsbG9jOgorCWtmcmVlKGJsKTsKKwlyZXR1cm4gcmV0OwogfQogCiBpbnQKLW5vdXZl YXVfYmFja2xpZ2h0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK25vdXZlYXVfYmFja2xp Z2h0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKLQlzdHJ1Y3Qgbm91 dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJtKGRldik7CisJc3RydWN0IG5vdXZlYXVfZHJtICpk cm0gPSBub3V2ZWF1X2RybShjb25uZWN0b3ItPmRldik7CiAJc3RydWN0IG52aWZfZGV2aWNlICpk ZXZpY2UgPSAmZHJtLT5jbGllbnQuZGV2aWNlOwotCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3I7Ci0Jc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKLQotCUlO SVRfTElTVF9IRUFEKCZkcm0tPmJsX2Nvbm5lY3RvcnMpOwogCiAJaWYgKGFwcGxlX2dtdXhfcHJl c2VudCgpKSB7Ci0JCU5WX0lORk8oZHJtLCAiQXBwbGUgR01VWCBkZXRlY3RlZDogbm90IHJlZ2lz dGVyaW5nIE5vdXZlYXUgYmFja2xpZ2h0IGludGVyZmFjZVxuIik7CisJCU5WX0lORk9fT05DRShk cm0sICJBcHBsZSBHTVVYIGRldGVjdGVkOiBub3QgcmVnaXN0ZXJpbmcgTm91dmVhdSBiYWNrbGln aHQgaW50ZXJmYWNlXG4iKTsKIAkJcmV0dXJuIDA7CiAJfQogCi0JZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKLQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0 ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7Ci0JCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90 eXBlICE9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTICYmCi0JCSAgICBjb25uZWN0b3ItPmNvbm5l Y3Rvcl90eXBlICE9IERSTV9NT0RFX0NPTk5FQ1RPUl9lRFApCi0JCQljb250aW51ZTsKLQotCQlz d2l0Y2ggKGRldmljZS0+aW5mby5mYW1pbHkpIHsKLQkJY2FzZSBOVl9ERVZJQ0VfSU5GT19WMF9D VVJJRToKLQkJCXJldHVybiBudjQwX2JhY2tsaWdodF9pbml0KGNvbm5lY3Rvcik7Ci0JCWNhc2Ug TlZfREVWSUNFX0lORk9fVjBfVEVTTEE6Ci0JCWNhc2UgTlZfREVWSUNFX0lORk9fVjBfRkVSTUk6 Ci0JCWNhc2UgTlZfREVWSUNFX0lORk9fVjBfS0VQTEVSOgotCQljYXNlIE5WX0RFVklDRV9JTkZP X1YwX01BWFdFTEw6Ci0JCQlyZXR1cm4gbnY1MF9iYWNrbGlnaHRfaW5pdChjb25uZWN0b3IpOwot CQlkZWZhdWx0OgotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0JZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJf ZW5kKCZjb25uX2l0ZXIpOworCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlICE9IERSTV9N T0RFX0NPTk5FQ1RPUl9MVkRTICYmCisJICAgIGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgIT0g RFJNX01PREVfQ09OTkVDVE9SX2VEUCkKKwkJcmV0dXJuIDA7CiAKLQlyZXR1cm4gMDsKKwlzd2l0 Y2ggKGRldmljZS0+aW5mby5mYW1pbHkpIHsKKwljYXNlIE5WX0RFVklDRV9JTkZPX1YwX0NVUklF OgorCQlyZXR1cm4gbnY0MF9iYWNrbGlnaHRfaW5pdChjb25uZWN0b3IpOworCWNhc2UgTlZfREVW SUNFX0lORk9fVjBfVEVTTEE6CisJY2FzZSBOVl9ERVZJQ0VfSU5GT19WMF9GRVJNSToKKwljYXNl IE5WX0RFVklDRV9JTkZPX1YwX0tFUExFUjoKKwljYXNlIE5WX0RFVklDRV9JTkZPX1YwX01BWFdF TEw6CisJCXJldHVybiBudjUwX2JhY2tsaWdodF9pbml0KGNvbm5lY3Rvcik7CisJZGVmYXVsdDoK KwkJcmV0dXJuIDA7CisJfQogfQogCiB2b2lkCi1ub3V2ZWF1X2JhY2tsaWdodF9leGl0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCitub3V2ZWF1X2JhY2tsaWdodF9leGl0KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCiB7Ci0Jc3RydWN0IG5vdXZlYXVfZHJtICpkcm0gPSBub3V2ZWF1 X2RybShkZXYpOwotCXN0cnVjdCBiYWNrbGlnaHRfY29ubmVjdG9yICpjb25uZWN0b3I7CisJc3Ry dWN0IG5vdXZlYXVfY29ubmVjdG9yICpudl9jb25uID0gbm91dmVhdV9jb25uZWN0b3IoY29ubmVj dG9yKTsKKwlzdHJ1Y3Qgbm91dmVhdV9iYWNrbGlnaHQgKmJsID0gbnZfY29ubi0+YmFja2xpZ2h0 OwogCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShjb25uZWN0b3IsICZkcm0tPmJsX2Nvbm5lY3RvcnMs IGhlYWQpIHsKLQkJaWYgKGNvbm5lY3Rvci0+aWQgPj0gMCkKLQkJCWlkYV9zaW1wbGVfcmVtb3Zl KCZibF9pZGEsIGNvbm5lY3Rvci0+aWQpOwotCX0KKwlpZiAoIWJsKQorCQlyZXR1cm47CiAKLQlp ZiAoZHJtLT5iYWNrbGlnaHQpIHsKLQkJYmFja2xpZ2h0X2RldmljZV91bnJlZ2lzdGVyKGRybS0+ YmFja2xpZ2h0KTsKLQkJZHJtLT5iYWNrbGlnaHQgPSBOVUxMOwotCX0KKwlpZiAoYmwtPmlkID49 IDApCisJCWlkYV9zaW1wbGVfcmVtb3ZlKCZibF9pZGEsIGJsLT5pZCk7CisKKwliYWNrbGlnaHRf ZGV2aWNlX3VucmVnaXN0ZXIoYmwtPmRldik7CisJbnZfY29ubi0+YmFja2xpZ2h0ID0gTlVMTDsK KwlrZnJlZShibCk7CiB9CiAKIHZvaWQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L25vdXZlYXVfY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1 X2Nvbm5lY3Rvci5jCmluZGV4IDI0N2Y3MmNjNGQxMC4uMzVjNTM4Zjk1MTY3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfY29ubmVjdG9yLmMKQEAgLTg4Miw2ICs4ODIsMjIg QEAgbm91dmVhdV9jb25uZWN0b3JfZGV0ZWN0X2RlcHRoKHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCiAJCWNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmJwYyA9IDg7CiB9CiAKK3N0YXRp YyBpbnQKK25vdXZlYXVfY29ubmVjdG9yX2xhdGVfcmVnaXN0ZXIoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gbm91dmVhdV9iYWNrbGlnaHRf aW5pdChjb25uZWN0b3IpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQKK25vdXZl YXVfY29ubmVjdG9yX2Vhcmx5X3VucmVnaXN0ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKK3sKKwlub3V2ZWF1X2JhY2tsaWdodF9leGl0KGNvbm5lY3Rvcik7Cit9CisKIHN0YXRp YyBpbnQKIG5vdXZlYXVfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogewpAQCAtMTA2Niw2ICsxMDgyLDggQEAgbm91dmVhdV9jb25uZWN0b3JfZnVu Y3MgPSB7CiAJLmF0b21pY19kZXN0cm95X3N0YXRlID0gbm91dmVhdV9jb25uX2F0b21pY19kZXN0 cm95X3N0YXRlLAogCS5hdG9taWNfc2V0X3Byb3BlcnR5ID0gbm91dmVhdV9jb25uX2F0b21pY19z ZXRfcHJvcGVydHksCiAJLmF0b21pY19nZXRfcHJvcGVydHkgPSBub3V2ZWF1X2Nvbm5fYXRvbWlj X2dldF9wcm9wZXJ0eSwKKwkubGF0ZV9yZWdpc3RlciA9IG5vdXZlYXVfY29ubmVjdG9yX2xhdGVf cmVnaXN0ZXIsCisJLmVhcmx5X3VucmVnaXN0ZXIgPSBub3V2ZWF1X2Nvbm5lY3Rvcl9lYXJseV91 bnJlZ2lzdGVyLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNz CkBAIC0xMDgxLDYgKzEwOTksOCBAQCBub3V2ZWF1X2Nvbm5lY3Rvcl9mdW5jc19sdmRzID0gewog CS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IG5vdXZlYXVfY29ubl9hdG9taWNfZGVzdHJveV9zdGF0 ZSwKIAkuYXRvbWljX3NldF9wcm9wZXJ0eSA9IG5vdXZlYXVfY29ubl9hdG9taWNfc2V0X3Byb3Bl cnR5LAogCS5hdG9taWNfZ2V0X3Byb3BlcnR5ID0gbm91dmVhdV9jb25uX2F0b21pY19nZXRfcHJv cGVydHksCisJLmxhdGVfcmVnaXN0ZXIgPSBub3V2ZWF1X2Nvbm5lY3Rvcl9sYXRlX3JlZ2lzdGVy LAorCS5lYXJseV91bnJlZ2lzdGVyID0gbm91dmVhdV9jb25uZWN0b3JfZWFybHlfdW5yZWdpc3Rl ciwKIH07CiAKIHN0YXRpYyBpbnQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L25vdXZlYXVfY29ubmVjdG9yLmggYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Nv bm5lY3Rvci5oCmluZGV4IGRjNzQ1NGU3ZjE5YS4uYWVmYzNjYmY4MDk4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Nvbm5lY3Rvci5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfY29ubmVjdG9yLmgKQEAgLTM3LDYgKzM3LDEwIEBACiAK IHN0cnVjdCBudmttX2kyY19wb3J0OwogCisjaWZkZWYgQ09ORklHX0RSTV9OT1VWRUFVX0JBQ0tM SUdIVAorc3RydWN0IG5vdXZlYXVfYmFja2xpZ2h0OworI2VuZGlmCisKIHN0cnVjdCBub3V2ZWF1 X2Nvbm5lY3RvciB7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgYmFzZTsKIAllbnVtIGRjYl9jb25u ZWN0b3JfdHlwZSB0eXBlOwpAQCAtNTMsNiArNTcsOSBAQCBzdHJ1Y3Qgbm91dmVhdV9jb25uZWN0 b3IgewogCXN0cnVjdCBub3V2ZWF1X2VuY29kZXIgKmRldGVjdGVkX2VuY29kZXI7CiAJc3RydWN0 IGVkaWQgKmVkaWQ7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm5hdGl2ZV9tb2RlOworI2lm ZGVmIENPTkZJR19EUk1fTk9VVkVBVV9CQUNLTElHSFQKKwlzdHJ1Y3Qgbm91dmVhdV9iYWNrbGln aHQgKmJhY2tsaWdodDsKKyNlbmRpZgogfTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3Qgbm91dmVh dV9jb25uZWN0b3IgKm5vdXZlYXVfY29ubmVjdG9yKApAQCAtMTc5LDQgKzE4NiwzMCBAQCBpbnQg bm91dmVhdV9jb25uX2F0b21pY19nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKiwK IAkJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICosCiAJCQkJICAgICBz dHJ1Y3QgZHJtX3Byb3BlcnR5ICosIHU2NCAqKTsKIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpu b3V2ZWF1X2Nvbm5fbmF0aXZlX21vZGUoc3RydWN0IGRybV9jb25uZWN0b3IgKik7CisKKyNpZmRl ZiBDT05GSUdfRFJNX05PVVZFQVVfQkFDS0xJR0hUCitleHRlcm4gaW50IG5vdXZlYXVfYmFja2xp Z2h0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKik7CitleHRlcm4gdm9pZCBub3V2ZWF1X2Jh Y2tsaWdodF9leGl0KHN0cnVjdCBkcm1fY29ubmVjdG9yICopOworZXh0ZXJuIHZvaWQgbm91dmVh dV9iYWNrbGlnaHRfY3Rvcih2b2lkKTsKK2V4dGVybiB2b2lkIG5vdXZlYXVfYmFja2xpZ2h0X2R0 b3Iodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQKK25vdXZlYXVfYmFja2xpZ2h0X2lu aXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlyZXR1cm4gMDsKK30KKwor c3RhdGljIGlubGluZSB2b2lkCitub3V2ZWF1X2JhY2tsaWdodF9leGl0KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpIHsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitub3V2ZWF1X2Jh Y2tsaWdodF9jdG9yKHZvaWQpIHsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitub3V2ZWF1X2Jh Y2tsaWdodF9kdG9yKHZvaWQpIHsKK30KKyNlbmRpZgorCiAjZW5kaWYgLyogX19OT1VWRUFVX0NP Tk5FQ1RPUl9IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMK aW5kZXggNTQwYzBjYmJmY2VlLi5mMzI2ZmZkODY3NjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L25vdXZlYXVfZGlzcGxheS5jCkBAIC01ODIsNyArNTgyLDYgQEAgbm91dmVhdV9kaXNwbGF5 X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQkJZ290byB2YmxhbmtfZXJyOwogCX0K IAotCW5vdXZlYXVfYmFja2xpZ2h0X2luaXQoZGV2KTsKIAlJTklUX1dPUksoJmRybS0+aHBkX3dv cmssIG5vdXZlYXVfZGlzcGxheV9ocGRfd29yayk7CiAjaWZkZWYgQ09ORklHX0FDUEkKIAlkcm0t PmFjcGlfbmIubm90aWZpZXJfY2FsbCA9IG5vdXZlYXVfZGlzcGxheV9hY3BpX250Znk7CkBAIC02 MDcsNyArNjA2LDYgQEAgbm91dmVhdV9kaXNwbGF5X2Rlc3Ryb3koc3RydWN0IGRybV9kZXZpY2Ug KmRldikKICNpZmRlZiBDT05GSUdfQUNQSQogCXVucmVnaXN0ZXJfYWNwaV9ub3RpZmllcigmbm91 dmVhdV9kcm0oZGV2KS0+YWNwaV9uYik7CiAjZW5kaWYKLQlub3V2ZWF1X2JhY2tsaWdodF9leGl0 KGRldik7CiAJbm91dmVhdV9kaXNwbGF5X3ZibGFua19maW5pKGRldik7CiAKIAlkcm1fa21zX2hl bHBlcl9wb2xsX2ZpbmkoZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L25vdXZlYXVfZGlzcGxheS5oIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNw bGF5LmgKaW5kZXggZmY5MmI1NGNlNDQ4Li5lYjc3ZTQxYzJkNGUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5oCkBAIC04NSwzMSArODUsNiBAQCBpbnQgIG5vdXZl YXVfZGlzcGxheV9kdW1iX21hcF9vZmZzZXQoc3RydWN0IGRybV9maWxlICosIHN0cnVjdCBkcm1f ZGV2aWNlICosCiAKIHZvaWQgbm91dmVhdV9oZG1pX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2Rl ciAqLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqKTsKIAotI2lmZGVmIENPTkZJR19EUk1fTk9V VkVBVV9CQUNLTElHSFQKLWV4dGVybiBpbnQgbm91dmVhdV9iYWNrbGlnaHRfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqKTsKLWV4dGVybiB2b2lkIG5vdXZlYXVfYmFja2xpZ2h0X2V4aXQoc3RydWN0 IGRybV9kZXZpY2UgKik7Ci1leHRlcm4gdm9pZCBub3V2ZWF1X2JhY2tsaWdodF9jdG9yKHZvaWQp OwotZXh0ZXJuIHZvaWQgbm91dmVhdV9iYWNrbGlnaHRfZHRvcih2b2lkKTsKLSNlbHNlCi1zdGF0 aWMgaW5saW5lIGludAotbm91dmVhdV9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLW5vdXZlYXVfYmFj a2xpZ2h0X2V4aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikgewotfQotCi1zdGF0aWMgaW5saW5l IHZvaWQKLW5vdXZlYXVfYmFja2xpZ2h0X2N0b3Iodm9pZCkgewotfQotCi1zdGF0aWMgaW5saW5l IHZvaWQKLW5vdXZlYXVfYmFja2xpZ2h0X2R0b3Iodm9pZCkgewotfQotI2VuZGlmCi0KIHN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKgogbm91dmVhdV91c2VyX2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqLCBzdHJ1Y3QgZHJtX2ZpbGUgKiwKIAkJCQljb25zdCBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rydi5oCmluZGV4 IGQ5ZDY4NzkxNjU1My4uMGIyMTkxZmE5NmY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9ub3V2ZWF1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfZHJ2LmgKQEAgLTE5NCw4ICsxOTQsNiBAQCBzdHJ1Y3Qgbm91dmVhdV9kcm0gewogCS8qIG1v ZGVzZXR0aW5nICovCiAJc3RydWN0IG52YmlvcyB2YmlvczsKIAlzdHJ1Y3Qgbm91dmVhdV9kaXNw bGF5ICpkaXNwbGF5OwotCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiYWNrbGlnaHQ7Ci0Jc3Ry dWN0IGxpc3RfaGVhZCBibF9jb25uZWN0b3JzOwogCXN0cnVjdCB3b3JrX3N0cnVjdCBocGRfd29y azsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmJjb25fd29yazsKIAlpbnQgZmJjb25fbmV3X3N0YXRl OwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK