From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH 10/32] acpi-video: Port to new backlight interface selection API Date: Wed, 10 Jun 2015 15:01:10 +0200 Message-ID: <1433941292-21530-11-git-send-email-hdegoede@redhat.com> References: <1433941292-21530-1-git-send-email-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1433941292-21530-1-git-send-email-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Darren Hart , "Rafael J. Wysocki" Cc: Matthew Garrett , Hans de Goede , Ike Panhc , linux-acpi@vger.kernel.org, ibm-acpi-devel@lists.sourceforge.net, acpi4asus-user@lists.sourceforge.net, Henrique de Moraes Holschuh , dri-devel@lists.freedesktop.org, Azael Avalos , Lee Chun-Yi , Mattia Dongili , Cezary Jackiewicz , Ben Skeggs , Corentin Chary , =?UTF-8?q?Pali=20Roh=C3=A1r?= , platform-driver-x86@vger.kernel.org, Aaron Lu List-Id: linux-acpi@vger.kernel.org TW9zdCBvZiB0aGUgcGF0Y2ggaXMgbW92aW5nIHRoZSBkbWkgcXVpcmtzIGZvciBmb3JjaW5nIHVz ZSBvZiB0aGUKYWNwaS12aWRlbyAvIHRoZSBuYXRpdmUgYmFja2xpZ2h0IGludGVyZmFjZSB0byB2 aWRlb19kZXRlY3QuYy4KCldoYXQgcmVtYWlucyBpcyBhIG5pY2UgY2xlYW51cC4KClNpZ25lZC1v ZmYtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9h Y3BpL3ZpZGVvLmMgICAgICAgIHwgMTc4ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2FjcGkvdmlkZW9fZGV0ZWN0LmMgfCAxMzAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvYWNwaS92aWRlby5oICAgICAgICB8ICAg MiAtCiAzIGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNlcnRpb25zKCspLCAxNjkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL3ZpZGVvLmMgYi9kcml2ZXJzL2FjcGkvdmlkZW8u YwppbmRleCA2MjQ5OTY4Li4xYmJlOWIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2FjcGkvdmlkZW8u YworKysgYi9kcml2ZXJzL2FjcGkvdmlkZW8uYwpAQCAtNzgsMjAgKzc4LDYgQEAgbW9kdWxlX3Bh cmFtKGJyaWdodG5lc3Nfc3dpdGNoX2VuYWJsZWQsIGJvb2wsIDA2NDQpOwogc3RhdGljIGJvb2wg YWxsb3dfZHVwbGljYXRlczsKIG1vZHVsZV9wYXJhbShhbGxvd19kdXBsaWNhdGVzLCBib29sLCAw NjQ0KTsKIAotLyoKLSAqIEZvciBXaW5kb3dzIDggc3lzdGVtczogdXNlZCB0byBkZWNpZGUgaWYg dmlkZW8gbW9kdWxlCi0gKiBzaG91bGQgc2tpcCByZWdpc3RlcmluZyBiYWNrbGlnaHQgaW50ZXJm YWNlIG9mIGl0cyBvd24uCi0gKi8KLWVudW0gewotCU5BVElWRV9CQUNLTElHSFRfTk9UX1NFVCA9 IC0xLAotCU5BVElWRV9CQUNLTElHSFRfT0ZGLAotCU5BVElWRV9CQUNLTElHSFRfT04sCi19Owot Ci1zdGF0aWMgaW50IHVzZV9uYXRpdmVfYmFja2xpZ2h0X3BhcmFtID0gTkFUSVZFX0JBQ0tMSUdI VF9OT1RfU0VUOwotbW9kdWxlX3BhcmFtX25hbWVkKHVzZV9uYXRpdmVfYmFja2xpZ2h0LCB1c2Vf bmF0aXZlX2JhY2tsaWdodF9wYXJhbSwgaW50LCAwNDQ0KTsKLXN0YXRpYyBpbnQgdXNlX25hdGl2 ZV9iYWNrbGlnaHRfZG1pID0gTkFUSVZFX0JBQ0tMSUdIVF9OT1RfU0VUOwotCiBzdGF0aWMgaW50 IHJlZ2lzdGVyX2NvdW50Owogc3RhdGljIHN0cnVjdCBtdXRleCB2aWRlb19saXN0X2xvY2s7CiBz dGF0aWMgc3RydWN0IGxpc3RfaGVhZCB2aWRlb19idXNfaGVhZDsKQEAgLTI0MSwyNCArMjI3LDYg QEAgc3RhdGljIGludCBhY3BpX3ZpZGVvX2dldF9uZXh0X2xldmVsKHN0cnVjdCBhY3BpX3ZpZGVv X2RldmljZSAqZGV2aWNlLAogCQkJCSAgICAgdTMyIGxldmVsX2N1cnJlbnQsIHUzMiBldmVudCk7 CiBzdGF0aWMgdm9pZCBhY3BpX3ZpZGVvX3N3aXRjaF9icmlnaHRuZXNzKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yayk7CiAKLXN0YXRpYyBib29sIGFjcGlfdmlkZW9fdXNlX25hdGl2ZV9iYWNrbGln aHQodm9pZCkKLXsKLQlpZiAodXNlX25hdGl2ZV9iYWNrbGlnaHRfcGFyYW0gIT0gTkFUSVZFX0JB Q0tMSUdIVF9OT1RfU0VUKQotCQlyZXR1cm4gdXNlX25hdGl2ZV9iYWNrbGlnaHRfcGFyYW07Ci0J ZWxzZSBpZiAodXNlX25hdGl2ZV9iYWNrbGlnaHRfZG1pICE9IE5BVElWRV9CQUNLTElHSFRfTk9U X1NFVCkKLQkJcmV0dXJuIHVzZV9uYXRpdmVfYmFja2xpZ2h0X2RtaTsKLQlyZXR1cm4gYWNwaV9v c2lfaXNfd2luOCgpOwotfQotCi1ib29sIGFjcGlfdmlkZW9fdmVyaWZ5X2JhY2tsaWdodF9zdXBw b3J0KHZvaWQpCi17Ci0JaWYgKGFjcGlfdmlkZW9fdXNlX25hdGl2ZV9iYWNrbGlnaHQoKSAmJgot CSAgICBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyZWQoQkFDS0xJR0hUX1JBVykpCi0JCXJldHVy biBmYWxzZTsKLQlyZXR1cm4gYWNwaV92aWRlb19iYWNrbGlnaHRfc3VwcG9ydCgpOwotfQotRVhQ T1JUX1NZTUJPTF9HUEwoYWNwaV92aWRlb192ZXJpZnlfYmFja2xpZ2h0X3N1cHBvcnQpOwotCiAv KiBiYWNrbGlnaHQgZGV2aWNlIHN5c2ZzIHN1cHBvcnQgKi8KIHN0YXRpYyBpbnQgYWNwaV92aWRl b19nZXRfYnJpZ2h0bmVzcyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmQpCiB7CkBAIC00MTks MTggKzM4Nyw2IEBAIHN0YXRpYyBpbnQgX19pbml0IHZpZGVvX3NldF9icWNfb2Zmc2V0KGNvbnN0 IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IF9f aW5pdCB2aWRlb19kaXNhYmxlX25hdGl2ZV9iYWNrbGlnaHQoY29uc3Qgc3RydWN0IGRtaV9zeXN0 ZW1faWQgKmQpCi17Ci0JdXNlX25hdGl2ZV9iYWNrbGlnaHRfZG1pID0gTkFUSVZFX0JBQ0tMSUdI VF9PRkY7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHZpZGVvX2VuYWJsZV9u YXRpdmVfYmFja2xpZ2h0KGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQotewotCXVzZV9u YXRpdmVfYmFja2xpZ2h0X2RtaSA9IE5BVElWRV9CQUNLTElHSFRfT047Ci0JcmV0dXJuIDA7Ci19 Ci0KIHN0YXRpYyBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCB2aWRlb19kbWlfdGFibGVbXSBfX2luaXRk YXRhID0gewogCS8qCiAJICogQnJva2VuIF9CUUMgd29ya2Fyb3VuZCBodHRwOi8vYnVnemlsbGEu a2VybmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxMjEKQEAgLTQ3NSwxMjMgKzQzMSw2IEBAIHN0 YXRpYyBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCB2aWRlb19kbWlfdGFibGVbXSBfX2luaXRkYXRhID0g ewogCQlETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIkFzcGlyZSA3NzIwIiksCiAJCX0sCiAJ fSwKLQotCS8qCi0JICogVGhlc2UgbW9kZWxzIGhhdmUgYSB3b3JraW5nIGFjcGlfdmlkZW8gYmFj a2xpZ2h0IGNvbnRyb2wsIGFuZCB1c2luZwotCSAqIG5hdGl2ZSBiYWNrbGlnaHQgY2F1c2VzIGEg cmVncmVzc2lvbiB3aGVyZSBiYWNrbGlnaHQgZG9lcyBub3Qgd29yawotCSAqIHdoZW4gdXNlcnNw YWNlIGlzIG5vdCBoYW5kbGluZyBicmlnaHRuZXNzIGtleSBldmVudHMuIERpc2FibGUKLQkgKiBu YXRpdmVfYmFja2xpZ2h0IG9uIHRoZXNlIHRvIGZpeCB0aGlzOgotCSAqIGh0dHBzOi8vYnVnemls bGEua2VybmVsLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE2OTEKLQkgKi8KLQl7Ci0JIC5jYWxsYmFj ayA9IHZpZGVvX2Rpc2FibGVfbmF0aXZlX2JhY2tsaWdodCwKLQkgLmlkZW50ID0gIlRoaW5rUGFk IFQ0MjAiLAotCSAubWF0Y2hlcyA9IHsKLQkJRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiTEVO T1ZPIiksCi0JCURNSV9NQVRDSChETUlfUFJPRFVDVF9WRVJTSU9OLCAiVGhpbmtQYWQgVDQyMCIp LAotCQl9LAotCX0sCi0JewotCSAuY2FsbGJhY2sgPSB2aWRlb19kaXNhYmxlX25hdGl2ZV9iYWNr bGlnaHQsCi0JIC5pZGVudCA9ICJUaGlua1BhZCBUNTIwIiwKLQkgLm1hdGNoZXMgPSB7Ci0JCURN SV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIkxFTk9WTyIpLAotCQlETUlfTUFUQ0goRE1JX1BST0RV Q1RfVkVSU0lPTiwgIlRoaW5rUGFkIFQ1MjAiKSwKLQkJfSwKLQl9LAotCXsKLQkgLmNhbGxiYWNr ID0gdmlkZW9fZGlzYWJsZV9uYXRpdmVfYmFja2xpZ2h0LAotCSAuaWRlbnQgPSAiVGhpbmtQYWQg WDIwMXMiLAotCSAubWF0Y2hlcyA9IHsKLQkJRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiTEVO T1ZPIiksCi0JCURNSV9NQVRDSChETUlfUFJPRFVDVF9WRVJTSU9OLCAiVGhpbmtQYWQgWDIwMXMi KSwKLQkJfSwKLQl9LAotCi0JLyogVGhlIG5hdGl2ZSBiYWNrbGlnaHQgY29udHJvbHMgZG8gbm90 IHdvcmsgb24gc29tZSBvbGRlciBtYWNoaW5lcyAqLwotCXsKLQkgLyogaHR0cHM6Ly9idWdzLmZy ZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1MTUgKi8KLQkgLmNhbGxiYWNrID0gdmlk ZW9fZGlzYWJsZV9uYXRpdmVfYmFja2xpZ2h0LAotCSAuaWRlbnQgPSAiSFAgRU5WWSAxNSBOb3Rl Ym9vayIsCi0JIC5tYXRjaGVzID0gewotCQlETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJIZXds ZXR0LVBhY2thcmQiKSwKLQkJRE1JX01BVENIKERNSV9QUk9EVUNUX05BTUUsICJIUCBFTlZZIDE1 IE5vdGVib29rIFBDIiksCi0JCX0sCi0JfSwKLQotCXsKLQkgLmNhbGxiYWNrID0gdmlkZW9fZGlz YWJsZV9uYXRpdmVfYmFja2xpZ2h0LAotCSAuaWRlbnQgPSAiU0FNU1VORyA4NzBaNUUvODgwWjVF LzY4MFo1RSIsCi0JIC5tYXRjaGVzID0gewotCQlETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJT QU1TVU5HIEVMRUNUUk9OSUNTIENPLiwgTFRELiIpLAotCQlETUlfTUFUQ0goRE1JX1BST0RVQ1Rf TkFNRSwgIjg3MFo1RS84ODBaNUUvNjgwWjVFIiksCi0JCX0sCi0JfSwKLQl7Ci0JIC5jYWxsYmFj ayA9IHZpZGVvX2Rpc2FibGVfbmF0aXZlX2JhY2tsaWdodCwKLQkgLmlkZW50ID0gIlNBTVNVTkcg MzcwUjRFLzM3MFI0Vi8zNzBSNUUvMzU3MFJFLzM3MFI1ViIsCi0JIC5tYXRjaGVzID0gewotCQlE TUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJTQU1TVU5HIEVMRUNUUk9OSUNTIENPLiwgTFRELiIp LAotCQlETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIjM3MFI0RS8zNzBSNFYvMzcwUjVFLzM1 NzBSRS8zNzBSNVYiKSwKLQkJfSwKLQl9LAotCXsKLQkgLyogaHR0cHM6Ly9idWd6aWxsYS5yZWRo YXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMTg2MDk3ICovCi0JIC5jYWxsYmFjayA9IHZpZGVvX2Rp c2FibGVfbmF0aXZlX2JhY2tsaWdodCwKLQkgLmlkZW50ID0gIlNBTVNVTkcgMzU3MFIvMzcwUi80 NzBSLzQ1MFIvNTEwUi80NDUwUlYiLAotCSAubWF0Y2hlcyA9IHsKLQkJRE1JX01BVENIKERNSV9T WVNfVkVORE9SLCAiU0FNU1VORyBFTEVDVFJPTklDUyBDTy4sIExURC4iKSwKLQkJRE1JX01BVENI KERNSV9QUk9EVUNUX05BTUUsICIzNTcwUi8zNzBSLzQ3MFIvNDUwUi81MTBSLzQ0NTBSViIpLAot CQl9LAotCX0sCi0JewotCSAvKiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcu Y2dpP2lkPTEwOTQ5NDggKi8KLQkgLmNhbGxiYWNrID0gdmlkZW9fZGlzYWJsZV9uYXRpdmVfYmFj a2xpZ2h0LAotCSAuaWRlbnQgPSAiU0FNU1VORyA3MzBVM0UvNzQwVTNFIiwKLQkgLm1hdGNoZXMg PSB7Ci0JCURNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlNBTVNVTkcgRUxFQ1RST05JQ1MgQ08u LCBMVEQuIiksCi0JCURNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiNzMwVTNFLzc0MFUzRSIp LAotCQl9LAotCX0sCi0JewotCSAvKiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3df YnVnLmNnaT9pZD04NzI4NiAqLwotCSAuY2FsbGJhY2sgPSB2aWRlb19kaXNhYmxlX25hdGl2ZV9i YWNrbGlnaHQsCi0JIC5pZGVudCA9ICJTQU1TVU5HIDkwMFgzQy85MDBYM0QvOTAwWDNFLzkwMFg0 Qy85MDBYNEQiLAotCSAubWF0Y2hlcyA9IHsKLQkJRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAi U0FNU1VORyBFTEVDVFJPTklDUyBDTy4sIExURC4iKSwKLQkJRE1JX01BVENIKERNSV9QUk9EVUNU X05BTUUsICI5MDBYM0MvOTAwWDNELzkwMFgzRS85MDBYNEMvOTAwWDREIiksCi0JCX0sCi0JfSwK LQotCXsKLQkgLyogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0x MTYzNTc0ICovCi0JIC5jYWxsYmFjayA9IHZpZGVvX2Rpc2FibGVfbmF0aXZlX2JhY2tsaWdodCwK LQkgLmlkZW50ID0gIkRlbGwgWFBTMTUgTDUyMVgiLAotCSAubWF0Y2hlcyA9IHsKLQkJRE1JX01B VENIKERNSV9TWVNfVkVORE9SLCAiRGVsbCBJbmMuIiksCi0JCURNSV9NQVRDSChETUlfUFJPRFVD VF9OQU1FLCAiWFBTIEw1MjFYIiksCi0JCX0sCi0JfSwKLQotCS8qIE5vbiB3aW44IG1hY2hpbmVz IHdoaWNoIG5lZWQgbmF0aXZlIGJhY2tsaWdodCBuZXZlcnRoZWxlc3MgKi8KLQl7Ci0JIC8qIGh0 dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTE4NzAwNCAqLwotCSAu Y2FsbGJhY2sgPSB2aWRlb19lbmFibGVfbmF0aXZlX2JhY2tsaWdodCwKLQkgLmlkZW50ID0gIkxl bm92byBJZGVhcGFkIFo1NzAiLAotCSAubWF0Y2hlcyA9IHsKLQkJRE1JX01BVENIKERNSV9TWVNf VkVORE9SLCAiTEVOT1ZPIiksCi0JCURNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiMTAyNDM0 VSIpLAotCQl9LAotCX0sCi0JewotCSAvKiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hv d19idWcuY2dpP2lkPTEyMTcyNDkgKi8KLQkgLmNhbGxiYWNrID0gdmlkZW9fZW5hYmxlX25hdGl2 ZV9iYWNrbGlnaHQsCi0JIC5pZGVudCA9ICJBcHBsZSBNYWNCb29rIFBybyAxMiwxIiwKLQkgLm1h dGNoZXMgPSB7Ci0JCURNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIkFwcGxlIEluYy4iKSwKLQkJ RE1JX01BVENIKERNSV9QUk9EVUNUX05BTUUsICJNYWNCb29rUHJvMTIsMSIpLAotCQl9LAotCX0s CiAJe30KIH07CiAKQEAgLTEzOTEsNyArMTIzMCw3IEBAIGFjcGlfdmlkZW9fc3dpdGNoX2JyaWdo dG5lc3Moc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCWludCByZXN1bHQgPSAtRUlOVkFMOwog CiAJLyogbm8gd2FybmluZyBtZXNzYWdlIGlmIGFjcGlfYmFja2xpZ2h0PXZlbmRvciBvciBhIHF1 aXJrIGlzIHVzZWQgKi8KLQlpZiAoIWFjcGlfdmlkZW9fdmVyaWZ5X2JhY2tsaWdodF9zdXBwb3J0 KCkpCisJaWYgKCFkZXZpY2UtPmJhY2tsaWdodCkKIAkJcmV0dXJuOwogCiAJaWYgKCFkZXZpY2Ut PmJyaWdodG5lc3MpCkBAIC0xNzM4LDggKzE1NzcsMTAgQEAgc3RhdGljIHZvaWQgYWNwaV92aWRl b19kZXZfcmVnaXN0ZXJfYmFja2xpZ2h0KHN0cnVjdCBhY3BpX3ZpZGVvX2RldmljZSAqZGV2aWNl KQogCQkJCQkJICAgICAgJmFjcGlfYmFja2xpZ2h0X29wcywKIAkJCQkJCSAgICAgICZwcm9wcyk7 CiAJa2ZyZWUobmFtZSk7Ci0JaWYgKElTX0VSUihkZXZpY2UtPmJhY2tsaWdodCkpCisJaWYgKElT X0VSUihkZXZpY2UtPmJhY2tsaWdodCkpIHsKKwkJZGV2aWNlLT5iYWNrbGlnaHQgPSBOVUxMOwog CQlyZXR1cm47CisJfQogCiAJLyoKIAkgKiBTYXZlIGN1cnJlbnQgYnJpZ2h0bmVzcyBsZXZlbCBp biBjYXNlIHdlIGhhdmUgdG8gcmVzdG9yZSBpdApAQCAtMTc5Niw3ICsxNjM3LDcgQEAgc3RhdGlj IGludCBhY3BpX3ZpZGVvX2J1c19yZWdpc3Rlcl9iYWNrbGlnaHQoc3RydWN0IGFjcGlfdmlkZW9f YnVzICp2aWRlbykKIAogCWFjcGlfdmlkZW9fcnVuX2JjbF9mb3Jfb3NpKHZpZGVvKTsKIAotCWlm ICghYWNwaV92aWRlb192ZXJpZnlfYmFja2xpZ2h0X3N1cHBvcnQoKSkKKwlpZiAoYWNwaV92aWRl b19nZXRfYmFja2xpZ2h0X3R5cGUoKSAhPSBhY3BpX2JhY2tsaWdodF92aWRlbykKIAkJcmV0dXJu IDA7CiAKIAltdXRleF9sb2NrKCZ2aWRlby0+ZGV2aWNlX2xpc3RfbG9jayk7CkBAIC0xOTQ1LDIw ICsxNzg2LDIzIEBAIHN0YXRpYyBpbnQgYWNwaV92aWRlb19iYWNrbGlnaHRfbm90aWZ5KHN0cnVj dCBub3RpZmllcl9ibG9jayAqbmIsCiB7CiAJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJhY2ts aWdodCA9IGJkOwogCXN0cnVjdCBhY3BpX3ZpZGVvX2J1cyAqdmlkZW87CisJZW51bSBhY3BpX2Jh Y2tsaWdodF90eXBlIHR5cGU7CiAKLQkvKiBhY3BpX3ZpZGVvX3ZlcmlmeV9iYWNrbGlnaHRfc3Vw cG9ydCBvbmx5IGNhcmVzIGFib3V0IHJhdyBkZXZpY2VzICovCisJLyogQSByYXcgYmwgKHVuKXJl Z2lzdGVyaW5nIG1heSBjaGFuZ2UgbmF0aXZlIDwtPiB2aWRlbyAqLwogCWlmIChiYWNrbGlnaHQt PnByb3BzLnR5cGUgIT0gQkFDS0xJR0hUX1JBVykKIAkJcmV0dXJuIE5PVElGWV9ET05FOwogCiAJ dmlkZW8gPSBjb250YWluZXJfb2YobmIsIHN0cnVjdCBhY3BpX3ZpZGVvX2J1cywgYmFja2xpZ2h0 X25iKTsKKwl0eXBlID0gYWNwaV92aWRlb19nZXRfYmFja2xpZ2h0X3R5cGUoKTsKIAogCXN3aXRj aCAodmFsKSB7CiAJY2FzZSBCQUNLTElHSFRfUkVHSVNURVJFRDoKLQkJaWYgKCFhY3BpX3ZpZGVv X3ZlcmlmeV9iYWNrbGlnaHRfc3VwcG9ydCgpKQorCQlpZiAodHlwZSAhPSBhY3BpX2JhY2tsaWdo dF92aWRlbykKIAkJCWFjcGlfdmlkZW9fYnVzX3VucmVnaXN0ZXJfYmFja2xpZ2h0KHZpZGVvKTsK IAkJYnJlYWs7CiAJY2FzZSBCQUNLTElHSFRfVU5SRUdJU1RFUkVEOgotCQlhY3BpX3ZpZGVvX2J1 c19yZWdpc3Rlcl9iYWNrbGlnaHQodmlkZW8pOworCQlpZiAodHlwZSA9PSBhY3BpX2JhY2tsaWdo dF92aWRlbykKKwkJCWFjcGlfdmlkZW9fYnVzX3JlZ2lzdGVyX2JhY2tsaWdodCh2aWRlbyk7CiAJ CWJyZWFrOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL3ZpZGVvX2RldGVjdC5jIGIv ZHJpdmVycy9hY3BpL3ZpZGVvX2RldGVjdC5jCmluZGV4IDk4MzY4Y2YuLmM2YjU5NTEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvYWNwaS92aWRlb19kZXRlY3QuYworKysgYi9kcml2ZXJzL2FjcGkvdmlk ZW9fZGV0ZWN0LmMKQEAgLTg4LDYgKzg4LDE4IEBAIHN0YXRpYyBpbnQgdmlkZW9fZGV0ZWN0X2Zv cmNlX3ZlbmRvcihjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZCkKIAlyZXR1cm4gMDsKIH0K IAorc3RhdGljIGludCB2aWRlb19kZXRlY3RfZm9yY2VfdmlkZW8oY29uc3Qgc3RydWN0IGRtaV9z eXN0ZW1faWQgKmQpCit7CisJYWNwaV9iYWNrbGlnaHRfZG1pID0gYWNwaV9iYWNrbGlnaHRfdmlk ZW87CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmlkZW9fZGV0ZWN0X2ZvcmNlX25hdGl2 ZShjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZCkKK3sKKwlhY3BpX2JhY2tsaWdodF9kbWkg PSBhY3BpX2JhY2tsaWdodF9uYXRpdmU7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBzdHJ1Y3Qg ZG1pX3N5c3RlbV9pZCB2aWRlb19kZXRlY3RfZG1pX3RhYmxlW10gPSB7CiAJLyogT24gU2Ftc3Vu ZyBYMzYwLCB0aGUgQklPUyB3aWxsIHNldCBhIGZsYWcgKFZEUlYpIGlmIGdlbmVyaWMKIAkgKiBB Q1BJIGJhY2tsaWdodCBkZXZpY2UgaXMgdXNlZC4gVGhpcyBmbGFnIHdpbGwgZGVmaW5pdGl2ZWx5 IGJyZWFrCkBAIC0xMjgsNiArMTQwLDEyNCBAQCBzdGF0aWMgc3RydWN0IGRtaV9zeXN0ZW1faWQg dmlkZW9fZGV0ZWN0X2RtaV90YWJsZVtdID0gewogCQlETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFN RSwgIkluc3Bpcm9uIDU3MzciKSwKIAkJfSwKIAl9LAorCisJLyoKKwkgKiBUaGVzZSBtb2RlbHMg aGF2ZSBhIHdvcmtpbmcgYWNwaV92aWRlbyBiYWNrbGlnaHQgY29udHJvbCwgYW5kIHVzaW5nCisJ ICogbmF0aXZlIGJhY2tsaWdodCBjYXVzZXMgYSByZWdyZXNzaW9uIHdoZXJlIGJhY2tsaWdodCBk b2VzIG5vdCB3b3JrCisJICogd2hlbiB1c2Vyc3BhY2UgaXMgbm90IGhhbmRsaW5nIGJyaWdodG5l c3Mga2V5IGV2ZW50cy4gRGlzYWJsZQorCSAqIG5hdGl2ZV9iYWNrbGlnaHQgb24gdGhlc2UgdG8g Zml4IHRoaXM6CisJICogaHR0cHM6Ly9idWd6aWxsYS5rZXJuZWwub3JnL3Nob3dfYnVnLmNnaT9p ZD04MTY5MQorCSAqLworCXsKKwkgLmNhbGxiYWNrID0gdmlkZW9fZGV0ZWN0X2ZvcmNlX3ZpZGVv LAorCSAuaWRlbnQgPSAiVGhpbmtQYWQgVDQyMCIsCisJIC5tYXRjaGVzID0geworCQlETUlfTUFU Q0goRE1JX1NZU19WRU5ET1IsICJMRU5PVk8iKSwKKwkJRE1JX01BVENIKERNSV9QUk9EVUNUX1ZF UlNJT04sICJUaGlua1BhZCBUNDIwIiksCisJCX0sCisJfSwKKwl7CisJIC5jYWxsYmFjayA9IHZp ZGVvX2RldGVjdF9mb3JjZV92aWRlbywKKwkgLmlkZW50ID0gIlRoaW5rUGFkIFQ1MjAiLAorCSAu bWF0Y2hlcyA9IHsKKwkJRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiTEVOT1ZPIiksCisJCURN SV9NQVRDSChETUlfUFJPRFVDVF9WRVJTSU9OLCAiVGhpbmtQYWQgVDUyMCIpLAorCQl9LAorCX0s CisJeworCSAuY2FsbGJhY2sgPSB2aWRlb19kZXRlY3RfZm9yY2VfdmlkZW8sCisJIC5pZGVudCA9 ICJUaGlua1BhZCBYMjAxcyIsCisJIC5tYXRjaGVzID0geworCQlETUlfTUFUQ0goRE1JX1NZU19W RU5ET1IsICJMRU5PVk8iKSwKKwkJRE1JX01BVENIKERNSV9QUk9EVUNUX1ZFUlNJT04sICJUaGlu a1BhZCBYMjAxcyIpLAorCQl9LAorCX0sCisKKwkvKiBUaGUgbmF0aXZlIGJhY2tsaWdodCBjb250 cm9scyBkbyBub3Qgd29yayBvbiBzb21lIG9sZGVyIG1hY2hpbmVzICovCisJeworCSAvKiBodHRw czovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD04MTUxNSAqLworCSAuY2Fs bGJhY2sgPSB2aWRlb19kZXRlY3RfZm9yY2VfdmlkZW8sCisJIC5pZGVudCA9ICJIUCBFTlZZIDE1 IE5vdGVib29rIiwKKwkgLm1hdGNoZXMgPSB7CisJCURNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwg Ikhld2xldHQtUGFja2FyZCIpLAorCQlETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIkhQIEVO VlkgMTUgTm90ZWJvb2sgUEMiKSwKKwkJfSwKKwl9LAorCXsKKwkgLmNhbGxiYWNrID0gdmlkZW9f ZGV0ZWN0X2ZvcmNlX3ZpZGVvLAorCSAuaWRlbnQgPSAiU0FNU1VORyA4NzBaNUUvODgwWjVFLzY4 MFo1RSIsCisJIC5tYXRjaGVzID0geworCQlETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJTQU1T VU5HIEVMRUNUUk9OSUNTIENPLiwgTFRELiIpLAorCQlETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFN RSwgIjg3MFo1RS84ODBaNUUvNjgwWjVFIiksCisJCX0sCisJfSwKKwl7CisJIC5jYWxsYmFjayA9 IHZpZGVvX2RldGVjdF9mb3JjZV92aWRlbywKKwkgLmlkZW50ID0gIlNBTVNVTkcgMzcwUjRFLzM3 MFI0Vi8zNzBSNUUvMzU3MFJFLzM3MFI1ViIsCisJIC5tYXRjaGVzID0geworCQlETUlfTUFUQ0go RE1JX1NZU19WRU5ET1IsICJTQU1TVU5HIEVMRUNUUk9OSUNTIENPLiwgTFRELiIpLAorCQlETUlf TUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwKKwkJCSAgIjM3MFI0RS8zNzBSNFYvMzcwUjVFLzM1NzBS RS8zNzBSNVYiKSwKKwkJfSwKKwl9LAorCXsKKwkgLyogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQu Y29tL3Nob3dfYnVnLmNnaT9pZD0xMTg2MDk3ICovCisJIC5jYWxsYmFjayA9IHZpZGVvX2RldGVj dF9mb3JjZV92aWRlbywKKwkgLmlkZW50ID0gIlNBTVNVTkcgMzU3MFIvMzcwUi80NzBSLzQ1MFIv NTEwUi80NDUwUlYiLAorCSAubWF0Y2hlcyA9IHsKKwkJRE1JX01BVENIKERNSV9TWVNfVkVORE9S LCAiU0FNU1VORyBFTEVDVFJPTklDUyBDTy4sIExURC4iKSwKKwkJRE1JX01BVENIKERNSV9QUk9E VUNUX05BTUUsCisJCQkgICIzNTcwUi8zNzBSLzQ3MFIvNDUwUi81MTBSLzQ0NTBSViIpLAorCQl9 LAorCX0sCisJeworCSAvKiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dp P2lkPTEwOTQ5NDggKi8KKwkgLmNhbGxiYWNrID0gdmlkZW9fZGV0ZWN0X2ZvcmNlX3ZpZGVvLAor CSAuaWRlbnQgPSAiU0FNU1VORyA3MzBVM0UvNzQwVTNFIiwKKwkgLm1hdGNoZXMgPSB7CisJCURN SV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlNBTVNVTkcgRUxFQ1RST05JQ1MgQ08uLCBMVEQuIiks CisJCURNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiNzMwVTNFLzc0MFUzRSIpLAorCQl9LAor CX0sCisJeworCSAvKiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9p ZD04NzI4NiAqLworCSAuY2FsbGJhY2sgPSB2aWRlb19kZXRlY3RfZm9yY2VfdmlkZW8sCisJIC5p ZGVudCA9ICJTQU1TVU5HIDkwMFgzQy85MDBYM0QvOTAwWDNFLzkwMFg0Qy85MDBYNEQiLAorCSAu bWF0Y2hlcyA9IHsKKwkJRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiU0FNU1VORyBFTEVDVFJP TklDUyBDTy4sIExURC4iKSwKKwkJRE1JX01BVENIKERNSV9QUk9EVUNUX05BTUUsCisJCQkgICI5 MDBYM0MvOTAwWDNELzkwMFgzRS85MDBYNEMvOTAwWDREIiksCisJCX0sCisJfSwKKwl7CisJIC8q IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTE2MzU3NCAqLwor CSAuY2FsbGJhY2sgPSB2aWRlb19kZXRlY3RfZm9yY2VfdmlkZW8sCisJIC5pZGVudCA9ICJEZWxs IFhQUzE1IEw1MjFYIiwKKwkgLm1hdGNoZXMgPSB7CisJCURNSV9NQVRDSChETUlfU1lTX1ZFTkRP UiwgIkRlbGwgSW5jLiIpLAorCQlETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIlhQUyBMNTIx WCIpLAorCQl9LAorCX0sCisKKwkvKiBOb24gd2luOCBtYWNoaW5lcyB3aGljaCBuZWVkIG5hdGl2 ZSBiYWNrbGlnaHQgbmV2ZXJ0aGVsZXNzICovCisJeworCSAvKiBodHRwczovL2J1Z3ppbGxhLnJl ZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTExODcwMDQgKi8KKwkgLmNhbGxiYWNrID0gdmlkZW9f ZGV0ZWN0X2ZvcmNlX25hdGl2ZSwKKwkgLmlkZW50ID0gIkxlbm92byBJZGVhcGFkIFo1NzAiLAor CSAubWF0Y2hlcyA9IHsKKwkJRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiTEVOT1ZPIiksCisJ CURNSV9NQVRDSChETUlfUFJPRFVDVF9OQU1FLCAiMTAyNDM0VSIpLAorCQl9LAorCX0sCisJewor CSAvKiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEyMTcyNDkg Ki8KKwkgLmNhbGxiYWNrID0gdmlkZW9fZGV0ZWN0X2ZvcmNlX25hdGl2ZSwKKwkgLmlkZW50ID0g IkFwcGxlIE1hY0Jvb2sgUHJvIDEyLDEiLAorCSAubWF0Y2hlcyA9IHsKKwkJRE1JX01BVENIKERN SV9TWVNfVkVORE9SLCAiQXBwbGUgSW5jLiIpLAorCQlETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFN RSwgIk1hY0Jvb2tQcm8xMiwxIiksCisJCX0sCisJfSwKIAl7IH0sCiB9OwogCmRpZmYgLS1naXQg YS9pbmNsdWRlL2FjcGkvdmlkZW8uaCBiL2luY2x1ZGUvYWNwaS92aWRlby5oCmluZGV4IDAxYjVj YzcuLjQ3YzdhZDYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYWNwaS92aWRlby5oCisrKyBiL2luY2x1 ZGUvYWNwaS92aWRlby5oCkBAIC0zMCw3ICszMCw2IEBAIGV4dGVybiB2b2lkIGFjcGlfdmlkZW9f dW5yZWdpc3Rlcih2b2lkKTsKIGV4dGVybiB2b2lkIGFjcGlfdmlkZW9fdW5yZWdpc3Rlcl9iYWNr bGlnaHQodm9pZCk7CiBleHRlcm4gaW50IGFjcGlfdmlkZW9fZ2V0X2VkaWQoc3RydWN0IGFjcGlf ZGV2aWNlICpkZXZpY2UsIGludCB0eXBlLAogCQkJICAgICAgIGludCBkZXZpY2VfaWQsIHZvaWQg KiplZGlkKTsKLWV4dGVybiBib29sIGFjcGlfdmlkZW9fdmVyaWZ5X2JhY2tsaWdodF9zdXBwb3J0 KHZvaWQpOwogZXh0ZXJuIGVudW0gYWNwaV9iYWNrbGlnaHRfdHlwZSBhY3BpX3ZpZGVvX2dldF9i YWNrbGlnaHRfdHlwZSh2b2lkKTsKIGV4dGVybiB2b2lkIGFjcGlfdmlkZW9fc2V0X2RtaV9iYWNr bGlnaHRfdHlwZShlbnVtIGFjcGlfYmFja2xpZ2h0X3R5cGUgdHlwZSk7CiAjZWxzZQpAQCAtNDIs NyArNDEsNiBAQCBzdGF0aWMgaW5saW5lIGludCBhY3BpX3ZpZGVvX2dldF9lZGlkKHN0cnVjdCBh Y3BpX2RldmljZSAqZGV2aWNlLCBpbnQgdHlwZSwKIHsKIAlyZXR1cm4gLUVOT0RFVjsKIH0KLXN0 YXRpYyBpbmxpbmUgYm9vbCBhY3BpX3ZpZGVvX3ZlcmlmeV9iYWNrbGlnaHRfc3VwcG9ydCh2b2lk KSB7IHJldHVybiBmYWxzZTsgfQogc3RhdGljIGlubGluZSBlbnVtIGFjcGlfYmFja2xpZ2h0X3R5 cGUgYWNwaV92aWRlb19nZXRfYmFja2xpZ2h0X3R5cGUodm9pZCkKIHsKIAlyZXR1cm4gYWNwaV9i YWNrbGlnaHRfdmVuZG9yOwotLSAKMi40LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==