Received: by 2002:a25:d783:0:0:0:0:0 with SMTP id o125csp456880ybg; Thu, 19 Mar 2020 02:56:20 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuSbg3vObHIZBoMYUnMnbZ+RVKQ7DnXcLLaMPwBeGe8opVlR22loJ9er171EMJkQXFwU0GS X-Received: by 2002:aca:c28b:: with SMTP id s133mr1746114oif.36.1584611780805; Thu, 19 Mar 2020 02:56:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584611780; cv=none; d=google.com; s=arc-20160816; b=ZSj9a1Bz4c0CYI4cSg/CmT5X5aof5RgHluIdQopcRkUrFjFQTzKVc6eTbH61OdBPqK aPLU7hV+gcxDFaF95FMpoHHgFIbYX/tbxbDU8fOzAMDfjs2Y6OBwcOIJHdeE3GpoB+++ xZ0449H4X17PnHZDd86vudlRMIcBR9DV/aCtRIaGB3DFIUmPVAoegXoB7/EdMvrcGXjw mILIq3yU2TKzqMCh2yj4UcluzL9wAuRysUq1uBmg/oR8W759eJCAcxyZelbe2VA0n6jx 54jfQOI4/bfPCZyymfyutdOMZ3AoC2y1MOUqLVdymrtGMyRpcnsv7vq2/SgJUyNVFp72 u1PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=zswPWHVhfJ7nFxwbL6xqlaMcZR4nTaQJcaTzmyhFPTc=; b=n0h5ixPyKfUTFBkjg6vlOstLkd3hBAQhPcXU9O0aTx9txfd41s1pULMxa0x6wsIJAI dRgX+PcpSAZZPmghvlMYJAKaGBSRHXxw1UBRymcH8M+XguMpHNSGoRAzPq4GtUwO7v4W NBGwsQOs6DU842Xyw0Ip0gO4penFOA4N7yYrf3XaQEIsRIlODJ0S3EOUsUHDYHo+dy/m sqCvrlE1rG6nUOCmuu/Gic04m278HpBOG2MwZK1DTe/69dUmG04Fky0ja9hZD+KZ3BPu L6I5vmlmTnXjdZIOca+IXkjisBRabnM8tloM+MY8gaOzGJ0lXD4WjMVguU7ekm24q9oI 8TCw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=ZjaJSZo3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r3si1024316otc.58.2020.03.19.02.56.08; Thu, 19 Mar 2020 02:56:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=ZjaJSZo3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726976AbgCSJzn (ORCPT + 99 others); Thu, 19 Mar 2020 05:55:43 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:38095 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726947AbgCSJzn (ORCPT ); Thu, 19 Mar 2020 05:55:43 -0400 X-UUID: 352ffa48735a419aabc62a08f8e35bd8-20200319 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=zswPWHVhfJ7nFxwbL6xqlaMcZR4nTaQJcaTzmyhFPTc=; b=ZjaJSZo3V3aNLimFvEgisilL7c8vH3E7rYzeFCfl+HWDFIXc8T/4aqS3qLM7H4bI6d+/zwo3QRckbHjB6H5ZlfkfNSuYPQehqhLRHyuOQRZS5rbjaQ7YA0kexk2b7GELLfQNxvOe4JoFCf5Xq5n6CE49KD9707BUO/+zCQtiJyw=; X-UUID: 352ffa48735a419aabc62a08f8e35bd8-20200319 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 638879852; Thu, 19 Mar 2020 17:55:37 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 19 Mar 2020 17:54:28 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 19 Mar 2020 17:52:32 +0800 From: Henry Yen To: Zhang Rui , Daniel Lezcano , Amit Kucheria , Matthias Brugger CC: , , , , Steven Liu , Henry Yen , Michael Kao Subject: [PATCH 1/2] thermal: mediatek: prepare to add support for other platforms Date: Thu, 19 Mar 2020 17:54:52 +0800 Message-ID: <1584611693-3553-2-git-send-email-henry.yen@mediatek.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1584611693-3553-1-git-send-email-henry.yen@mediatek.com> References: <1584611693-3553-1-git-send-email-henry.yen@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SXQgaXMga25vd24gdGhhdCBNZWRpYXRlayBvd25zIHR3byB0aGVybWFsIHN5c3RlbSwgd2hpY2gg ZGlmZmVycw0KaW4gdGhlIHdheSBvZiByZWFkaW5nIGNhbGlicmF0aW9uIGRhdGEgYW5kIGNvbnZl cnRpbmcgdGVtcGVyYXR1cmUuDQpNVDgxNzMsIE1UMjcwMSwgTVQyNzEyIGFuZCBNVDgxODMgYmVs b25ncyB0byB2ZXJzaW9uIDEgdGhlcm1hbA0Kc3lzdGVtLCBhbmQgTVQ3NjIyIGJlbG9uZ3MgdG8g dmVyc2lvbiAyIHRoZXJtYWwgc3lzdGVtLg0KRm9yIHBsYXRmb3JtIGNvbXBhdGliaWxpdHksIHdl IGFkZCB0d28gc2Vuc29yIG9wcyAoZXh0cmFjdCBhbmQNCmNvbnZlcnQpIHRvIHRoZSB0aGVybWFs IGRhdGEgc3RydWN0dXJlLiBFYWNoIHBsYXRmb3JtIHdpbGwgcmVnaXN0ZXINCnRoZSBzZW5zb3Ig b3BzIHRvIHRoZSBwcm9wZXIgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gYWNjb3JkaW5nIHRvDQpp dHMgdmVyc2lvbi4NCg0KU2lnbmVkLW9mZi1ieTogSGVucnkgWWVuIDxoZW5yeS55ZW5AbWVkaWF0 ZWsuY29tPg0KLS0tDQogZHJpdmVycy90aGVybWFsL210a190aGVybWFsLmMgfCAxNDggKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCA5MyBpbnNlcnRp b25zKCspLCA1NSBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGhlcm1hbC9t dGtfdGhlcm1hbC5jIGIvZHJpdmVycy90aGVybWFsL210a190aGVybWFsLmMNCmluZGV4IDc2ZTMw NjAzZDRkNS4uMTNlMTdjMzFiYTNiIDEwMDY0NA0KLS0tIGEvZHJpdmVycy90aGVybWFsL210a190 aGVybWFsLmMNCisrKyBiL2RyaXZlcnMvdGhlcm1hbC9tdGtfdGhlcm1hbC5jDQpAQCAtMTIwLDE4 ICsxMjAsMTggQEANCiAgKiBNVDI3MDEgaGFzIDMgc2Vuc29ycyBhbmQgbmVlZHMgMyBWVFMgY2Fs aWJyYXRpb24gZGF0YS4NCiAgKiBNVDI3MTIgaGFzIDQgc2Vuc29ycyBhbmQgbmVlZHMgNCBWVFMg Y2FsaWJyYXRpb24gZGF0YS4NCiAgKi8NCi0jZGVmaW5lIENBTElCX0JVRjBfVkFMSUQJCUJJVCgw KQ0KLSNkZWZpbmUgQ0FMSUJfQlVGMV9BRENfR0UoeCkJCSgoKHgpID4+IDIyKSAmIDB4M2ZmKQ0K LSNkZWZpbmUgQ0FMSUJfQlVGMF9WVFNfVFMxKHgpCQkoKCh4KSA+PiAxNykgJiAweDFmZikNCi0j ZGVmaW5lIENBTElCX0JVRjBfVlRTX1RTMih4KQkJKCgoeCkgPj4gOCkgJiAweDFmZikNCi0jZGVm aW5lIENBTElCX0JVRjFfVlRTX1RTMyh4KQkJKCgoeCkgPj4gMCkgJiAweDFmZikNCi0jZGVmaW5l IENBTElCX0JVRjJfVlRTX1RTNCh4KQkJKCgoeCkgPj4gMjMpICYgMHgxZmYpDQotI2RlZmluZSBD QUxJQl9CVUYyX1ZUU19UUzUoeCkJCSgoKHgpID4+IDUpICYgMHgxZmYpDQotI2RlZmluZSBDQUxJ Ql9CVUYyX1ZUU19UU0FCQih4KQkJKCgoeCkgPj4gMTQpICYgMHgxZmYpDQotI2RlZmluZSBDQUxJ Ql9CVUYwX0RFR0NfQ0FMSSh4KQkJKCgoeCkgPj4gMSkgJiAweDNmKQ0KLSNkZWZpbmUgQ0FMSUJf QlVGMF9PX1NMT1BFKHgpCQkoKCh4KSA+PiAyNikgJiAweDNmKQ0KLSNkZWZpbmUgQ0FMSUJfQlVG MF9PX1NMT1BFX1NJR04oeCkJKCgoeCkgPj4gNykgJiAweDEpDQotI2RlZmluZSBDQUxJQl9CVUYx X0lEKHgpCQkoKCh4KSA+PiA5KSAmIDB4MSkNCisjZGVmaW5lIENBTElCX0JVRjBfVkFMSURfVjEJ CUJJVCgwKQ0KKyNkZWZpbmUgQ0FMSUJfQlVGMV9BRENfR0VfVjEoeCkJCSgoKHgpID4+IDIyKSAm IDB4M2ZmKQ0KKyNkZWZpbmUgQ0FMSUJfQlVGMF9WVFNfVFMxX1YxKHgpCSgoKHgpID4+IDE3KSAm IDB4MWZmKQ0KKyNkZWZpbmUgQ0FMSUJfQlVGMF9WVFNfVFMyX1YxKHgpCSgoKHgpID4+IDgpICYg MHgxZmYpDQorI2RlZmluZSBDQUxJQl9CVUYxX1ZUU19UUzNfVjEoeCkJKCgoeCkgPj4gMCkgJiAw eDFmZikNCisjZGVmaW5lIENBTElCX0JVRjJfVlRTX1RTNF9WMSh4KQkoKCh4KSA+PiAyMykgJiAw eDFmZikNCisjZGVmaW5lIENBTElCX0JVRjJfVlRTX1RTNV9WMSh4KQkoKCh4KSA+PiA1KSAmIDB4 MWZmKQ0KKyNkZWZpbmUgQ0FMSUJfQlVGMl9WVFNfVFNBQkJfVjEoeCkJKCgoeCkgPj4gMTQpICYg MHgxZmYpDQorI2RlZmluZSBDQUxJQl9CVUYwX0RFR0NfQ0FMSV9WMSh4KQkoKCh4KSA+PiAxKSAm IDB4M2YpDQorI2RlZmluZSBDQUxJQl9CVUYwX09fU0xPUEVfVjEoeCkJKCgoeCkgPj4gMjYpICYg MHgzZikNCisjZGVmaW5lIENBTElCX0JVRjBfT19TTE9QRV9TSUdOX1YxKHgpCSgoKHgpID4+IDcp ICYgMHgxKQ0KKyNkZWZpbmUgQ0FMSUJfQlVGMV9JRF9WMSh4KQkJKCgoeCkgPj4gOSkgJiAweDEp DQogDQogZW51bSB7DQogCVZUUzEsDQpAQCAtMTQzLDYgKzE0MywxMSBAQCBlbnVtIHsNCiAJTUFY X05VTV9WVFMsDQogfTsNCiANCitlbnVtIG10a190aGVybWFsX3ZlcnNpb24gew0KKwlNVEtfVEhF Uk1BTF9WMSA9IDEsDQorCU1US19USEVSTUFMX1YyLA0KK307DQorDQogLyogTVQyNzAxIHRoZXJt YWwgc2Vuc29ycyAqLw0KICNkZWZpbmUgTVQyNzAxX1RTMQkwDQogI2RlZmluZSBNVDI3MDFfVFMy CTENCkBAIC0yNDUsNiArMjUwLDkgQEAgc3RydWN0IG10a190aGVybWFsX2RhdGEgew0KIAljb25z dCBpbnQgKmNvbnRyb2xsZXJfb2Zmc2V0Ow0KIAlib29sIG5lZWRfc3dpdGNoX2Jhbms7DQogCXN0 cnVjdCB0aGVybWFsX2JhbmtfY2ZnIGJhbmtfZGF0YVtNQVhfTlVNX1pPTkVTXTsNCisJZW51bSBt dGtfdGhlcm1hbF92ZXJzaW9uIHZlcnNpb247DQorCWludCAoKmV4dHJhY3QpKHN0cnVjdCBtdGtf dGhlcm1hbCAqbXQsIHUzMiAqYnVmKTsNCisJaW50ICgqY29udmVydCkoc3RydWN0IG10a190aGVy bWFsICptdCwgaW50IHNlbnNubywgczMyIHJhdyk7DQogfTsNCiANCiBzdHJ1Y3QgbXRrX3RoZXJt YWwgew0KQEAgLTM1OCw2ICszNjYsOSBAQCBzdGF0aWMgY29uc3QgaW50IG10NzYyMl9tdXhfdmFs dWVzW01UNzYyMl9OVU1fU0VOU09SU10gPSB7IDAsIH07DQogc3RhdGljIGNvbnN0IGludCBtdDc2 MjJfdnRzX2luZGV4W01UNzYyMl9OVU1fU0VOU09SU10gPSB7IFZUUzEgfTsNCiBzdGF0aWMgY29u c3QgaW50IG10NzYyMl90Y19vZmZzZXRbTVQ3NjIyX05VTV9DT05UUk9MTEVSXSA9IHsgMHgwLCB9 Ow0KIA0KK3N0YXRpYyBpbnQgbXRrX3RoZXJtYWxfZXh0cmFjdF9lZnVzZV92MShzdHJ1Y3QgbXRr X3RoZXJtYWwgKm10LCB1MzIgKmJ1Zik7DQorc3RhdGljIGludCByYXdfdG9fbWNlbHNpdXNfdjEo c3RydWN0IG10a190aGVybWFsICptdCwgaW50IHNlbnNubywgczMyIHJhdyk7DQorDQogLyoNCiAg KiBUaGUgTVQ4MTczIHRoZXJtYWwgY29udHJvbGxlciBoYXMgZm91ciBiYW5rcy4gRWFjaCBiYW5r IGNhbiByZWFkIHVwIHRvDQogICogZm91ciB0ZW1wZXJhdHVyZSBzZW5zb3JzIHNpbXVsdGFuZW91 c2x5LiBUaGUgTVQ4MTczIGhhcyBhIHRvdGFsIG9mIDUNCkBAIC0zOTgsNiArNDA5LDkgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBtdGtfdGhlcm1hbF9kYXRhIG10ODE3M190aGVybWFsX2RhdGEgPSB7 DQogCS5tc3IgPSBtdDgxNzNfbXNyLA0KIAkuYWRjcG5wID0gbXQ4MTczX2FkY3BucCwNCiAJLnNl bnNvcl9tdXhfdmFsdWVzID0gbXQ4MTczX211eF92YWx1ZXMsDQorCS52ZXJzaW9uID0gTVRLX1RI RVJNQUxfVjEsDQorCS5leHRyYWN0ID0gbXRrX3RoZXJtYWxfZXh0cmFjdF9lZnVzZV92MSwNCisJ LmNvbnZlcnQgPSByYXdfdG9fbWNlbHNpdXNfdjEsDQogfTsNCiANCiAvKg0KQEAgLTQyOCw2ICs0 NDIsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG10a190aGVybWFsX2RhdGEgbXQyNzAxX3RoZXJt YWxfZGF0YSA9IHsNCiAJLm1zciA9IG10MjcwMV9tc3IsDQogCS5hZGNwbnAgPSBtdDI3MDFfYWRj cG5wLA0KIAkuc2Vuc29yX211eF92YWx1ZXMgPSBtdDI3MDFfbXV4X3ZhbHVlcywNCisJLnZlcnNp b24gPSBNVEtfVEhFUk1BTF9WMSwNCisJLmV4dHJhY3QgPSBtdGtfdGhlcm1hbF9leHRyYWN0X2Vm dXNlX3YxLA0KKwkuY29udmVydCA9IHJhd190b19tY2Vsc2l1c192MSwNCiB9Ow0KIA0KIC8qDQpA QCAtNDU4LDYgKzQ3NSw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3RoZXJtYWxfZGF0YSBt dDI3MTJfdGhlcm1hbF9kYXRhID0gew0KIAkubXNyID0gbXQyNzEyX21zciwNCiAJLmFkY3BucCA9 IG10MjcxMl9hZGNwbnAsDQogCS5zZW5zb3JfbXV4X3ZhbHVlcyA9IG10MjcxMl9tdXhfdmFsdWVz LA0KKwkudmVyc2lvbiA9IE1US19USEVSTUFMX1YxLA0KKwkuZXh0cmFjdCA9IG10a190aGVybWFs X2V4dHJhY3RfZWZ1c2VfdjEsDQorCS5jb252ZXJ0ID0gcmF3X3RvX21jZWxzaXVzX3YxLA0KIH07 DQogDQogLyoNCkBAIC00ODIsNiArNTAyLDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfdGhl cm1hbF9kYXRhIG10NzYyMl90aGVybWFsX2RhdGEgPSB7DQogCS5tc3IgPSBtdDc2MjJfbXNyLA0K IAkuYWRjcG5wID0gbXQ3NjIyX2FkY3BucCwNCiAJLnNlbnNvcl9tdXhfdmFsdWVzID0gbXQ3NjIy X211eF92YWx1ZXMsDQorCS52ZXJzaW9uID0gTVRLX1RIRVJNQUxfVjIsDQorCS5leHRyYWN0ID0g bXRrX3RoZXJtYWxfZXh0cmFjdF9lZnVzZV92MSwNCisJLmNvbnZlcnQgPSByYXdfdG9fbWNlbHNp dXNfdjEsDQogfTsNCiANCiAvKg0KQEAgLTUxNCw2ICs1MzcsOSBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IG10a190aGVybWFsX2RhdGEgbXQ4MTgzX3RoZXJtYWxfZGF0YSA9IHsNCiAJLm1zciA9IG10 ODE4M19tc3IsDQogCS5hZGNwbnAgPSBtdDgxODNfYWRjcG5wLA0KIAkuc2Vuc29yX211eF92YWx1 ZXMgPSBtdDgxODNfbXV4X3ZhbHVlcywNCisJLnZlcnNpb24gPSBNVEtfVEhFUk1BTF9WMSwNCisJ LmV4dHJhY3QgPSBtdGtfdGhlcm1hbF9leHRyYWN0X2VmdXNlX3YxLA0KKwkuY29udmVydCA9IHJh d190b19tY2Vsc2l1c192MSwNCiB9Ow0KIA0KIC8qKg0KQEAgLTUyNSw3ICs1NTEsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IG10a190aGVybWFsX2RhdGEgbXQ4MTgzX3RoZXJtYWxfZGF0YSA9IHsN CiAgKiBUaGlzIGNvbnZlcnRzIHRoZSByYXcgQURDIHZhbHVlIHRvIG1jZWxzaXVzIHVzaW5nIHRo ZSBTb0Mgc3BlY2lmaWMNCiAgKiBjYWxpYnJhdGlvbiBjb25zdGFudHMNCiAgKi8NCi1zdGF0aWMg aW50IHJhd190b19tY2Vsc2l1cyhzdHJ1Y3QgbXRrX3RoZXJtYWwgKm10LCBpbnQgc2Vuc25vLCBz MzIgcmF3KQ0KK3N0YXRpYyBpbnQgcmF3X3RvX21jZWxzaXVzX3YxKHN0cnVjdCBtdGtfdGhlcm1h bCAqbXQsIGludCBzZW5zbm8sIHMzMiByYXcpDQogew0KIAlzMzIgdG1wOw0KIA0KQEAgLTU5NCw5 ICs2MjAsOSBAQCBzdGF0aWMgaW50IG10a190aGVybWFsX2JhbmtfdGVtcGVyYXR1cmUoc3RydWN0 IG10a190aGVybWFsX2JhbmsgKmJhbmspDQogCQlyYXcgPSByZWFkbChtdC0+dGhlcm1hbF9iYXNl ICsNCiAJCQkgICAgY29uZi0+bXNyW2NvbmYtPmJhbmtfZGF0YVtiYW5rLT5pZF0uc2Vuc29yc1tp XV0pOw0KIA0KLQkJdGVtcCA9IHJhd190b19tY2Vsc2l1cyhtdCwNCi0JCQkJICAgICAgIGNvbmYt PmJhbmtfZGF0YVtiYW5rLT5pZF0uc2Vuc29yc1tpXSwNCi0JCQkJICAgICAgIHJhdyk7DQorCQl0 ZW1wID0gY29uZi0+Y29udmVydChtdCwNCisJCQkJICAgICBjb25mLT5iYW5rX2RhdGFbYmFuay0+ aWRdLnNlbnNvcnNbaV0sDQorCQkJCSAgICAgcmF3KTsNCiANCiAJCS8qDQogCQkgKiBUaGUgZmly c3QgcmVhZCBvZiBhIHNlbnNvciBvZnRlbiBjb250YWlucyB2ZXJ5IGhpZ2ggYm9ndXMNCkBAIC02 OTgsOSArNzI0LDExIEBAIHN0YXRpYyB2b2lkIG10a190aGVybWFsX2luaXRfYmFuayhzdHJ1Y3Qg bXRrX3RoZXJtYWwgKm10LCBpbnQgbnVtLA0KIAl3cml0ZWwoYXV4YWRjX3BoeXNfYmFzZSArIEFV WEFEQ19DT04xX0NMUl9WLA0KIAkgICAgICAgY29udHJvbGxlcl9iYXNlICsgVEVNUF9BRENNVVhB RERSKTsNCiANCi0JLyogQUhCIGFkZHJlc3MgZm9yIHBucCBzZW5zb3IgbXV4IHNlbGVjdGlvbiAq Lw0KLQl3cml0ZWwoYXBtaXhlZF9waHlzX2Jhc2UgKyBBUE1JWEVEX1NZU19UU19DT04xLA0KLQkg ICAgICAgY29udHJvbGxlcl9iYXNlICsgVEVNUF9QTlBNVVhBRERSKTsNCisJaWYgKG10LT5jb25m LT52ZXJzaW9uID09IE1US19USEVSTUFMX1YxKSB7DQorCQkvKiBBSEIgYWRkcmVzcyBmb3IgcG5w IHNlbnNvciBtdXggc2VsZWN0aW9uICovDQorCQl3cml0ZWwoYXBtaXhlZF9waHlzX2Jhc2UgKyBB UE1JWEVEX1NZU19UU19DT04xLA0KKwkJICAgICAgIGNvbnRyb2xsZXJfYmFzZSArIFRFTVBfUE5Q TVVYQUREUik7DQorCX0NCiANCiAJLyogQUhCIHZhbHVlIGZvciBhdXhhZGMgZW5hYmxlICovDQog CXdyaXRlbChCSVQoY29uZi0+YXV4YWRjX2NoYW5uZWwpLCBjb250cm9sbGVyX2Jhc2UgKyBURU1Q X0FEQ0VOKTsNCkBAIC03NTgsNiArNzg2LDUxIEBAIHN0YXRpYyB1NjQgb2ZfZ2V0X3BoeXNfYmFz ZShzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQ0KIAlyZXR1cm4gb2ZfdHJhbnNsYXRlX2FkZHJlc3Mo bnAsIHJlZ2FkZHJfcCk7DQogfQ0KIA0KK3N0YXRpYyBpbnQgbXRrX3RoZXJtYWxfZXh0cmFjdF9l ZnVzZV92MShzdHJ1Y3QgbXRrX3RoZXJtYWwgKm10LCB1MzIgKmJ1ZikNCit7DQorCWludCBpOw0K Kw0KKwlpZiAoIShidWZbMF0gJiBDQUxJQl9CVUYwX1ZBTElEX1YxKSkNCisJCXJldHVybiAtRUlO VkFMOw0KKw0KKwltdC0+YWRjX2dlID0gQ0FMSUJfQlVGMV9BRENfR0VfVjEoYnVmWzFdKTsNCisN CisJZm9yIChpID0gMDsgaSA8IG10LT5jb25mLT5udW1fc2Vuc29yczsgaSsrKSB7DQorCQlzd2l0 Y2ggKG10LT5jb25mLT52dHNfaW5kZXhbaV0pIHsNCisJCWNhc2UgVlRTMToNCisJCQltdC0+dnRz W1ZUUzFdID0gQ0FMSUJfQlVGMF9WVFNfVFMxX1YxKGJ1ZlswXSk7DQorCQkJYnJlYWs7DQorCQlj YXNlIFZUUzI6DQorCQkJbXQtPnZ0c1tWVFMyXSA9IENBTElCX0JVRjBfVlRTX1RTMl9WMShidWZb MF0pOw0KKwkJCWJyZWFrOw0KKwkJY2FzZSBWVFMzOg0KKwkJCW10LT52dHNbVlRTM10gPSBDQUxJ Ql9CVUYxX1ZUU19UUzNfVjEoYnVmWzFdKTsNCisJCQlicmVhazsNCisJCWNhc2UgVlRTNDoNCisJ CQltdC0+dnRzW1ZUUzRdID0gQ0FMSUJfQlVGMl9WVFNfVFM0X1YxKGJ1ZlsyXSk7DQorCQkJYnJl YWs7DQorCQljYXNlIFZUUzU6DQorCQkJbXQtPnZ0c1tWVFM1XSA9IENBTElCX0JVRjJfVlRTX1RT NV9WMShidWZbMl0pOw0KKwkJCWJyZWFrOw0KKwkJY2FzZSBWVFNBQkI6DQorCQkJbXQtPnZ0c1tW VFNBQkJdID0NCisJCQkJQ0FMSUJfQlVGMl9WVFNfVFNBQkJfVjEoYnVmWzJdKTsNCisJCQlicmVh azsNCisJCWRlZmF1bHQ6DQorCQkJYnJlYWs7DQorCQl9DQorCX0NCisNCisJbXQtPmRlZ2NfY2Fs aSA9IENBTElCX0JVRjBfREVHQ19DQUxJX1YxKGJ1ZlswXSk7DQorCWlmIChDQUxJQl9CVUYxX0lE X1YxKGJ1ZlsxXSkgJg0KKwkgICAgQ0FMSUJfQlVGMF9PX1NMT1BFX1NJR05fVjEoYnVmWzBdKSkN CisJCW10LT5vX3Nsb3BlID0gLUNBTElCX0JVRjBfT19TTE9QRV9WMShidWZbMF0pOw0KKwllbHNl DQorCQltdC0+b19zbG9wZSA9IENBTElCX0JVRjBfT19TTE9QRV9WMShidWZbMF0pOw0KKw0KKwly ZXR1cm4gMDsNCit9DQorDQogc3RhdGljIGludCBtdGtfdGhlcm1hbF9nZXRfY2FsaWJyYXRpb25f ZGF0YShzdHJ1Y3QgZGV2aWNlICpkZXYsDQogCQkJCQkgICAgc3RydWN0IG10a190aGVybWFsICpt dCkNCiB7DQpAQCAtNzkzLDQzICs4NjYsOCBAQCBzdGF0aWMgaW50IG10a190aGVybWFsX2dldF9j YWxpYnJhdGlvbl9kYXRhKHN0cnVjdCBkZXZpY2UgKmRldiwNCiAJCWdvdG8gb3V0Ow0KIAl9DQog DQotCWlmIChidWZbMF0gJiBDQUxJQl9CVUYwX1ZBTElEKSB7DQotCQltdC0+YWRjX2dlID0gQ0FM SUJfQlVGMV9BRENfR0UoYnVmWzFdKTsNCi0NCi0JCWZvciAoaSA9IDA7IGkgPCBtdC0+Y29uZi0+ bnVtX3NlbnNvcnM7IGkrKykgew0KLQkJCXN3aXRjaCAobXQtPmNvbmYtPnZ0c19pbmRleFtpXSkg ew0KLQkJCWNhc2UgVlRTMToNCi0JCQkJbXQtPnZ0c1tWVFMxXSA9IENBTElCX0JVRjBfVlRTX1RT MShidWZbMF0pOw0KLQkJCQlicmVhazsNCi0JCQljYXNlIFZUUzI6DQotCQkJCW10LT52dHNbVlRT Ml0gPSBDQUxJQl9CVUYwX1ZUU19UUzIoYnVmWzBdKTsNCi0JCQkJYnJlYWs7DQotCQkJY2FzZSBW VFMzOg0KLQkJCQltdC0+dnRzW1ZUUzNdID0gQ0FMSUJfQlVGMV9WVFNfVFMzKGJ1ZlsxXSk7DQot CQkJCWJyZWFrOw0KLQkJCWNhc2UgVlRTNDoNCi0JCQkJbXQtPnZ0c1tWVFM0XSA9IENBTElCX0JV RjJfVlRTX1RTNChidWZbMl0pOw0KLQkJCQlicmVhazsNCi0JCQljYXNlIFZUUzU6DQotCQkJCW10 LT52dHNbVlRTNV0gPSBDQUxJQl9CVUYyX1ZUU19UUzUoYnVmWzJdKTsNCi0JCQkJYnJlYWs7DQot CQkJY2FzZSBWVFNBQkI6DQotCQkJCW10LT52dHNbVlRTQUJCXSA9IENBTElCX0JVRjJfVlRTX1RT QUJCKGJ1ZlsyXSk7DQotCQkJCWJyZWFrOw0KLQkJCWRlZmF1bHQ6DQotCQkJCWJyZWFrOw0KLQkJ CX0NCi0JCX0NCi0NCi0JCW10LT5kZWdjX2NhbGkgPSBDQUxJQl9CVUYwX0RFR0NfQ0FMSShidWZb MF0pOw0KLQkJaWYgKENBTElCX0JVRjFfSUQoYnVmWzFdKSAmDQotCQkgICAgQ0FMSUJfQlVGMF9P X1NMT1BFX1NJR04oYnVmWzBdKSkNCi0JCQltdC0+b19zbG9wZSA9IC1DQUxJQl9CVUYwX09fU0xP UEUoYnVmWzBdKTsNCi0JCWVsc2UNCi0JCQltdC0+b19zbG9wZSA9IENBTElCX0JVRjBfT19TTE9Q RShidWZbMF0pOw0KLQl9IGVsc2Ugew0KKwlpZiAobXQtPmNvbmYtPmV4dHJhY3QobXQsIGJ1Zikp DQogCQlkZXZfaW5mbyhkZXYsICJEZXZpY2Ugbm90IGNhbGlicmF0ZWQsIHVzaW5nIGRlZmF1bHQg Y2FsaWJyYXRpb24gdmFsdWVzXG4iKTsNCi0JfQ0KIA0KIG91dDoNCiAJa2ZyZWUoYnVmKTsNCi0t IA0KMi4xNy4xDQo=