Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756381Ab1BOWjk (ORCPT ); Tue, 15 Feb 2011 17:39:40 -0500 Received: from mail-qy0-f174.google.com ([209.85.216.174]:58414 "EHLO mail-qy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756293Ab1BOWji (ORCPT ); Tue, 15 Feb 2011 17:39:38 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=NKsNG6n+IkPaE/QOwMovEmDbAVCd7kvojfiMWstBjGgExiJHxLIZ5Ay5WvBQDeNDqV bsE6Xc6NK7nBSvVDMXuR9UIxzihQ2SxzZXcrd1irX8SHiI58jKFsCwbwNM2i9l9bipJN 6V150JjVVqDCPJxVOf6y1kEWxofJzNj99qNXU= MIME-Version: 1.0 In-Reply-To: References: <1297539554-13957-8-git-send-email-lars@metafoo.de> <1297652493-7207-1-git-send-email-lars@metafoo.de> <4D59A93A.7090800@metafoo.de> Date: Wed, 16 Feb 2011 00:39:35 +0200 Message-ID: Subject: Re: [PATCH 07/14 v3] bq27x00: Cache battery registers From: Grazvydas Ignotas To: Lars-Peter Clausen Cc: Anton Vorontsov , Pali Rohar , Rodolfo Giometti , linux-kernel@vger.kernel.org Content-Type: multipart/mixed; boundary=0015175cd5b0cd3b81049c59d6a1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 30572 Lines: 431 --0015175cd5b0cd3b81049c59d6a1 Content-Type: text/plain; charset=ISO-8859-1 On Tue, Feb 15, 2011 at 1:48 PM, Grazvydas Ignotas wrote: > On Tue, Feb 15, 2011 at 12:14 AM, Lars-Peter Clausen wrote: >> On 02/14/2011 10:58 PM, Grazvydas Ignotas wrote: >>> This is wrong, as read function returns negative values for bq27500 >>> when discharging. That's why read function used to pass value through >>> argument before your series (return value was for error code). >> >> I don't think so. The register is 16bit wide and it is read as a unsigned. So >> in the non error case bq27x00_read will always return >= 0. >> The value is later reinterpreted as a signed 16bit.(See the other lines you >> quoted underneath). > > Hmh, right.. > >> Did you experience any actual problem with current being wrong? > > Yes, the returned current values were randomly jumping between -500000 > and 600000 while the device was discharging, so I thought > uninitialized values were being returned (this never happened before > the series; no errors in dmesg). I'll need to debug a bit more I > guess.. ok this series seem to trigger unrelated bug, probably due to lots of reads when cache is being updated, the attached patch seems to help. Feel free to integrate it or I'll send it separately after your patches are merged. However there is bigger problem, compiling as module and doing insmod/rmmod/insmod causes kernel OOPS: [ 882.575714] BUG: sleeping function called from invalid context at arch/arm/mm/fault.c:295 [ 882.584350] in_atomic(): 0, irqs_disabled(): 128, pid: 1154, name: insmod ... [ 882.959930] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 882.968444] pgd = c14c8000 [ 882.977905] Internal error: Oops: 817 [#1] ... [ 883.304412] [] (__queue_work+0x140/0x260) from [] (queue_work_on+0x2c/0x34) [ 883.313568] [] (queue_work_on+0x2c/0x34) from [] (bq27x00_update+0x1f8/0x220 [bq27x00_battery]) [ 883.324584] [] (bq27x00_update+0x1f8/0x220 [bq27x00_battery]) from [] (bq27x00_battery_poll+0x14/0x48 [bq27x00_battery]) full backtrace attached. --0015175cd5b0cd3b81049c59d6a1 Content-Type: application/octet-stream; name=backtrace Content-Disposition: attachment; filename=backtrace Content-Transfer-Encoding: base64 X-Attachment-Id: f_gk7e8uxi0 CnJvb3RAcGFuZG9yYSBwYW5kb3JhLWtlcm5lbC10aXAjIGxzbW9kCmJxMjd4MDBfYmF0dGVyeSA2 NzE4IDAgLSBMaXZlIDB4YmYwMDAwMDAKcm9vdEBwYW5kb3JhIHBhbmRvcmEta2VybmVsLXRpcCMg cm1tcm9vdEBwYW5kb3JhIHBhbmRvcmEta2VybmVsLXRpcCMgcm1tb2QgYnEyN3gwMF9iYXR0ZXJ5 CnJvb3RAcGFuZG9yYSBwYW5kb3JhLWtlcm5lbC10aXAjIGluc21yb290QHBhbmRvcmEgcGFuZG9y YS1rZXJuZWwtdGlwIyBpbnNtb2QgZHJyb290QHBhbmRvcmEgcGFuZG9yYS1rZXJuZWwtdGlwIyBp bnNtb2QgZHJpdmVycy9wb3Jvb3RAcGFuZG9yYSBwYW5kb3JhLWtlcm5lbC10aXAjIGluc21vZCBk cml2ZXJzL3Bvd2VyL2JxB3Jvb3RAcGFuZG9yYSBwYW5kb3JhLWtlcm5lbC10aXAjIGluc21vZCBk cml2ZXJzL3Bvd2VyL2JxMjcHcm9vdEBwYW5kb3JhIHBhbmRvcmEta2VybmVsLXRpcCMgaW5zbW9k IGRyaXZlcnMvcG93ZXIvYnEyN3gwMF9iYXR0ZXJ5Lmtyb290QHBhbmRvcmEgcGFuZG9yYS1rZXJu ZWwtdGlwIyBpbnNtb2QgZHJpdmVycy9wb3dlci9icTI3eDAwX2JhdHRlcnkua28gClsgIDg4Mi41 NzU3MTRdIEJVRzogc2xlZXBpbmcgZnVuY3Rpb24gY2FsbGVkIGZyb20gaW52YWxpZCBjb250ZXh0 IGF0IGFyY2gvYXJtL21tL2ZhdWx0LmM6Mjk1ClsgIDg4Mi41ODQzNTBdIGluX2F0b21pYygpOiAw LCBpcnFzX2Rpc2FibGVkKCk6IDEyOCwgcGlkOiAxMTU0LCBuYW1lOiBpbnNtb2QKWyAgODgyLjU5 MTQ2MV0gNSBsb2NrcyBoZWxkIGJ5IGluc21vZC8xMTU0OgpbICA4ODIuNTk1NTgxXSAgIzA6ICAo Jl9fbG9ja2RlcF9ub192YWxpZGF0ZV9fKXsuLi4uLi59LCBhdDogWzxjMDI0NDFmMD5dIF9fZHJp dmVyX2F0dGFjaCsweDQwLzB4OGMKWyAgODgyLjYwNDg1OF0gICMxOiAgKCZfX2xvY2tkZXBfbm9f dmFsaWRhdGVfXyl7Li4uLi4ufSwgYXQ6IFs8YzAyNDQyMDA+XSBfX2RyaXZlcl9hdHRhY2grMHg1 MC8weDhjClsgIDg4Mi42MTQxMzVdICAjMjogICgmZGktPmxvY2spey4uLi4uLn0sIGF0OiBbPGJm MDA4NTNjPl0gYnEyN3gwMF9iYXR0ZXJ5X2dldF9wcm9wZXJ0eSsweDIwLzB4MzI0IFticTI3eDAw X2JhdHRlcnldClsgIDg4Mi42MjQ5NjldICAjMzogICgmKCZnY3dxLT5sb2NrKS0+cmxvY2spey4u Li4uLn0sIGF0OiBbPGMwMDdlZTZjPl0gX19xdWV1ZV93b3JrKzB4ZDQvMHgyNjAKWyAgODgyLjYz Mzc4OV0gICM0OiAgKCZtbS0+bW1hcF9zZW0pey4uLi4uLn0sIGF0OiBbPGMwM2QwZWYwPl0gZG9f cGFnZV9mYXVsdCsweDg0LzB4MmMwClsgIDg4Mi42NDE5OThdIFs8YzAwNDZjMmM+XSAodW53aW5k X2JhY2t0cmFjZSsweDAvMHhlYykgZnJvbSBbPGMwM2QwZjMwPl0gKGRvX3BhZ2VfZmF1bHQrMHhj NC8weDJjMCkKWyAgODgyLjY1MTMzNl0gWzxjMDNkMGYzMD5dIChkb19wYWdlX2ZhdWx0KzB4YzQv MHgyYzApIGZyb20gWzxjMDAzNjJkYz5dIChkb19EYXRhQWJvcnQrMHgzNC8weDk0KQpbICA4ODIu NjYwNDAwXSBbPGMwMDM2MmRjPl0gKGRvX0RhdGFBYm9ydCsweDM0LzB4OTQpIGZyb20gWzxjMDNj ZjI2Yz5dIChfX2RhYnRfc3ZjKzB4NGMvMHg2MCkKWyAgODgyLjY2OTA5N10gRXhjZXB0aW9uIHN0 YWNrKDB4YzE1YzljNTggdG8gMHhjMTVjOWNhMCkKWyAgODgyLjY3NDQwN10gOWM0MDogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2YwMTdjMDAg Y2YwMDVjODAKWyAgODgyLjY4MzAxM10gOWM2MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg MDAwMDAwMDAgY2YwMTdjMDAgYzA1NTNkYTAgY2YxNjNjZDAgYzA1N2E5MzQKWyAgODgyLjY5MTU4 OV0gOWM4MDogY2YxNjNkMTQgNDAwMDAwMTMgY2U2ZjhhNDAgYzE1YzljYTAgYzAwN2VlN2MgYzAw N2VlZDggMDAwMDAwOTMgZmZmZmZmZmYKWyAgODgyLjcwMDE5NV0gWzxjMDNjZjI2Yz5dIChfX2Rh YnRfc3ZjKzB4NGMvMHg2MCkgZnJvbSBbPGMwMDdlZWQ4Pl0gKF9fcXVldWVfd29yaysweDE0MC8w eDI2MCkKWyAgODgyLjcwOTA3NV0gWzxjMDA3ZWVkOD5dIChfX3F1ZXVlX3dvcmsrMHgxNDAvMHgy NjApIGZyb20gWzxjMDA3ZjA0ND5dIChxdWV1ZV93b3JrX29uKzB4MmMvMHgzNCkKWyAgODgyLjcx ODI2MV0gWzxjMDA3ZjA0ND5dIChxdWV1ZV93b3JrX29uKzB4MmMvMHgzNCkgZnJvbSBbPGJmMDA4 MzkwPl0gKGJxMjd4MDBfdXBkYXRlKzB4MWY4LzB4MjIwIFticTI3eDAwX2JhdHRlcnldKQpbICA4 ODIuNzI5MjQ4XSBbPGJmMDA4MzkwPl0gKGJxMjd4MDBfdXBkYXRlKzB4MWY4LzB4MjIwIFticTI3 eDAwX2JhdHRlcnldKSBmcm9tIFs8YmYwMDg0Yzg+XSAoYnEyN3gwMF9iYXR0ZXJ5X3BvbGwrMHgx NC8weDQ4IFticTI3eDAwX2JhdHRlcnldKQpbICA4ODIuNzQyNTIzXSBbPGJmMDA4NGM4Pl0gKGJx Mjd4MDBfYmF0dGVyeV9wb2xsKzB4MTQvMHg0OCBbYnEyN3gwMF9iYXR0ZXJ5XSkgZnJvbSBbPGJm MDA4NTZjPl0gKGJxMjd4MDBfYmF0dGVyeV9nZXRfcHJvcGVydHkrMHg1MC8weDMyNCBbYnEyN3gw MF9iYXR0ZXJ5XSkKWyAgODgyLjc1Njk4OF0gWzxiZjAwODU2Yz5dIChicTI3eDAwX2JhdHRlcnlf Z2V0X3Byb3BlcnR5KzB4NTAvMHgzMjQgW2JxMjd4MDBfYmF0dGVyeV0pIGZyb20gWzxjMDJjOTZl MD5dIChwb3dlcl9zdXBwbHlfc2hvd19wcm9wZXJ0eSsweDQ4LzB4MTg0KQpbICA4ODIuNzcwNDQ2 XSBbPGMwMmM5NmUwPl0gKHBvd2VyX3N1cHBseV9zaG93X3Byb3BlcnR5KzB4NDgvMHgxODQpIGZy b20gWzxjMDJjOTg5OD5dIChwb3dlcl9zdXBwbHlfdWV2ZW50KzB4N2MvMHgxNzQpClsgIDg4Mi43 ODE0MzNdIFs8YzAyYzk4OTg+XSAocG93ZXJfc3VwcGx5X3VldmVudCsweDdjLzB4MTc0KSBmcm9t IFs8YzAyNDE0MTg+XSAoZGV2X3VldmVudCsweDEyOC8weDE2OCkKWyAgODgyLjc5MTA0Nl0gWzxj MDI0MTQxOD5dIChkZXZfdWV2ZW50KzB4MTI4LzB4MTY4KSBmcm9tIFs8YzAxZTU0NTQ+XSAoa29i amVjdF91ZXZlbnRfZW52KzB4MWVjLzB4NGFjKQpbICA4ODIuODAwNjU5XSBbPGMwMWU1NDU0Pl0g KGtvYmplY3RfdWV2ZW50X2VudisweDFlYy8weDRhYykgZnJvbSBbPGMwMjQxZWM0Pl0gKGRldmlj ZV9hZGQrMHgzMTgvMHg0ODQpClsgIDg4Mi44MTAyNDFdIFs8YzAyNDFlYzQ+XSAoZGV2aWNlX2Fk ZCsweDMxOC8weDQ4NCkgZnJvbSBbPGMwMmM5NGVjPl0gKHBvd2VyX3N1cHBseV9yZWdpc3Rlcisw eGU4LzB4MTc0KQpbICA4ODIuODIwMDY4XSBbPGMwMmM5NGVjPl0gKHBvd2VyX3N1cHBseV9yZWdp c3RlcisweGU4LzB4MTc0KSBmcm9tIFs8YmYwMDg0NDQ+XSAoYnEyN3gwMF9wb3dlcnN1cHBseV9p bml0KzB4OGMvMHhmYyBbYnEyN3gwMF9iYXR0ZXJ5XSkKWyAgODgyLjgzMjYxMV0gWzxiZjAwODQ0 ND5dIChicTI3eDAwX3Bvd2Vyc3VwcGx5X2luaXQrMHg4Yy8weGZjIFticTI3eDAwX2JhdHRlcnld KSBmcm9tIFs8YmYwMDg5ZTA+XSAoYnEyN3gwMF9iYXR0ZXJ5X3Byb2JlKzB4MTQ4LzB4MWM0IFti cTI3eDAwX2JhdHRlcnldKQpbICA4ODIuODQ2ODkzXSBbPGJmMDA4OWUwPl0gKGJxMjd4MDBfYmF0 dGVyeV9wcm9iZSsweDE0OC8weDFjNCBbYnEyN3gwMF9iYXR0ZXJ5XSkgZnJvbSBbPGMwMmM1YmQ4 Pl0gKGkyY19kZXZpY2VfcHJvYmUrMHg3NC8weDljKQpbICA4ODIuODU4Nzk1XSBbPGMwMmM1YmQ4 Pl0gKGkyY19kZXZpY2VfcHJvYmUrMHg3NC8weDljKSBmcm9tIFs8YzAyNDQwZjA+XSAoZHJpdmVy X3Byb2JlX2RldmljZSsweGM4LzB4MTg4KQpbICA4ODIuODY4NzQzXSBbPGMwMjQ0MGYwPl0gKGRy aXZlcl9wcm9iZV9kZXZpY2UrMHhjOC8weDE4OCkgZnJvbSBbPGMwMjQ0MjE4Pl0gKF9fZHJpdmVy X2F0dGFjaCsweDY4LzB4OGMpClsgIDg4Mi44Nzg2MzFdIFs8YzAyNDQyMTg+XSAoX19kcml2ZXJf YXR0YWNoKzB4NjgvMHg4YykgZnJvbSBbPGMwMjQzOGE4Pl0gKGJ1c19mb3JfZWFjaF9kZXYrMHg0 NC8weDc0KQpbICA4ODIuODg4MTUzXSBbPGMwMjQzOGE4Pl0gKGJ1c19mb3JfZWFjaF9kZXYrMHg0 NC8weDc0KSBmcm9tIFs8YzAyNDMxZGM+XSAoYnVzX2FkZF9kcml2ZXIrMHgxMDQvMHgyOTApClsg IDg4Mi44OTc3NjZdIFs8YzAyNDMxZGM+XSAoYnVzX2FkZF9kcml2ZXIrMHgxMDQvMHgyOTApIGZy b20gWzxjMDI0NDUwYz5dIChkcml2ZXJfcmVnaXN0ZXIrMHhhOC8weDEzMCkKWyAgODgyLjkwNzM3 OV0gWzxjMDI0NDUwYz5dIChkcml2ZXJfcmVnaXN0ZXIrMHhhOC8weDEzMCkgZnJvbSBbPGMwMmM1 ZWM4Pl0gKGkyY19yZWdpc3Rlcl9kcml2ZXIrMHg0MC8weDkwKQpbICA4ODIuOTE3MjY2XSBbPGMw MmM1ZWM4Pl0gKGkyY19yZWdpc3Rlcl9kcml2ZXIrMHg0MC8weDkwKSBmcm9tIFs8YmYwMGMwMTA+ XSAoYnEyN3gwMF9iYXR0ZXJ5X2luaXQrMHgxMC8weDY0IFticTI3eDAwX2JhdHRlcnldKQpbICA4 ODIuOTI5MTY4XSBbPGJmMDBjMDEwPl0gKGJxMjd4MDBfYmF0dGVyeV9pbml0KzB4MTAvMHg2NCBb YnEyN3gwMF9iYXR0ZXJ5XSkgZnJvbSBbPGMwMDM2NDA4Pl0gKGRvX29uZV9pbml0Y2FsbCsweGM4 LzB4MTljKQpbICA4ODIuOTQwNzk1XSBbPGMwMDM2NDA4Pl0gKGRvX29uZV9pbml0Y2FsbCsweGM4 LzB4MTljKSBmcm9tIFs8YzAwOWQwMzQ+XSAoc3lzX2luaXRfbW9kdWxlKzB4OTAvMHgxYjApClsg IDg4Mi45NTA0MDhdIFs8YzAwOWQwMzQ+XSAoc3lzX2luaXRfbW9kdWxlKzB4OTAvMHgxYjApIGZy b20gWzxjMDA0MDVlMD5dIChyZXRfZmFzdF9zeXNjYWxsKzB4MC8weDMwKQpbICA4ODIuOTU5OTMw XSBVbmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQgdmly dHVhbCBhZGRyZXNzIDAwMDAwMDAwClsgIDg4Mi45Njg0NDRdIHBnZCA9IGMxNGM4MDAwClsgIDg4 Mi45NzEyODJdIFswMDAwMDAwMF0gKnBnZD04MTVjZDAzMSwgKnB0ZT0wMDAwMDAwMCwgKnBwdGU9 MDAwMDAwMDAKWyAgODgyLjk3NzkwNV0gSW50ZXJuYWwgZXJyb3I6IE9vcHM6IDgxNyBbIzFdClsg IDg4Mi45ODIyMDhdIGxhc3Qgc3lzZnMgZmlsZTogL3N5cy9kZXZpY2VzL3BsYXRmb3JtL2kyY19v bWFwLjMvaTJjLTMvMy0wMDU1L3Bvd2VyX3N1cHBseS9icTI3NTAwLTAvdm9sdGFnZV9ub3cKWyAg ODgyLjk5MjYxNF0gTW9kdWxlcyBsaW5rZWQgaW46IGJxMjd4MDBfYmF0dGVyeSgrKSBbbGFzdCB1 bmxvYWRlZDogYnEyN3gwMF9iYXR0ZXJ5XQpbICA4ODMuMDAwNjEwXSBDUFU6IDAgICAgTm90IHRh aW50ZWQgICgyLjYuMzctMDAwNDQtZzVhZTg3MDEtZGlydHkgIzgwKQpbICA4ODMuMDA3MjkzXSBQ QyBpcyBhdCBfX3F1ZXVlX3dvcmsrMHgxNDAvMHgyNjAKWyAgODgzLjAxMTg3MV0gTFIgaXMgYXQg X19xdWV1ZV93b3JrKzB4ZTQvMHgyNjAKWyAgODgzLjAxNjM1N10gcGMgOiBbPGMwMDdlZWQ4Pl0g ICAgbHIgOiBbPGMwMDdlZTdjPl0gICAgcHNyOiAwMDAwMDA5MwpbICA4ODMuMDE2MzU3XSBzcCA6 IGMxNWM5Y2EwICBpcCA6IGNlNmY4YTQwICBmcCA6IDQwMDAwMDEzClsgIDg4My4wMjg0MTFdIHIx MDogY2YxNjNkMTQgIHI5IDogYzA1N2E5MzQgIHI4IDogY2YxNjNjZDAKWyAgODgzLjAzMzkwNV0g cjcgOiBjMDU1M2RhMCAgcjYgOiBjZjAxN2MwMCAgcjUgOiAwMDAwMDAwMCAgcjQgOiAwMDAwMDAw MApbICA4ODMuMDQwNzcxXSByMyA6IDAwMDAwMDAwICByMiA6IDAwMDAwMDAwICByMSA6IGNmMDA1 YzgwICByMCA6IGNmMDE3YzAwClsgIDg4My4wNDc2MzddIEZsYWdzOiBuemN2ICBJUlFzIG9mZiAg RklRcyBvbiAgTW9kZSBTVkNfMzIgIElTQSBBUk0gIFNlZ21lbnQgdXNlcgpbICA4ODMuMDU1MjM2 XSBDb250cm9sOiAxMGM1Mzg3ZCAgVGFibGU6IDgxNGM4MDE5ICBEQUM6IDAwMDAwMDE1ClsgIDg4 My4wNjEyNzldIFByb2Nlc3MgaW5zbW9kIChwaWQ6IDExNTQsIHN0YWNrIGxpbWl0ID0gMHhjMTVj ODJmMCkKWyAgODgzLjA2NzU2NV0gU3RhY2s6ICgweGMxNWM5Y2EwIHRvIDB4YzE1Y2EwMDApClsg IDg4My4wNzIxNzRdIDljYTA6IDAwMDAwMDAwIDAwMDAwMDAwIGEwMDAwMDEzIGMxNWM5Y2RjIGMx NWM5ZDQ0IDAwMDAwMDAwIGMwNTdhOTM0IGNmMTYzZDE0ClsgIDg4My4wODA3ODBdIDljYzA6IGMx NGJjMDAwIGMwMDdmMDQ0IGNmMTYzYzBjIGNmMTYzYzAwIGMxNWM5Y2RjIGJmMDA4MzkwIGMxNWM4 MDAwIDAwMDAwYjhiClsgIDg4My4wODkzNTVdIDljZTA6IDAwMDA4ZWY4IDAwMDA4OGE0IGZmZmZm ZmMzIDAwM2E0MjEwIDAwMDAwMDEyIDAwMDAwMDYwIDAwMDAwMDM5IDAwMDAwMDAwClsgIDg4My4w OTc5NjFdIDlkMDA6IGNmMTYzYzM4IGJmMDA5MDRjIGNmMTYzYzAwIGJmMDA4NGM4IGNmMTYzYzM4 IGNmMTYzYzljIGNmMTYzYzAwIGJmMDA4NTZjClsgIDg4My4xMDY1NjddIDlkMjA6IDAwMDAwMDAw IDAwMDAwMDAwIGNlMDRmMDAwIGMwNTdhOTM0IGNmMjA3MDAwIGMwNTdhOTM0IGNmMTYzYzljIGMw MmM5NmUwClsgIDg4My4xMTUxNzNdIDlkNDA6IGNmMjA3MDAwIGMwNTdhOTM0IDAwMDAwMDAwIDAw MDAwMDAwIGMxNGJjMDAwIDAwMDRmMDAwIGMwMmM5ODk4ClsgIDg4My4xMjM3NzldIDlkNjA6IGNm MjA3MDAwIGNmMjA3MDAwIDAwMDAwMDAwIDAwMDAwMDAwIGNmMjA3MDAwIGMxNGJjMDAwIGNmMDE5 NTQwIGMwM2Y5YmY4ClsgIDg4My4xMzIzODVdIDlkODA6IDAwMDAwMDAwIGNmMjA3MDA4IGNlMDU2 NTQwIGMwMjQxNDE4IGNmMDE5NTQwIGNmMjA3MDA4IDAwMDAwMDAwIDAwMDAxMDAwClsgIDg4My4x NDA5OTFdIDlkYTA6IGMxNGJjMDAwIGMwMWU1NDU0IGMxNWM4MDAwIDYwMDAwMDEzIGMxNWM4MDAw IGMwM2NkZDFjIDAwMDAwMDAxIDAwMDAwMDAwClsgIDg4My4xNDk1OTddIDlkYzA6IGMwNGU3YWQ2 IGMwNGVhNzUwIDIyMjIyMjIyIDIyMjIyMjIyIDIyMjIyMjIyIDIyMjIyMjIyIGMwMjQxZTk4IDAw MDAwMDAwClsgIDg4My4xNTgyMDNdIDlkZTA6IGNmMjA3MDAwIGNmMTYzYzljIDAwMDAwMDAwIDAw MDAwMDAwIGNmMGU5ZTgwIGMwOWJmOGQ4IGNmMjA3MDA4IGMwMjQxZWM0ClsgIDg4My4xNjY3Nzhd IDllMDA6IDAwMDAwMDAwIGNmMGYwODIwIDAwMDAwMDAwIGMwOWJmOGNjIGNmMGYwODIwIGMwMWU0 YWQ0IGNmMDAwM2MwIDAwMDAwMDAwClsgIDg4My4xNzUzODRdIDllMjA6IGNmMjA3MDAwIGNmMTYz YzljIGMwOWJmOGNjIGNmMGYwODIwIGJmMDA4ZDVjIGMwMmM5NDA0IGJmMDA4OTIwIGMwMmM5NGVj ClsgIDg4My4xODM5OTBdIDllNDA6IGNmMGYwODIwIGNmMTYzYzljIGJmMDA4MDAwIGNmMTYzYzAw IGNmMTYzYzAwIGNmMGYwODAwIDAwMDAwMDAwIDAwMDAwMjAwClsgIDg4My4xOTI1OTZdIDllNjA6 IGMxODM0YWMwIGJmMDA4NDQ0IGNmMGYwODIwIGNmMTYzYzAwIGNmMGYwODAwIGJmMDA4OWUwIGNl MDU2YmMwIGMwNTdhNmQ0ClsgIDg4My4yMDEyMDJdIDllODA6IGNmMDIzYjM4IDAwMDAwMDAwIGNm MGVlMmM4IGJmMDA4ODk4IGNmMGYwODAwIGJmMDA5MTAwIGNlMDU2YmMwIGMwNTdhNmQ0ClsgIDg4 My4yMDk4MDhdIDllYTA6IGMxNWM4MDAwIDAwMDAwMDAwIDAwMDAwMDAwIGMwMmM1YmQ4IGNmMGYw ODIwIGNmMGYwODIwIGJmMDA5MTAwIGMwMjQ0MGYwClsgIDg4My4yMTg0MTRdIDllYzA6IGNmMGYw ODIwIGNmMGYwODU0IGJmMDA5MTAwIGMwMjQ0MjE4IDAwMDAwMDAwIGMwMjQ0MWIwIGJmMDA5MTAw IGMwMjQzOGE4ClsgIDg4My4yMjY5ODldIDllZTA6IGNmMDIzYWQ4IGNmMGViYzkwIGNmMDAwMTQw IDAwMDAwMDgwIGJmMDA5MTAwIGMwMjQzMWRjIGJmMDA4ZmRmIDAwMDAwNDMwClsgIDg4My4yMzU1 OTVdIDlmMDA6IGNlNmY4YTQwIGJmMDA5MGQ4IGJmMDA5MWMwIGJmMDA5MTAwIGMwNTdhNmQ0IGJm MDBjMDAwIDAwMDAwMDAwIGMwMjQ0NTBjClsgIDg4My4yNDQyMDFdIDlmMjA6IGJmMDA5MGQ4IGJm MDA5MWMwIGMwNTdhNjJjIGMwNTdhNmQ0IGJmMDBjMDAwIGMwMmM1ZWM4IDAwMDAwMDAwIGJmMDA5 MWMwClsgIDg4My4yNTI4MDddIDlmNDA6IDAwMGIyZTRjIDAwMGMyMDQwIGJmMDBjMDAwIGJmMDBj MDEwIDAwMDAwMDAwIGMwMDM2NDA4IDAwMDAwMDAwIDAwMDAwMDAxClsgIDg4My4yNjE0MTNdIDlm NjA6IDAwMDAwMDAwIGJmMDA5MWMwIDAwMGIyZTRjIDAwMDAwMDAwIGJmMDA5MWMwIDAwMGIyZTRj IDAwMGMyMDQwIGMwMDQwNzg4ClsgIDg4My4yNzAwMTldIDlmODA6IDAwMDAwMDAwIGMwMDlkMDM0 IDAwMGMyMDQwIDAwMDE5ZjRjIDAwMGIyZTRjIDAwMDAwMDAwIDAwMDAwMDAwIGJlYjI1ZGM4Clsg IDg4My4yNzg1OTRdIDlmYTA6IDAwMDAwMDgwIGMwMDQwNWUwIDAwMDAwMDAwIDAwMDAwMDAwIDAw MGMyMDQwIDAwMDE5ZjRjIDAwMGIyZTRjIDAwMDAwMDAwClsgIDg4My4yODcyMDBdIDlmYzA6IDAw MDAwMDAwIDAwMDAwMDAwIGJlYjI1ZGM4IDAwMDAwMDgwIGJlYjI1ZGM0IGJlYjI1ZGM4IDAwMDAw MDAxIDAwMDAwMDAwClsgIDg4My4yOTU4MDZdIDlmZTA6IDAwMDAwMDY5IGJlYjI1YTc0IDAwMDFk NTQ0IDQwMmI4NjE0IDYwMDAwMDEwIDAwMGMyMDQwIDAwMDAwMDAwIDAwMDAwMDA0ClsgIDg4My4z MDQ0MTJdIFs8YzAwN2VlZDg+XSAoX19xdWV1ZV93b3JrKzB4MTQwLzB4MjYwKSBmcm9tIFs8YzAw N2YwNDQ+XSAocXVldWVfd29ya19vbisweDJjLzB4MzQpClsgIDg4My4zMTM1NjhdIFs8YzAwN2Yw NDQ+XSAocXVldWVfd29ya19vbisweDJjLzB4MzQpIGZyb20gWzxiZjAwODM5MD5dIChicTI3eDAw X3VwZGF0ZSsweDFmOC8weDIyMCBbYnEyN3gwMF9iYXR0ZXJ5XSkKWyAgODgzLjMyNDU4NF0gWzxi ZjAwODM5MD5dIChicTI3eDAwX3VwZGF0ZSsweDFmOC8weDIyMCBbYnEyN3gwMF9iYXR0ZXJ5XSkg ZnJvbSBbPGJmMDA4NGM4Pl0gKGJxMjd4MDBfYmF0dGVyeV9wb2xsKzB4MTQvMHg0OCBbYnEyN3gw MF9iYXR0ZXJ5XSkKWyAgODgzLjMzNzg2MF0gWzxiZjAwODRjOD5dIChicTI3eDAwX2JhdHRlcnlf cG9sbCsweDE0LzB4NDggW2JxMjd4MDBfYmF0dGVyeV0pIGZyb20gWzxiZjAwODU2Yz5dIChicTI3 eDAwX2JhdHRlcnlfZ2V0X3Byb3BlcnR5KzB4NTAvMHgzMjQgW2JxMjd4MDBfYmF0dGVyeV0pClsg IDg4My4zNTIzMjVdIFs8YmYwMDg1NmM+XSAoYnEyN3gwMF9iYXR0ZXJ5X2dldF9wcm9wZXJ0eSsw eDUwLzB4MzI0IFticTI3eDAwX2JhdHRlcnldKSBmcm9tIFs8YzAyYzk2ZTA+XSAocG93ZXJfc3Vw cGx5X3Nob3dfcHJvcGVydHkrMHg0OC8weDE4NCkKWyAgODgzLjM2NTc1M10gWzxjMDJjOTZlMD5d IChwb3dlcl9zdXBwbHlfc2hvd19wcm9wZXJ0eSsweDQ4LzB4MTg0KSBmcm9tIFs8YzAyYzk4OTg+ XSAocG93ZXJfc3VwcGx5X3VldmVudCsweDdjLzB4MTc0KQpbICA4ODMuMzc2NzM5XSBbPGMwMmM5 ODk4Pl0gKHBvd2VyX3N1cHBseV91ZXZlbnQrMHg3Yy8weDE3NCkgZnJvbSBbPGMwMjQxNDE4Pl0g KGRldl91ZXZlbnQrMHgxMjgvMHgxNjgpClsgIDg4My4zODYzNTJdIFs8YzAyNDE0MTg+XSAoZGV2 X3VldmVudCsweDEyOC8weDE2OCkgZnJvbSBbPGMwMWU1NDU0Pl0gKGtvYmplY3RfdWV2ZW50X2Vu disweDFlYy8weDRhYykKWyAgODgzLjM5NTk2NV0gWzxjMDFlNTQ1ND5dIChrb2JqZWN0X3VldmVu dF9lbnYrMHgxZWMvMHg0YWMpIGZyb20gWzxjMDI0MWVjND5dIChkZXZpY2VfYWRkKzB4MzE4LzB4 NDg0KQpbICA4ODMuNDA1NTQ4XSBbPGMwMjQxZWM0Pl0gKGRldmljZV9hZGQrMHgzMTgvMHg0ODQp IGZyb20gWzxjMDJjOTRlYz5dIChwb3dlcl9zdXBwbHlfcmVnaXN0ZXIrMHhlOC8weDE3NCkKWyAg ODgzLjQxNTM3NF0gWzxjMDJjOTRlYz5dIChwb3dlcl9zdXBwbHlfcmVnaXN0ZXIrMHhlOC8weDE3 NCkgZnJvbSBbPGJmMDA4NDQ0Pl0gKGJxMjd4MDBfcG93ZXJzdXBwbHlfaW5pdCsweDhjLzB4ZmMg W2JxMjd4MDBfYmF0dGVyeV0pClsgIDg4My40Mjc5MTddIFs8YmYwMDg0NDQ+XSAoYnEyN3gwMF9w b3dlcnN1cHBseV9pbml0KzB4OGMvMHhmYyBbYnEyN3gwMF9iYXR0ZXJ5XSkgZnJvbSBbPGJmMDA4 OWUwPl0gKGJxMjd4MDBfYmF0dGVyeV9wcm9iZSsweDE0OC8weDFjNCBbYnEyN3gwMF9iYXR0ZXJ5 XSkKWyAgODgzLjQ0MjE5OV0gWzxiZjAwODllMD5dIChicTI3eDAwX2JhdHRlcnlfcHJvYmUrMHgx NDgvMHgxYzQgW2JxMjd4MDBfYmF0dGVyeV0pIGZyb20gWzxjMDJjNWJkOD5dIChpMmNfZGV2aWNl X3Byb2JlKzB4NzQvMHg5YykKWyAgODgzLjQ1NDA3MV0gWzxjMDJjNWJkOD5dIChpMmNfZGV2aWNl X3Byb2JlKzB4NzQvMHg5YykgZnJvbSBbPGMwMjQ0MGYwPl0gKGRyaXZlcl9wcm9iZV9kZXZpY2Ur MHhjOC8weDE4OCkKWyAgODgzLjQ2NDA1MF0gWzxjMDI0NDBmMD5dIChkcml2ZXJfcHJvYmVfZGV2 aWNlKzB4YzgvMHgxODgpIGZyb20gWzxjMDI0NDIxOD5dIChfX2RyaXZlcl9hdHRhY2grMHg2OC8w eDhjKQpbICA4ODMuNDczOTM3XSBbPGMwMjQ0MjE4Pl0gKF9fZHJpdmVyX2F0dGFjaCsweDY4LzB4 OGMpIGZyb20gWzxjMDI0MzhhOD5dIChidXNfZm9yX2VhY2hfZGV2KzB4NDQvMHg3NCkKWyAgODgz LjQ4MzQ1OV0gWzxjMDI0MzhhOD5dIChidXNfZm9yX2VhY2hfZGV2KzB4NDQvMHg3NCkgZnJvbSBb PGMwMjQzMWRjPl0gKGJ1c19hZGRfZHJpdmVyKzB4MTA0LzB4MjkwKQpbICA4ODMuNDkzMDcyXSBb PGMwMjQzMWRjPl0gKGJ1c19hZGRfZHJpdmVyKzB4MTA0LzB4MjkwKSBmcm9tIFs8YzAyNDQ1MGM+ XSAoZHJpdmVyX3JlZ2lzdGVyKzB4YTgvMHgxMzApClsgIDg4My41MDI2ODVdIFs8YzAyNDQ1MGM+ XSAoZHJpdmVyX3JlZ2lzdGVyKzB4YTgvMHgxMzApIGZyb20gWzxjMDJjNWVjOD5dIChpMmNfcmVn aXN0ZXJfZHJpdmVyKzB4NDAvMHg5MCkKWyAgODgzLjUxMjU3M10gWzxjMDJjNWVjOD5dIChpMmNf cmVnaXN0ZXJfZHJpdmVyKzB4NDAvMHg5MCkgZnJvbSBbPGJmMDBjMDEwPl0gKGJxMjd4MDBfYmF0 dGVyeV9pbml0KzB4MTAvMHg2NCBbYnEyN3gwMF9iYXR0ZXJ5XSkKWyAgODgzLjUyNDQ3NV0gWzxi ZjAwYzAxMD5dIChicTI3eDAwX2JhdHRlcnlfaW5pdCsweDEwLzB4NjQgW2JxMjd4MDBfYmF0dGVy eV0pIGZyb20gWzxjMDAzNjQwOD5dIChkb19vbmVfaW5pdGNhbGwrMHhjOC8weDE5YykKWyAgODgz LjUzNjEwMl0gWzxjMDAzNjQwOD5dIChkb19vbmVfaW5pdGNhbGwrMHhjOC8weDE5YykgZnJvbSBb PGMwMDlkMDM0Pl0gKHN5c19pbml0X21vZHVsZSsweDkwLzB4MWIwKQpbICA4ODMuNTQ1NzE1XSBb PGMwMDlkMDM0Pl0gKHN5c19pbml0X21vZHVsZSsweDkwLzB4MWIwKSBmcm9tIFs8YzAwNDA1ZTA+ XSAocmV0X2Zhc3Rfc3lzY2FsbCsweDAvMHgzMCkKWyAgODgzLjU1NTIzNl0gQ29kZTogZTI4ODMw MDQgZTE1MjAwMDMgMGEwMDAwMDIgZTNhMDMwMDAgKGU1ODMzMDAwKSAKWyAgODkwLjAzNjgwNF0g QlVHOiBzcGlubG9jayBsb2NrdXAgb24gQ1BVIzAsIGluc21vZC8xMTU0LCBjMDU1M2RhMApbICA4 OTAuMDQzMTUxXSBbPGMwMDQ2YzJjPl0gKHVud2luZF9iYWNrdHJhY2UrMHgwLzB4ZWMpIGZyb20g WzxjMDFlZWEzMD5dIChkb19yYXdfc3Bpbl9sb2NrKzB4MTEwLzB4MTRjKQpbICA4OTAuMDUyODU2 XSBbPGMwMWVlYTMwPl0gKGRvX3Jhd19zcGluX2xvY2srMHgxMTAvMHgxNGMpIGZyb20gWzxjMDNj ZWIyMD5dIChfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4NDAvMHg0YykKWyAgODkwLjA2MzIwMV0g WzxjMDNjZWIyMD5dIChfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4NDAvMHg0YykgZnJvbSBbPGMw MDdlZTZjPl0gKF9fcXVldWVfd29yaysweGQ0LzB4MjYwKQpbICA4OTAuMDczMDU5XSBbPGMwMDdl ZTZjPl0gKF9fcXVldWVfd29yaysweGQ0LzB4MjYwKSBmcm9tIFs8YzAwN2YwNDQ+XSAocXVldWVf d29ya19vbisweDJjLzB4MzQpClsgIDg5MC4wODIxNTNdIFs8YzAwN2YwNDQ+XSAocXVldWVfd29y a19vbisweDJjLzB4MzQpIGZyb20gWzxjMDJhYzczOD5dIChtdXNiX2ludGVycnVwdCsweDc4Yy8w eDg3NCkKWyAgODkwLjA5MTQ2MV0gWzxjMDJhYzczOD5dIChtdXNiX2ludGVycnVwdCsweDc4Yy8w eDg3NCkgZnJvbSBbPGMwMmFjODdjPl0gKGdlbmVyaWNfaW50ZXJydXB0KzB4NWMvMHg3NCkKWyAg ODkwLjEwMTE5Nl0gWzxjMDJhYzg3Yz5dIChnZW5lcmljX2ludGVycnVwdCsweDVjLzB4NzQpIGZy b20gWzxjMDBhMTJjOD5dIChoYW5kbGVfSVJRX2V2ZW50KzB4NjQvMHgxN2MpClsgIDg5MC4xMTA5 OTJdIFs8YzAwYTEyYzg+XSAoaGFuZGxlX0lSUV9ldmVudCsweDY0LzB4MTdjKSBmcm9tIFs8YzAw YTM0YTg+XSAoaGFuZGxlX2xldmVsX2lycSsweGJjLzB4MTNjKQpbICA4OTAuMTIwNzg4XSBbPGMw MGEzNGE4Pl0gKGhhbmRsZV9sZXZlbF9pcnErMHhiYy8weDEzYykgZnJvbSBbPGMwMDM2MDc0Pl0g KGFzbV9kb19JUlErMHg3NC8weDk4KQpbICA4OTAuMTI5OTQzXSBbPGMwMDM2MDc0Pl0gKGFzbV9k b19JUlErMHg3NC8weDk4KSBmcm9tIFs8YzAzY2YyYjQ+XSAoX19pcnFfc3ZjKzB4MzQvMHg4MCkK WyAgODkwLjEzODM2Nl0gRXhjZXB0aW9uIHN0YWNrKDB4YzE1Yzk3YjAgdG8gMHhjMTVjOTdmOCkK WyAgODkwLjE0MzY3Nl0gOTdhMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YzA1NTY3NzQgYzA1ODRkMjAgMDAwMDAwMDAgYzA1OQpbICA4OTAuMTUyMjUyXSA5N2MwOiAwMDAw MDAyNSBjMTVjODAwMCBjZjBiNTAxOCAwMDAwMDAwMCAwMDAwMDAwMiAwMDAwMDAwYSAwMDAwMDAw MiBjMTVjOThjYwpbICA4OTAuMTYwODU4XSA5N2UwOiBjMTVjODAwMCBjMTVjOTdmOCBjMDA2ZWIx NCBjMDA2ZTk4YyAyMDAwMDExMyBmZmZmZmZmZgpbICA4OTAuMTY3ODQ2XSBbPGMwM2NmMmI0Pl0g KF9faXJxX3N2YysweDM0LzB4ODApIGZyb20gWzxjMDA2ZTk4Yz5dIChfX2RvX3NvZnRpcnErMHgz Yy8weDE4NCkKWyAgODkwLjE3NjU0NF0gWzxjMDA2ZTk4Yz5dIChfX2RvX3NvZnRpcnErMHgzYy8w eDE4NCkgZnJvbSBbPGMwMDZlYjE0Pl0gKGlycV9leGl0KzB4NDAvMHg4YykKWyAgODkwLjE4NTE1 MF0gWzxjMDA2ZWIxND5dIChpcnFfZXhpdCsweDQwLzB4OGMpIGZyb20gWzxjMDAzNjA3OD5dIChh c21fZG9fSVJRKzB4NzgvMHg5OCkKWyAgODkwLjE5MzQ4MV0gWzxjMDAzNjA3OD5dIChhc21fZG9f SVJRKzB4NzgvMHg5OCkgZnJvbSBbPGMwM2NmMmI0Pl0gKF9faXJxX3N2YysweDM0LzB4ODApClsg IDg5MC4yMDE4NzNdIEV4Y2VwdGlvbiBzdGFjaygweGMxNWM5ODQwIHRvIDB4YzE1Yzk4ODgpClsg IDg5MC4yMDcxODNdIDk4NDA6IGNmMGI1MDFjIGMwNTg0ZDIwIGNlNmY4YTQwIDAwMDAwMDAxIGNm MGI1MDFjIGNlNmY4YTQwIGNmMGI1MDE4IDAwMDAwMDgwClsgIDg5MC4yMTU3ODldIDk4NjA6IGMx NWM4MDAwIGNmMGI1MDFjIDAwMDAwMDAyIGMxNWM5OGNjIGMxNWM4MDAwIGMxNWM5ODg4IGMwM2Nm MDBjIGMwM2NmMDEwClsgIDg5MC4yMjQzOTVdIDk4ODA6IDYwMDAwMTEzIGZmZmZmZmZmClsgIDg5 MC4yMjgwODhdIFs8YzAzY2YyYjQ+XSAoX19pcnFfc3ZjKzB4MzQvMHg4MCkgZnJvbSBbPGMwM2Nm MDEwPl0gKF9yYXdfc3Bpbl91bmxvY2tfaXJxKzB4MjQvMHgyOCkKWyAgODkwLjIzNzQyNl0gWzxj MDNjZjAxMD5dIChfcmF3X3NwaW5fdW5sb2NrX2lycSsweDI0LzB4MjgpIGZyb20gWzxjMDNjY2Jj MD5dICh3YWl0X2Zvcl9jb21tb24rMHhkOC8weDE3OCkKWyAgODkwLjI0NzQwNl0gWzxjMDNjY2Jj MD5dICh3YWl0X2Zvcl9jb21tb24rMHhkOC8weDE3OCkgZnJvbSBbPGMwMmM4Yzc4Pl0gKG9tYXBf aTJjX3hmZXIrMHgyMDgvMHgzMGMpClsgIDg5MC4yNTY4OTZdIFs8YzAyYzhjNzg+XSAob21hcF9p MmNfeGZlcisweDIwOC8weDMwYykgZnJvbSBbPGMwMmM2YjQwPl0gKGkyY190cmFuc2ZlcisweGIw LzB4MTBjKQpbICA4OTAuMjY2MTc0XSBbPGMwMmM2YjQwPl0gKGkyY190cmFuc2ZlcisweGIwLzB4 MTBjKSBmcm9tIFs8YzAyNGYzMjQ+XSAodHdsX2kyY19yZWFkKzB4ZDQvMHgxMjApClsgIDg5MC4y NzUyMzhdIFs8YzAyNGYzMjQ+XSAodHdsX2kyY19yZWFkKzB4ZDQvMHgxMjApIGZyb20gWzxjMDIx ZWQ1MD5dICh0d2xyZWdfZ3JwKzB4MTgvMHgyNCkKWyAgODkwLjI4NDA1N10gWzxjMDIxZWQ1MD5d ICh0d2xyZWdfZ3JwKzB4MTgvMHgyNCkgZnJvbSBbPGMwMjFlZTAwPl0gKHR3bHJlZ19pc19lbmFi bGVkKzB4OC8weDJjKQpbICA4OTAuMjkzMDkwXSBbPGMwMjFlZTAwPl0gKHR3bHJlZ19pc19lbmFi bGVkKzB4OC8weDJjKSBmcm9tIFs8YzAyMWJlN2M+XSAoX3JlZ3VsYXRvcl9pc19lbmFibGVkKzB4 MjAvMHgyNCkKWyAgODkwLjMwMzE2MV0gWzxjMDIxYmU3Yz5dIChfcmVndWxhdG9yX2lzX2VuYWJs ZWQrMHgyMC8weDI0KSBmcm9tIFs8YzAyMWUzN2M+XSAoX3JlZ3VsYXRvcl9lbmFibGUrMHg5OC8w eDFkNCkKWyAgODkwLjMxMzQxNV0gWzxjMDIxZTM3Yz5dIChfcmVndWxhdG9yX2VuYWJsZSsweDk4 LzB4MWQ0KSBmcm9tIFs8YzAyMWU0ZDg+XSAocmVndWxhdG9yX2VuYWJsZSsweDIwLzB4MzQpClsg IDg5MC4zMjMyMTFdIFs8YzAyMWU0ZDg+XSAocmVndWxhdG9yX2VuYWJsZSsweDIwLzB4MzQpIGZy b20gWzxjMDIxNGQzMD5dIChvbWFwZHNzX2RwaV9kaXNwbGF5X2VuYWJsZSsweDJjLzB4YjgpClsg IDg5MC4zMzM3NDBdIFs8YzAyMTRkMzA+XSAob21hcGRzc19kcGlfZGlzcGxheV9lbmFibGUrMHgy Yy8weGI4KSBmcm9tIFs8YzAyMWIxNmM+XSAodHBvX3RkMDQzX3Bvd2VyX29uKzB4MmMvMHhmOCkK WyAgODkwLjM0NDQ1MV0gWzxjMDIxYjE2Yz5dICh0cG9fdGQwNDNfcG93ZXJfb24rMHgyYy8weGY4 KSBmcm9tIFs8YzAyMWIyNDQ+XSAodHBvX3RkMDQzX3Jlc3VtZSsweGMvMHgxYykKWyAgODkwLjM1 NDE1Nl0gWzxjMDIxYjI0ND5dICh0cG9fdGQwNDNfcmVzdW1lKzB4Yy8weDFjKSBmcm9tIFs8YzAy MTcwMzg+XSAob21hcGZiX2JsYW5rKzB4YWMvMHgxOTgpClsgIDg5MC4zNjM0MDNdIFs8YzAyMTcw Mzg+XSAob21hcGZiX2JsYW5rKzB4YWMvMHgxOTgpIGZyb20gWzxjMDFmODdjND5dIChmYl9ibGFu aysweDNjLzB4NjgpClsgIDg5MC4zNzIwMDldIFs8YzAxZjg3YzQ+XSAoZmJfYmxhbmsrMHgzYy8w eDY4KSBmcm9tIFs8YzAyMDExYTA+XSAoZmJjb25fYmxhbmsrMHgxMGMvMHgyNDApClsgIDg5MC4z ODA2MTVdIFs8YzAyMDExYTA+XSAoZmJjb25fYmxhbmsrMHgxMGMvMHgyNDApIGZyb20gWzxjMDIz Mzc0MD5dIChkb191bmJsYW5rX3NjcmVlbisweDExNC8weDE5YykKWyAgODkwLjM5MDI1OF0gWzxj MDIzMzc0MD5dIChkb191bmJsYW5rX3NjcmVlbisweDExNC8weDE5YykgZnJvbSBbPGMwMWVjMTk4 Pl0gKGJ1c3Rfc3BpbmxvY2tzKzB4MjAvMHg0NCkKWyAgODkwLjM5OTk2M10gWzxjMDFlYzE5OD5d IChidXN0X3NwaW5sb2NrcysweDIwLzB4NDQpIGZyb20gWzxjMDA0NDcxYz5dIChkaWUrMHgxNGMv MHgxZGMpClsgIDg5MC40MDgzODZdIFs8YzAwNDQ3MWM+XSAoZGllKzB4MTRjLzB4MWRjKSBmcm9t IFs8YzAwNGE5Mzg+XSAoX19kb19rZXJuZWxfZmF1bHQrMHg2NC8weDg0KQpbICA4OTAuNDE3MDgz XSBbPGMwMDRhOTM4Pl0gKF9fZG9fa2VybmVsX2ZhdWx0KzB4NjQvMHg4NCkgZnJvbSBbPGMwM2Qx MTA0Pl0gKGRvX3BhZ2VfZmF1bHQrMHgyOTgvMHgyYzApClsgIDg5MC40MjY2OTZdIFs8YzAzZDEx MDQ+XSAoZG9fcGFnZV9mYXVsdCsweDI5OC8weDJjMCkgZnJvbSBbPGMwMDM2MmRjPl0gKGRvX0Rh dGFBYm9ydCsweDM0LzB4OTQpClsgIDg5MC40MzU4NTJdIFs8YzAwMzYyZGM+XSAoZG9fRGF0YUFi b3J0KzB4MzQvMHg5NCkgZnJvbSBbPGMwM2NmMjZjPl0gKF9fZGFidF9zdmMrMHg0Yy8weDYwKQpb ICA4OTAuNDQ0NTE5XSBFeGNlcHRpb24gc3RhY2soMHhjMTVjOWM1OCB0byAweGMxNWM5Y2EwKQpb ICA4OTAuNDQ5ODI5XSA5YzQwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjZjAxN2MwMCBjZjAwNWM4MApbICA4OTAuNDU4NDM1XSA5YzYwOiAw MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBjZjAxN2MwMCBjMDU1M2RhMCBjZjE2 M2NkMCBjMDU3YTkzNApbICA4OTAuNDY3MDQxXSA5YzgwOiBjZjE2M2QxNCA0MDAwMDAxMyBjZTZm OGE0MCBjMTVjOWNhMCBjMDA3ZWU3YyBjMDA3ZWVkOCAwMDAwMDA5MyBmZmZmZmZmZgpbICA4OTAu NDc1NjQ2XSBbPGMwM2NmMjZjPl0gKF9fZGFidF9zdmMrMHg0Yy8weDYwKSBmcm9tIFs8YzAwN2Vl ZDg+XSAoX19xdWV1ZV93b3JrKzB4MTQwLzB4MjYwKQpbICA4OTAuNDg0NTI3XSBbPGMwMDdlZWQ4 Pl0gKF9fcXVldWVfd29yaysweDE0MC8weDI2MCkgZnJvbSBbPGMwMDdmMDQ0Pl0gKHF1ZXVlX3dv cmtfb24rMHgyYy8weDM0KQpbICA4OTAuNDkzNjgyXSBbPGMwMDdmMDQ0Pl0gKHF1ZXVlX3dvcmtf b24rMHgyYy8weDM0KSBmcm9tIFs8YmYwMDgzOTA+XSAoYnEyN3gwMF91cGRhdGUrMHgxZjgvMHgy MjAgW2JxMjd4MDBfYmF0dGVyeV0pClsgIDg5MC41MDQ2OTldIFs8YmYwMDgzOTA+XSAoYnEyN3gw MF91cGRhdGUrMHgxZjgvMHgyMjAgW2JxMjd4MDBfYmF0dGVyeV0pIGZyb20gWzxiZjAwODRjOD5d IChicTI3eDAwX2JhdHRlcnlfcG9sbCsweDE0LzB4NDggW2JxMjd4MDBfYmF0dGVyeV0pClsgIDg5 MC41MTc5NzRdIFs8YmYwMDg0Yzg+XSAoYnEyN3gwMF9iYXR0ZXJ5X3BvbGwrMHgxNC8weDQ4IFti cTI3eDAwX2JhdHRlcnldKSBmcm9tIFs8YmYwMDg1NmM+XSAoYnEyN3gwMF9iYXR0ZXJ5X2dldF9w cm9wZXJ0eSsweDUwLzB4MzI0IFticTI3eDAwX2JhdHRlcnldKQpbICA4OTAuNTMyNDQwXSBbPGJm MDA4NTZjPl0gKGJxMjd4MDBfYmF0dGVyeV9nZXRfcHJvcGVydHkrMHg1MC8weDMyNCBbYnEyN3gw MF9iYXR0ZXJ5XSkgZnJvbSBbPGMwMmM5NmUwPl0gKHBvd2VyX3N1cHBseV9zaG93X3Byb3BlcnR5 KzB4NDgvMHgxODQpClsgIDg5MC41NDU4OThdIFs8YzAyYzk2ZTA+XSAocG93ZXJfc3VwcGx5X3No b3dfcHJvcGVydHkrMHg0OC8weDE4NCkgZnJvbSBbPGMwMmM5ODk4Pl0gKHBvd2VyX3N1cHBseV91 ZXZlbnQrMHg3Yy8weDE3NCkKWyAgODkwLjU1Njg4NF0gWzxjMDJjOTg5OD5dIChwb3dlcl9zdXBw bHlfdWV2ZW50KzB4N2MvMHgxNzQpIGZyb20gWzxjMDI0MTQxOD5dIChkZXZfdWV2ZW50KzB4MTI4 LzB4MTY4KQpbICA4OTAuNTY2NDk3XSBbPGMwMjQxNDE4Pl0gKGRldl91ZXZlbnQrMHgxMjgvMHgx NjgpIGZyb20gWzxjMDFlNTQ1ND5dIChrb2JqZWN0X3VldmVudF9lbnYrMHgxZWMvMHg0YWMpClsg IDg5MC41NzYxMTBdIFs8YzAxZTU0NTQ+XSAoa29iamVjdF91ZXZlbnRfZW52KzB4MWVjLzB4NGFj KSBmcm9tIFs8YzAyNDFlYzQ+XSAoZGV2aWNlX2FkZCsweDMxOC8weDQ4NCkKWyAgODkwLjU4NTY5 M10gWzxjMDI0MWVjND5dIChkZXZpY2VfYWRkKzB4MzE4LzB4NDg0KSBmcm9tIFs8YzAyYzk0ZWM+ XSAocG93ZXJfc3VwcGx5X3JlZ2lzdGVyKzB4ZTgvMHgxNzQpClsgIDg5MC41OTU1MjBdIFs8YzAy Yzk0ZWM+XSAocG93ZXJfc3VwcGx5X3JlZ2lzdGVyKzB4ZTgvMHgxNzQpIGZyb20gWzxiZjAwODQ0 ND5dIChicTI3eDAwX3Bvd2Vyc3VwcGx5X2luaXQrMHg4Yy8weGZjIFticTI3eDAwX2JhdHRlcnld KQpbICA4OTAuNjA4MDYyXSBbPGJmMDA4NDQ0Pl0gKGJxMjd4MDBfcG93ZXJzdXBwbHlfaW5pdCsw eDhjLzB4ZmMgW2JxMjd4MDBfYmF0dGVyeV0pIGZyb20gWzxiZjAwODllMD5dIChicTI3eDAwX2Jh dHRlcnlfcHJvYmUrMHgxNDgvMHgxYzQgW2JxMjd4MDBfYmF0dGVyeV0pClsgIDg5MC42MjIzNDRd IFs8YmYwMDg5ZTA+XSAoYnEyN3gwMF9iYXR0ZXJ5X3Byb2JlKzB4MTQ4LzB4MWM0IFticTI3eDAw X2JhdHRlcnldKSBmcm9tIFs8YzAyYzViZDg+XSAoaTJjX2RldmljZV9wcm9iZSsweDc0LzB4OWMp ClsgIDg5MC42MzQyNDZdIFs8YzAyYzViZDg+XSAoaTJjX2RldmljZV9wcm9iZSsweDc0LzB4OWMp IGZyb20gWzxjMDI0NDBmMD5dIChkcml2ZXJfcHJvYmVfZGV2aWNlKzB4YzgvMHgxODgpClsgIDg5 MC42NDQxOTVdIFs8YzAyNDQwZjA+XSAoZHJpdmVyX3Byb2JlX2RldmljZSsweGM4LzB4MTg4KSBm cm9tIFs8YzAyNDQyMTg+XSAoX19kcml2ZXJfYXR0YWNoKzB4NjgvMHg4YykKWyAgODkwLjY1NDA4 M10gWzxjMDI0NDIxOD5dIChfX2RyaXZlcl9hdHRhY2grMHg2OC8weDhjKSBmcm9tIFs8YzAyNDM4 YTg+XSAoYnVzX2Zvcl9lYWNoX2RldisweDQ0LzB4NzQpClsgIDg5MC42NjM2MDRdIFs8YzAyNDM4 YTg+XSAoYnVzX2Zvcl9lYWNoX2RldisweDQ0LzB4NzQpIGZyb20gWzxjMDI0MzFkYz5dIChidXNf YWRkX2RyaXZlcisweDEwNC8weDI5MCkKWyAgODkwLjY3MzIxN10gWzxjMDI0MzFkYz5dIChidXNf YWRkX2RyaXZlcisweDEwNC8weDI5MCkgZnJvbSBbPGMwMjQ0NTBjPl0gKGRyaXZlcl9yZWdpc3Rl cisweGE4LzB4MTMwKQpbICA4OTAuNjgyODMwXSBbPGMwMjQ0NTBjPl0gKGRyaXZlcl9yZWdpc3Rl cisweGE4LzB4MTMwKSBmcm9tIFs8YzAyYzVlYzg+XSAoaTJjX3JlZ2lzdGVyX2RyaXZlcisweDQw LzB4OTApClsgIDg5MC42OTI3MThdIFs8YzAyYzVlYzg+XSAoaTJjX3JlZ2lzdGVyX2RyaXZlcisw eDQwLzB4OTApIGZyb20gWzxiZjAwYzAxMD5dIChicTI3eDAwX2JhdHRlcnlfaW5pdCsweDEwLzB4 NjQgW2JxMjd4MDBfYmF0dGVyeV0pClsgIDg5MC43MDQ2MjBdIFs8YmYwMGMwMTA+XSAoYnEyN3gw MF9iYXR0ZXJ5X2luaXQrMHgxMC8weDY0IFticTI3eDAwX2JhdHRlcnldKSBmcm9tIFs8YzAwMzY0 MDg+XSAoZG9fb25lX2luaXRjYWxsKzB4YzgvMHgxOWMpClsgIDg5MC43MTYyNDddIFs8YzAwMzY0 MDg+XSAoZG9fb25lX2luaXRjYWxsKzB4YzgvMHgxOWMpIGZyb20gWzxjMDA5ZDAzND5dIChzeXNf aW5pdF9tb2R1bGUrMHg5MC8weDFiMCkKWyAgODkwLjcyNTg2MF0gWzxjMDA5ZDAzND5dIChzeXNf aW5pdF9tb2R1bGUrMHg5MC8weDFiMCkgZnJvbSBbPGMwMDQwNWUwPl0gKHJldF9mYXN0X3N5c2Nh bGwrMHgwLzB4MzApCg== --0015175cd5b0cd3b81049c59d6a1 Content-Type: text/x-diff; charset=US-ASCII; name="0001-bq27x00-Use-single-i2c_transfer-call-for-property-re.patch" Content-Disposition: attachment; filename="0001-bq27x00-Use-single-i2c_transfer-call-for-property-re.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gk7e988f1 RnJvbSA4ZmM1YmRhZjAzM2Q4MzRkMTcyOGNkNzBjMjQwZDMxYmM0NTczMzZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHcmF6dnlkYXMgSWdub3RhcyA8bm90YXNhc0BnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMTUgRmViIDIwMTEgMjM6Mjc6MzUgKzAyMDAKU3ViamVjdDogW1BBVENIXSBi cTI3eDAwOiBVc2Ugc2luZ2xlIGkyY190cmFuc2ZlciBjYWxsIGZvciBwcm9wZXJ0eSByZWFkCgpE b2luZyB0aGlzIGJ5IHVzaW5nIDIgY2FsbHMgc29tZXRpbWVzIHJlc3VsdHMgaW4gdW5leHBlY3Rl ZAp2YWx1ZXMgYmVpbmcgcmV0dXJuZWQgb24gT01BUDMgaTJjIGNvbnRyb2xsZXIuCgpTaWduZWQt b2ZmLWJ5OiBHcmF6dnlkYXMgSWdub3RhcyA8bm90YXNhc0BnbWFpbC5jb20+Ci0tLQogZHJpdmVy cy9wb3dlci9icTI3eDAwX2JhdHRlcnkuYyB8ICAgMjcgKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tCiAxIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcG93ZXIvYnEyN3gwMF9iYXR0ZXJ5LmMgYi9kcml2ZXJzL3Bv d2VyL2JxMjd4MDBfYmF0dGVyeS5jCmluZGV4IDc0MGEwYWMuLjU5ZTY4ZGIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvcG93ZXIvYnEyN3gwMF9iYXR0ZXJ5LmMKKysrIGIvZHJpdmVycy9wb3dlci9icTI3 eDAwX2JhdHRlcnkuYwpAQCAtNTY1LDMxICs1NjUsMjYgQEAgc3RhdGljIERFRklORV9NVVRFWChi YXR0ZXJ5X211dGV4KTsKIHN0YXRpYyBpbnQgYnEyN3gwMF9yZWFkX2kyYyhzdHJ1Y3QgYnEyN3gw MF9kZXZpY2VfaW5mbyAqZGksIHU4IHJlZywgYm9vbCBzaW5nbGUpCiB7CiAJc3RydWN0IGkyY19j bGllbnQgKmNsaWVudCA9IHRvX2kyY19jbGllbnQoZGktPmRldik7Ci0Jc3RydWN0IGkyY19tc2cg bXNnOworCXN0cnVjdCBpMmNfbXNnIG1zZ1syXTsKIAl1bnNpZ25lZCBjaGFyIGRhdGFbMl07CiAJ aW50IHJldDsKIAogCWlmICghY2xpZW50LT5hZGFwdGVyKQogCQlyZXR1cm4gLUVOT0RFVjsKIAot CW1zZy5hZGRyID0gY2xpZW50LT5hZGRyOwotCW1zZy5mbGFncyA9IDA7Ci0JbXNnLmxlbiA9IDE7 Ci0JbXNnLmJ1ZiA9IGRhdGE7Ci0KLQlkYXRhWzBdID0gcmVnOwotCXJldCA9IGkyY190cmFuc2Zl cihjbGllbnQtPmFkYXB0ZXIsICZtc2csIDEpOwotCi0JaWYgKHJldCA8IDApCi0JCXJldHVybiBy ZXQ7Ci0KKwltc2dbMF0uYWRkciA9IGNsaWVudC0+YWRkcjsKKwltc2dbMF0uZmxhZ3MgPSAwOwor CW1zZ1swXS5idWYgPSAmcmVnOworCW1zZ1swXS5sZW4gPSBzaXplb2YocmVnKTsKKwltc2dbMV0u YWRkciA9IGNsaWVudC0+YWRkcjsKKwltc2dbMV0uZmxhZ3MgPSBJMkNfTV9SRDsKKwltc2dbMV0u YnVmID0gZGF0YTsKIAlpZiAoc2luZ2xlKQotCQltc2cubGVuID0gMTsKKwkJbXNnWzFdLmxlbiA9 IDE7CiAJZWxzZQotCQltc2cubGVuID0gMjsKKwkJbXNnWzFdLmxlbiA9IDI7CiAKLQltc2cuZmxh Z3MgPSBJMkNfTV9SRDsKLQlyZXQgPSBpMmNfdHJhbnNmZXIoY2xpZW50LT5hZGFwdGVyLCAmbXNn LCAxKTsKKwlyZXQgPSBpMmNfdHJhbnNmZXIoY2xpZW50LT5hZGFwdGVyLCBtc2csIEFSUkFZX1NJ WkUobXNnKSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKLS0gCjEuNi4zLjMKCg== --0015175cd5b0cd3b81049c59d6a1-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/