Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932367AbaGDLHO (ORCPT ); Fri, 4 Jul 2014 07:07:14 -0400 Received: from relay-s04-hub001.domainlocalhost.com ([74.115.207.100]:41117 "EHLO relay-S04-HUB001.domainlocalhost.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755354AbaGDLHL (ORCPT ); Fri, 4 Jul 2014 07:07:11 -0400 Content-Type: multipart/mixed; boundary="_000_77BC725C9062764F874D79F51E1F1A8F4C90DDB4S04MBX0104s04lo_" From: Dudley Du To: "Dmitry Torokhov (dmitry.torokhov@gmail.com)" CC: Alan Stern , Benson Leung , Patrik Fimml , "Rafael J. Wysocki" , "linux-input@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Dudley Du Subject: [PATCH v3 7/14] input: cyapa: add gen3 trackpad device firmware update function support Thread-Topic: [PATCH v3 7/14] input: cyapa: add gen3 trackpad device firmware update function support Thread-Index: Ac+XeBfhHbelJU/ZTce5BgsOJ7iq5Q== Date: Fri, 4 Jul 2014 11:07:09 +0000 Message-ID: <77BC725C9062764F874D79F51E1F1A8F4C90DDB4@S04-MBX01-04.s04.local> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: <77BC725C9062764F874D79F51E1F1A8F4C90DDB4@S04-MBX01-04.s04.local> x-originating-ip: [10.30.12.145] MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --_000_77BC725C9062764F874D79F51E1F1A8F4C90DDB4S04MBX0104s04lo_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIGZpcm13YXJlIGltYWdlIHVwZGF0ZSBmdW5jdGlvbiBzdXBwb3J0ZWQgZm9yIGdlbjMgdHJh Y2twYWQgZGV2aWNlLA0Kd2hpY2ggaXRzIGZ1bmN0aW9uIGlzIHN1cHBsaWVkIHRocm91Z2ggY3lh cGEgY29yZSB1cGRhdGVfZncgaW50ZXJmYWNlLg0KVEVTVD10ZXN0IG9uIENocm9tZWJvb2tzLg0K DQpTaWduZWQtb2ZmLWJ5OiBEdWRsZXkgRHUgPGR1ZGxAY3lwcmVzcy5jb20+DQotLS0NCiBkcml2 ZXJzL2lucHV0L21vdXNlL2N5YXBhX2dlbjMuYyB8ICAyOTAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCiAxIGZpbGUgY2hhbmdlZCwgMjkwIGluc2VydGlvbnMoKykNCg0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvbW91c2UvY3lhcGFfZ2VuMy5jIGIvZHJpdmVycy9p bnB1dC9tb3VzZS9jeWFwYV9nZW4zLmMNCmluZGV4IGQxNDJhYzIuLjI2Zjg5NzUgMTAwNjQ0DQot LS0gYS9kcml2ZXJzL2lucHV0L21vdXNlL2N5YXBhX2dlbjMuYw0KKysrIGIvZHJpdmVycy9pbnB1 dC9tb3VzZS9jeWFwYV9nZW4zLmMNCkBAIC0zOTgsNiArMzk4LDc4IEBAIHN0YXRpYyBpbnQgY3lh cGFfZ2VuM19zdGF0ZV9wYXJzZShzdHJ1Y3QgY3lhcGEgKmN5YXBhLCB1OCAqcmVnX2RhdGEsIGlu dCBsZW4pDQogICAgICAgIHJldHVybiAtRUFHQUlOOw0KIH0NCg0KKy8qDQorICogRW50ZXIgYm9v dGxvYWRlciBieSBzb2Z0IHJlc2V0dGluZyB0aGUgZGV2aWNlLg0KKyAqDQorICogSWYgZGV2aWNl IGlzIGFscmVhZHkgaW4gdGhlIGJvb3Rsb2FkZXIsIHRoZSBmdW5jdGlvbiBqdXN0IHJldHVybnMu DQorICogT3RoZXJ3aXNlLCByZXNldCB0aGUgZGV2aWNlOyBhZnRlciByZXNldCwgZGV2aWNlIGVu dGVycyBib290bG9hZGVyIGlkbGUNCisgKiBzdGF0ZSBpbW1lZGlhdGVseS4NCisgKg0KKyAqIEFs c28sIGlmIGRldmljZSB3YXMgdW5yZWdpc3RlciBkZXZpY2UgZnJvbSBpbnB1dCBjb3JlLiAgRGV2 aWNlIHdpbGwNCisgKiByZS1yZWdpc3RlciBhZnRlciBpdCBpcyBkZXRlY3RlZCBmb2xsb3dpbmcg cmVzdW1wdGlvbiBvZiBvcGVyYXRpb25hbCBtb2RlLg0KKyAqDQorICogUmV0dXJuczoNCisgKiAg IDAgb24gc3VjY2Vzcw0KKyAqICAgLUVBR0FJTiAgZGV2aWNlIHdhcyByZXNldCwgYnV0IGlzIG5v dCBub3cgaW4gYm9vdGxvYWRlciBpZGxlIHN0YXRlDQorICogICA8IDAgaWYgdGhlIGRldmljZSBu ZXZlciByZXNwb25kcyB3aXRoaW4gdGhlIHRpbWVvdXQNCisgKi8NCitzdGF0aWMgaW50IGN5YXBh X2dlbjNfYmxfZW50ZXIoc3RydWN0IGN5YXBhICpjeWFwYSkNCit7DQorICAgICAgIGludCByZXQ7 DQorDQorICAgICAgIGlmIChjeWFwYS0+aW5wdXQpIHsNCisgICAgICAgICAgICAgICBjeWFwYV9k aXNhYmxlX2lycShjeWFwYSk7DQorICAgICAgICAgICAgICAgaW5wdXRfdW5yZWdpc3Rlcl9kZXZp Y2UoY3lhcGEtPmlucHV0KTsNCisgICAgICAgICAgICAgICBjeWFwYS0+aW5wdXQgPSBOVUxMOw0K KyAgICAgICB9DQorDQorICAgICAgIHJldCA9IGN5YXBhX3BvbGxfc3RhdGUoY3lhcGEsIDUwMCk7 DQorICAgICAgIGlmIChyZXQgPCAwKQ0KKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQorICAg ICAgIGlmIChjeWFwYS0+c3RhdGUgPT0gQ1lBUEFfU1RBVEVfQkxfSURMRSkgew0KKyAgICAgICAg ICAgICAgIC8qIEFscmVhZHkgaW4gQkxfSURMRS4gU2tpcHBpbmcgcmVzZXQuICovDQorICAgICAg ICAgICAgICAgcmV0dXJuIDA7DQorICAgICAgIH0NCisNCisgICAgICAgaWYgKGN5YXBhLT5zdGF0 ZSAhPSBDWUFQQV9TVEFURV9PUCkNCisgICAgICAgICAgICAgICByZXR1cm4gLUVBR0FJTjsNCisN CisgICAgICAgY3lhcGEtPnN0YXRlID0gQ1lBUEFfU1RBVEVfTk9fREVWSUNFOw0KKyAgICAgICBy ZXQgPSBjeWFwYV93cml0ZV9ieXRlKGN5YXBhLCBDWUFQQV9DTURfU09GVF9SRVNFVCwgMHgwMSk7 DQorICAgICAgIGlmIChyZXQgPCAwKQ0KKyAgICAgICAgICAgICAgIHJldHVybiAtRUlPOw0KKw0K KyAgICAgICB1c2xlZXBfcmFuZ2UoMjUwMDAsIDUwMDAwKTsNCisgICAgICAgcmV0ID0gY3lhcGFf cG9sbF9zdGF0ZShjeWFwYSwgNTAwKTsNCisgICAgICAgaWYgKHJldCA8IDApDQorICAgICAgICAg ICAgICAgcmV0dXJuIHJldDsNCisgICAgICAgaWYgKChjeWFwYS0+c3RhdGUgIT0gQ1lBUEFfU1RB VEVfQkxfSURMRSkgfHwNCisgICAgICAgICAgICAgICAoY3lhcGEtPnN0YXR1c1tSRUdfQkxfU1RB VFVTXSAmIEJMX1NUQVRVU19XQVRDSERPRykpDQorICAgICAgICAgICAgICAgcmV0dXJuIC1FQUdB SU47DQorDQorICAgICAgIHJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IGN5YXBhX2dlbjNf YmxfYWN0aXZhdGUoc3RydWN0IGN5YXBhICpjeWFwYSkNCit7DQorICAgICAgIGludCByZXQ7DQor DQorICAgICAgIHJldCA9IGN5YXBhX2kyY19yZWdfd3JpdGVfYmxvY2soY3lhcGEsIDAsIHNpemVv ZihibF9hY3RpdmF0ZSksDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YmxfYWN0aXZhdGUpOw0KKyAgICAgICBpZiAocmV0IDwgMCkNCisgICAgICAgICAgICAgICByZXR1 cm4gcmV0Ow0KKw0KKyAgICAgICAvKiBXYWl0IGZvciBib290bG9hZGVyIHRvIGFjdGl2YXRlOyB0 YWtlcyBiZXR3ZWVuIDIgYW5kIDEyIHNlY29uZHMgKi8NCisgICAgICAgbXNsZWVwKDIwMDApOw0K KyAgICAgICByZXQgPSBjeWFwYV9wb2xsX3N0YXRlKGN5YXBhLCAxMTAwMCk7DQorICAgICAgIGlm IChyZXQgPCAwKQ0KKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQorICAgICAgIGlmIChjeWFw YS0+c3RhdGUgIT0gQ1lBUEFfU1RBVEVfQkxfQUNUSVZFKQ0KKyAgICAgICAgICAgICAgIHJldHVy biAtRUFHQUlOOw0KKw0KKyAgICAgICByZXR1cm4gMDsNCit9DQorDQogc3RhdGljIGludCBjeWFw YV9nZW4zX2JsX2RlYWN0aXZhdGUoc3RydWN0IGN5YXBhICpjeWFwYSkNCiB7DQogICAgICAgIGlu dCByZXQ7DQpAQCAtNDU4LDYgKzUzMCwyMTggQEAgc3RhdGljIGludCBjeWFwYV9nZW4zX2JsX2V4 aXQoc3RydWN0IGN5YXBhICpjeWFwYSkNCiAgICAgICAgcmV0dXJuIDA7DQogfQ0KDQorLyogVXNl ZCBpbiBnZW4zIGJvb3Rsb2FkZXIgY29tbWFuZHMuICovDQorc3RhdGljIHUxNiBjeWFwYV9nZW4z X2NzdW0oY29uc3QgdTggKmJ1Ziwgc2l6ZV90IGNvdW50KQ0KK3sNCisgICAgICAgaW50IGk7DQor ICAgICAgIHUxNiBjc3VtID0gMDsNCisNCisgICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBp KyspDQorICAgICAgICAgICAgICAgY3N1bSArPSBidWZbaV07DQorDQorICAgICAgIHJldHVybiBj c3VtOw0KK30NCisNCisvKg0KKyAqIFZlcmlmeSB0aGUgaW50ZWdyaXR5IG9mIGEgQ1lBUEEgZmly bXdhcmUgaW1hZ2UgZmlsZS4NCisgKg0KKyAqIFRoZSBmaXJtd2FyZSBpbWFnZSBmaWxlIGlzIDMw ODQ4IGJ5dGVzLCBjb21wb3NlZCBvZiA0ODIgNjQtYnl0ZSBibG9ja3MuDQorICoNCisgKiBUaGUg Zmlyc3QgMiBibG9ja3MgYXJlIHRoZSBmaXJtd2FyZSBoZWFkZXIuDQorICogVGhlIG5leHQgNDgw IGJsb2NrcyBhcmUgdGhlIGZpcm13YXJlIGltYWdlLg0KKyAqDQorICogVGhlIGZpcnN0IHR3byBi eXRlcyBvZiB0aGUgaGVhZGVyIGhvbGQgdGhlIGhlYWRlciBjaGVja3N1bSwgY29tcHV0ZWQgYnkN CisgKiBzdW1taW5nIHRoZSBvdGhlciAxMjYgYnl0ZXMgb2YgdGhlIGhlYWRlci4NCisgKiBUaGUg bGFzdCB0d28gYnl0ZXMgb2YgdGhlIGhlYWRlciBob2xkIHRoZSBmaXJtd2FyZSBpbWFnZSBjaGVj a3N1bSwgY29tcHV0ZWQNCisgKiBieSBzdW1taW5nIHRoZSAzMDcyMCBieXRlcyBvZiB0aGUgaW1h Z2UgbW9kdWxvIDB4ZmZmZi4NCisgKg0KKyAqIEJvdGggY2hlY2tzdW1zIGFyZSBzdG9yZWQgbGl0 dGxlLWVuZGlhbi4NCisgKi8NCitzdGF0aWMgaW50IGN5YXBhX2dlbjNfY2hlY2tfZncoc3RydWN0 IGN5YXBhICpjeWFwYSwgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykNCit7DQorICAgICAgIHN0 cnVjdCBkZXZpY2UgKmRldiA9ICZjeWFwYS0+Y2xpZW50LT5kZXY7DQorICAgICAgIHUxNiBjc3Vt Ow0KKyAgICAgICB1MTYgY3N1bV9leHBlY3RlZDsNCisNCisgICAgICAgLyogRmlybXdhcmUgbXVz dCBtYXRjaCBleGFjdCAzMDg0OCBieXRlcyA9IDQ4MiA2NC1ieXRlIGJsb2Nrcy4gKi8NCisgICAg ICAgaWYgKGZ3LT5zaXplICE9IENZQVBBX0ZXX1NJWkUpIHsNCisgICAgICAgICAgICAgICBkZXZf ZXJyKGRldiwgImludmFsaWQgZmlybXdhcmUgc2l6ZSA9ICV6dSwgZXhwZWN0ZWQgJXUuXG4iLA0K KyAgICAgICAgICAgICAgICAgICAgICAgZnctPnNpemUsIENZQVBBX0ZXX1NJWkUpOw0KKyAgICAg ICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KKyAgICAgICB9DQorDQorICAgICAgIC8qIFZlcmlm eSBoZWFkZXIgYmxvY2sgKi8NCisgICAgICAgY3N1bV9leHBlY3RlZCA9IChmdy0+ZGF0YVswXSA8 PCA4KSB8IGZ3LT5kYXRhWzFdOw0KKyAgICAgICBjc3VtID0gY3lhcGFfZ2VuM19jc3VtKCZmdy0+ ZGF0YVsyXSwgQ1lBUEFfRldfSERSX1NJWkUgLSAyKTsNCisgICAgICAgaWYgKGNzdW0gIT0gY3N1 bV9leHBlY3RlZCkgew0KKyAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiJXMgJTA0eCwgZXhw ZWN0ZWQ6ICUwNHhcbiIsDQorICAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCBmaXJtd2Fy ZSBoZWFkZXIgY2hlY2tzdW0gPSAiLA0KKyAgICAgICAgICAgICAgICAgICAgICAgY3N1bSwgY3N1 bV9leHBlY3RlZCk7DQorICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQorICAgICAgIH0N CisNCisgICAgICAgLyogVmVyaWZ5IGZpcm13YXJlIGltYWdlICovDQorICAgICAgIGNzdW1fZXhw ZWN0ZWQgPSAoZnctPmRhdGFbQ1lBUEFfRldfSERSX1NJWkUgLSAyXSA8PCA4KSB8DQorICAgICAg ICAgICAgICAgICAgICAgICAgZnctPmRhdGFbQ1lBUEFfRldfSERSX1NJWkUgLSAxXTsNCisgICAg ICAgY3N1bSA9IGN5YXBhX2dlbjNfY3N1bSgmZnctPmRhdGFbQ1lBUEFfRldfSERSX1NJWkVdLA0K KyAgICAgICAgICAgICAgICAgICAgICAgQ1lBUEFfRldfREFUQV9TSVpFKTsNCisgICAgICAgaWYg KGNzdW0gIT0gY3N1bV9leHBlY3RlZCkgew0KKyAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAi JXMgJTA0eCwgZXhwZWN0ZWQ6ICUwNHhcbiIsDQorICAgICAgICAgICAgICAgICAgICAgICAiaW52 YWxpZCBmaXJtd2FyZSBoZWFkZXIgY2hlY2tzdW0gPSAiLA0KKyAgICAgICAgICAgICAgICAgICAg ICAgY3N1bSwgY3N1bV9leHBlY3RlZCk7DQorICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 DQorICAgICAgIH0NCisgICAgICAgcmV0dXJuIDA7DQorfQ0KKw0KKy8qDQorICogV3JpdGUgYSB8 bGVufCBieXRlIGxvbmcgYnVmZmVyIHxidWZ8IHRvIHRoZSBkZXZpY2UsIGJ5IGNob3BwaW5nIGl0 IHVwIGludG8gYQ0KKyAqIHNlcXVlbmNlIG9mIHNtYWxsZXIgfENZQVBBX0NNRF9MRU58LWxlbmd0 aCB3cml0ZSBjb21tYW5kcy4NCisgKg0KKyAqIFRoZSBkYXRhIGJ5dGVzIGZvciBhIHdyaXRlIGNv bW1hbmQgYXJlIHByZXBlbmRlZCB3aXRoIHRoZSAxLWJ5dGUgb2Zmc2V0DQorICogb2YgdGhlIGRh dGEgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHxidWZ8Lg0KKyAqLw0KK3N0YXRpYyBpbnQgY3lh cGFfZ2VuM193cml0ZV9idWZmZXIoc3RydWN0IGN5YXBhICpjeWFwYSwNCisgICAgICAgICAgICAg ICBjb25zdCB1OCAqYnVmLCBzaXplX3QgbGVuKQ0KK3sNCisgICAgICAgaW50IHJldDsNCisgICAg ICAgc2l6ZV90IGk7DQorICAgICAgIHVuc2lnbmVkIGNoYXIgY21kW0NZQVBBX0NNRF9MRU4gKyAx XTsNCisgICAgICAgc2l6ZV90IGNtZF9sZW47DQorDQorICAgICAgIGZvciAoaSA9IDA7IGkgPCBs ZW47IGkgKz0gQ1lBUEFfQ01EX0xFTikgew0KKyAgICAgICAgICAgICAgIGNvbnN0IHU4ICpwYXls b2FkID0gJmJ1ZltpXTsNCisNCisgICAgICAgICAgICAgICBjbWRfbGVuID0gKGxlbiAtIGkgPj0g Q1lBUEFfQ01EX0xFTikgPyBDWUFQQV9DTURfTEVOIDogbGVuIC0gaTsNCisgICAgICAgICAgICAg ICBjbWRbMF0gPSBpOw0KKyAgICAgICAgICAgICAgIG1lbWNweSgmY21kWzFdLCBwYXlsb2FkLCBj bWRfbGVuKTsNCisNCisgICAgICAgICAgICAgICByZXQgPSBjeWFwYV9pMmNfcmVnX3dyaXRlX2Js b2NrKGN5YXBhLCAwLCBjbWRfbGVuICsgMSwgY21kKTsNCisgICAgICAgICAgICAgICBpZiAocmV0 IDwgMCkNCisgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQorICAgICAgIH0NCisg ICAgICAgcmV0dXJuIDA7DQorfQ0KKw0KKy8qDQorICogQSBmaXJtd2FyZSBibG9jayB3cml0ZSBj b21tYW5kIHdyaXRlcyA2NCBieXRlcyBvZiBkYXRhIHRvIGEgc2luZ2xlIGZsYXNoDQorICogcGFn ZSBpbiB0aGUgZGV2aWNlLiAgVGhlIDc4LWJ5dGUgYmxvY2sgd3JpdGUgY29tbWFuZCBoYXMgdGhl IGZvcm1hdDoNCisgKiAgIDwweGZmPiA8Q01EPiA8S2V5PiA8U3RhcnQ+IDxEYXRhPiA8RGF0YS1D aGVja3N1bT4gPENNRCBDaGVja3N1bT4NCisgKg0KKyAqICA8MHhmZj4gIC0gZXZlcnkgY29tbWFu ZCBzdGFydHMgd2l0aCAweGZmDQorICogIDxDTUQ+ICAgLSB0aGUgd3JpdGUgY29tbWFuZCB2YWx1 ZSBpcyAweDM5DQorICogIDxLZXk+ICAgLSB3cml0ZSBjb21tYW5kcyBpbmNsdWRlIGFuIDgtYnl0 ZSBrZXk6IHsgMDAgMDEgMDIgMDMgMDQgMDUgMDYgMDcgfQ0KKyAqICA8QmxvY2s+IC0gTWVtb3J5 IEJsb2NrIG51bWJlciAoYWRkcmVzcyAvIDY0KSAoMTYtYml0LCBiaWctZW5kaWFuKQ0KKyAqICA8 RGF0YT4gIC0gNjQgYnl0ZXMgb2YgZmlybXdhcmUgaW1hZ2UgZGF0YQ0KKyAqICA8RGF0YSBDaGVj a3N1bT4gLSBzdW0gb2YgNjQgPERhdGE+IGJ5dGVzLCBtb2R1bG8gMHhmZg0KKyAqICA8Q01EIENo ZWNrc3VtPiAtIHN1bSBvZiA3NyBieXRlcywgZnJvbSAweGZmIHRvIDxEYXRhIENoZWNrc3VtPg0K KyAqDQorICogRWFjaCB3cml0ZSBjb21tYW5kIGlzIHNwbGl0IGludG8gNSBpMmMgd3JpdGUgdHJh bnNhY3Rpb25zIG9mIHVwIHRvIDE2IGJ5dGVzLg0KKyAqIEVhY2ggdHJhbnNhY3Rpb24gc3RhcnRz IHdpdGggYW4gaTJjIHJlZ2lzdGVyIG9mZnNldDogKDAwLCAxMCwgMjAsIDMwLCA0MCkuDQorICov DQorc3RhdGljIGludCBjeWFwYV9nZW4zX3dyaXRlX2Z3X2Jsb2NrKHN0cnVjdCBjeWFwYSAqY3lh cGEsDQorICAgICAgICAgICAgICAgdTE2IGJsb2NrLCBjb25zdCB1OCAqZGF0YSkNCit7DQorICAg ICAgIGludCByZXQ7DQorICAgICAgIHU4IGNtZFs3OF07DQorICAgICAgIHU4IHN0YXR1c1tCTF9T VEFUVVNfU0laRV07DQorICAgICAgIC8qIFByb2dyYW1taW5nIGZvciBvbmUgYmxvY2sgY2FuIHRh a2UgYWJvdXQgMTAwbXMuICovDQorICAgICAgIGludCB0cmllcyA9IDExOw0KKyAgICAgICB1OCBi bF9zdGF0dXMsIGJsX2Vycm9yOw0KKw0KKyAgICAgICAvKiBzZXQgd3JpdGUgY29tbWFuZCBhbmQg c2VjdXJpdHkga2V5IGJ5dGVzLiAqLw0KKyAgICAgICBjbWRbMF0gPSAweGZmOw0KKyAgICAgICBj bWRbMV0gPSAweDM5Ow0KKyAgICAgICBjbWRbMl0gPSAweDAwOw0KKyAgICAgICBjbWRbM10gPSAw eDAxOw0KKyAgICAgICBjbWRbNF0gPSAweDAyOw0KKyAgICAgICBjbWRbNV0gPSAweDAzOw0KKyAg ICAgICBjbWRbNl0gPSAweDA0Ow0KKyAgICAgICBjbWRbN10gPSAweDA1Ow0KKyAgICAgICBjbWRb OF0gPSAweDA2Ow0KKyAgICAgICBjbWRbOV0gPSAweDA3Ow0KKyAgICAgICBjbWRbMTBdID0gYmxv Y2sgPj4gODsNCisgICAgICAgY21kWzExXSA9IGJsb2NrOw0KKyAgICAgICBtZW1jcHkoJmNtZFsx Ml0sIGRhdGEsIENZQVBBX0ZXX0JMT0NLX1NJWkUpOw0KKyAgICAgICBjbWRbNzZdID0gY3lhcGFf Z2VuM19jc3VtKGRhdGEsIENZQVBBX0ZXX0JMT0NLX1NJWkUpOw0KKyAgICAgICBjbWRbNzddID0g Y3lhcGFfZ2VuM19jc3VtKGNtZCwgc2l6ZW9mKGNtZCkgLSAxKTsNCisNCisgICAgICAgcmV0ID0g Y3lhcGFfZ2VuM193cml0ZV9idWZmZXIoY3lhcGEsIGNtZCwgc2l6ZW9mKGNtZCkpOw0KKyAgICAg ICBpZiAocmV0KQ0KKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQorDQorICAgICAgIC8qIHdh aXQgZm9yIHdyaXRlIHRvIGZpbmlzaCAqLw0KKyAgICAgICBkbyB7DQorICAgICAgICAgICAgICAg dXNsZWVwX3JhbmdlKDEwMDAwLCAyMDAwMCk7DQorDQorICAgICAgICAgICAgICAgLyogY2hlY2sg YmxvY2sgd3JpdGUgY29tbWFuZCByZXN1bHQgc3RhdHVzLiAqLw0KKyAgICAgICAgICAgICAgIHJl dCA9IGN5YXBhX2kyY19yZWdfcmVhZF9ibG9jayhjeWFwYSwgQkxfSEVBRF9PRkZTRVQsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJMX1NUQVRVU19TSVpF LCBzdGF0dXMpOw0KKyAgICAgICAgICAgICAgIGlmIChyZXQgIT0gQkxfU1RBVFVTX1NJWkUpDQor ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHJldCA8IDApID8gcmV0IDogLUVJTzsNCisg ICAgICAgfSB3aGlsZSAoKHN0YXR1c1tSRUdfQkxfU1RBVFVTXSAmIEJMX1NUQVRVU19CVVNZKSAm JiAtLXRyaWVzKTsNCisNCisgICAgICAgLyogaWdub3JlIFdBVENIRE9HIGJpdCBhbmQgcmVzZXJ2 ZWQgYml0cy4gKi8NCisgICAgICAgYmxfc3RhdHVzID0gc3RhdHVzW1JFR19CTF9TVEFUVVNdICYg fkJMX1NUQVRVU19SRVZfTUFTSzsNCisgICAgICAgYmxfZXJyb3IgPSBzdGF0dXNbUkVHX0JMX0VS Uk9SXSAmIH5CTF9FUlJPUl9SRVNFUlZFRDsNCisNCisgICAgICAgaWYgKGJsX3N0YXR1cyAmIEJM X1NUQVRVU19CVVNZKQ0KKyAgICAgICAgICAgICAgIHJldCA9IC1FVElNRURPVVQ7DQorICAgICAg IGVsc2UgaWYgKGJsX3N0YXR1cyAhPSBCTF9TVEFUVVNfUlVOTklORyB8fA0KKyAgICAgICAgICAg ICAgIGJsX2Vycm9yICE9IEJMX0VSUk9SX0JPT1RMT0FESU5HKQ0KKyAgICAgICAgICAgICAgIHJl dCA9IC1FSU87DQorICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICByZXQgPSAwOw0KKw0KKyAg ICAgICByZXR1cm4gcmV0Ow0KK30NCisNCitzdGF0aWMgaW50IGN5YXBhX2dlbjNfd3JpdGVfYmxv Y2tzKHN0cnVjdCBjeWFwYSAqY3lhcGEsDQorICAgICAgICAgICAgICAgc2l6ZV90IHN0YXJ0X2Js b2NrLCBzaXplX3QgYmxvY2tfY291bnQsDQorICAgICAgICAgICAgICAgY29uc3QgdTggKmltYWdl X2RhdGEpDQorew0KKyAgICAgICBpbnQgcmV0Ow0KKyAgICAgICBpbnQgaTsNCisNCisgICAgICAg Zm9yIChpID0gMDsgaSA8IGJsb2NrX2NvdW50OyBpKyspIHsNCisgICAgICAgICAgICAgICBzaXpl X3QgYmxvY2sgPSBzdGFydF9ibG9jayArIGk7DQorICAgICAgICAgICAgICAgc2l6ZV90IGFkZHIg PSBpICogQ1lBUEFfRldfQkxPQ0tfU0laRTsNCisgICAgICAgICAgICAgICBjb25zdCB1OCAqZGF0 YSA9ICZpbWFnZV9kYXRhW2FkZHJdOw0KKw0KKyAgICAgICAgICAgICAgIHJldCA9IGN5YXBhX2dl bjNfd3JpdGVfZndfYmxvY2soY3lhcGEsIGJsb2NrLCBkYXRhKTsNCisgICAgICAgICAgICAgICBp ZiAocmV0KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCisgICAgICAgfQ0K KyAgICAgICByZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBjeWFwYV9nZW4zX2RvX2Z3X3Vw ZGF0ZShzdHJ1Y3QgY3lhcGEgKmN5YXBhLA0KKyAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBm aXJtd2FyZSAqZncpDQorew0KKyAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmY3lhcGEtPmNs aWVudC0+ZGV2Ow0KKyAgICAgICBpbnQgcmV0Ow0KKw0KKyAgICAgICAvKiBGaXJzdCB3cml0ZSBk YXRhLCBzdGFydGluZyBhdCBieXRlIDEyOCAgb2YgZnctPmRhdGEgKi8NCisgICAgICAgcmV0ID0g Y3lhcGFfZ2VuM193cml0ZV9ibG9ja3MoY3lhcGEsDQorICAgICAgICAgICAgICAgQ1lBUEFfRldf REFUQV9CTE9DS19TVEFSVCwgQ1lBUEFfRldfREFUQV9CTE9DS19DT1VOVCwNCisgICAgICAgICAg ICAgICAmZnctPmRhdGFbQ1lBUEFfRldfSERSX0JMT0NLX0NPVU5UICogQ1lBUEFfRldfQkxPQ0tf U0laRV0pOw0KKyAgICAgICBpZiAocmV0KSB7DQorICAgICAgICAgICAgICAgZGV2X2VycihkZXYs ICJGVyB1cGRhdGUgYWJvcnRlZCwgd3JpdGUgaW1hZ2UsICVkXG4iLCByZXQpOw0KKyAgICAgICAg ICAgICAgIHJldHVybiByZXQ7DQorICAgICAgIH0NCisNCisgICAgICAgLyogVGhlbiB3cml0ZSBj aGVja3N1bSAqLw0KKyAgICAgICByZXQgPSBjeWFwYV9nZW4zX3dyaXRlX2Jsb2NrcyhjeWFwYSwN CisgICAgICAgICAgICAgICBDWUFQQV9GV19IRFJfQkxPQ0tfU1RBUlQsIENZQVBBX0ZXX0hEUl9C TE9DS19DT1VOVCwNCisgICAgICAgICAgICAgICAmZnctPmRhdGFbMF0pOw0KKyAgICAgICBpZiAo cmV0KSB7DQorICAgICAgICAgICAgICAgZGV2X2VycihkZXYsICJGVyB1cGRhdGUgYWJvcnRlZCwg d3JpdGUgY2hlY2tzdW0sICVkXG4iLCByZXQpOw0KKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7 DQorICAgICAgIH0NCisNCisgICAgICAgcmV0dXJuIDA7DQorfQ0KKw0KIC8qDQogICogY3lhcGFf Z2V0X3dhaXRfdGltZV9mb3JfcHdyX2NtZA0KICAqDQpAQCAtNzA5LDYgKzk5MywxMiBAQCBzdGF0 aWMgdm9pZCBjeWFwYV9nZW4zX2lycV9oYW5kbGVyKHN0cnVjdCBjeWFwYSAqY3lhcGEpDQogfQ0K DQogY29uc3Qgc3RydWN0IGN5YXBhX2Rldl9vcHMgY3lhcGFfZ2VuM19vcHMgPSB7DQorICAgICAg IC5jaGVja19mdyA9IGN5YXBhX2dlbjNfY2hlY2tfZncsDQorICAgICAgIC5ibF9lbnRlciA9IGN5 YXBhX2dlbjNfYmxfZW50ZXIsDQorICAgICAgIC5ibF9hY3RpdmF0ZSA9IGN5YXBhX2dlbjNfYmxf YWN0aXZhdGUsDQorICAgICAgIC51cGRhdGVfZncgPSBjeWFwYV9nZW4zX2RvX2Z3X3VwZGF0ZSwN CisgICAgICAgLmJsX2RlYWN0aXZhdGUgPSBjeWFwYV9nZW4zX2JsX2RlYWN0aXZhdGUsDQorDQog ICAgICAgIC5zdGF0ZV9wYXJzZSA9IGN5YXBhX2dlbjNfc3RhdGVfcGFyc2UsDQogICAgICAgIC5v cGVyYXRpb25hbF9jaGVjayA9IGN5YXBhX2dlbjNfZG9fb3BlcmF0aW9uYWxfY2hlY2ssDQoNCi0t DQoxLjcuOS41DQoNClRoaXMgbWVzc2FnZSBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWlu IEN5cHJlc3MgKG9yIGl0cyBzdWJzaWRpYXJpZXMpIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbi4g SWYgaXQgaGFzIGJlZW4gcmVjZWl2ZWQgaW4gZXJyb3IsIHBsZWFzZSBhZHZpc2UgdGhlIHNlbmRl ciBhbmQgaW1tZWRpYXRlbHkgZGVsZXRlIHRoaXMgbWVzc2FnZS4NCg== --_000_77BC725C9062764F874D79F51E1F1A8F4C90DDB4S04MBX0104s04lo_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" 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 dQBkAGwAQABjAHkAcAByAGUAcwBzAC4AYwBvAG0AAAAAAB8AHgwBAAAACgAAAFMATQBUAFAAAAAA AAIBGQwBAAAAWAAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAgEQAdQBkAGwAZQB5ACAARAB1AAAA UwBNAFQAUAAAAGQAdQBkAGwAQABjAHkAcAByAGUAcwBzAC4AYwBvAG0AAAAfAAFdAQAAACIAAABk AHUAZABsAEAAYwB5AHAAcgBlAHMAcwAuAGMAbwBtAAAAAAAfAPg/AQAAABQAAABEAHUAZABsAGUA eQAgAEQAdQAAAB8AI0ABAAAAIgAAAGQAdQBkAGwAQABjAHkAcAByAGUAcwBzAC4AYwBvAG0AAAAA AB8AIkABAAAACgAAAFMATQBUAFAAAAAAAAIB+T8BAAAAWAAAAAAAAACBKx+kvqMQGZ1uAN0BD1QC AAAAgEQAdQBkAGwAZQB5ACAARAB1AAAAUwBNAFQAUAAAAGQAdQBkAGwAQABjAHkAcAByAGUAcwBz AC4AYwBvAG0AAAAfAAldAQAAACIAAABkAHUAZABsAEAAYwB5AHAAcgBlAHMAcwAuAGMAbwBtAAAA AAAfADFAAQAAAAIAAAAAAAAACwBAOgEAAAAfADBAAQAAAAIAAAAAAAAAHwAaAAEAAAASAAAASQBQ AE0ALgBOAG8AdABlAAAAAAADAPE/BAgAAAsAQDoBAAAAAwD9P6gDAAACAQswAQAAABAAAACsxrat ono/QKoJIjWf8AD3AwAXAAEAAABAADkAgGwZGXiXzwFAAAgwKslxGXiXzwELACkAAAAAAAsAIwAA AAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAHgAAAGEAYwBjAGUAcAB0AGwAYQBuAGcAdQBhAGcA ZQAAAAAAAQAAABoAAAB6AGgALQBDAE4ALAAgAGUAbgAtAFUAUwAAAAAACwAAgAggBgAAAAAAwAAA AAAAAEYAAAAABoUAAAAAAAAfADcAAQAAALAAAABbAFAAQQBUAEMASAAgAHYAMwAgADcALwAxADQA XQAgAGkAbgBwAHUAdAA6ACAAYwB5AGEAcABhADoAIABhAGQAZAAgAGcAZQBuADMAIAB0AHIAYQBj AGsAcABhAGQAIABkAGUAdgBpAGMAZQAgAGYAaQByAG0AdwBhAHIAZQAgAHUAcABkAGEAdABlACAA ZgB1AG4AYwB0AGkAbwBuACAAcwB1AHAAcABvAHIAdAAAAB8APQABAAAAAgAAAAAAAAADADYAAAAA AAIBcQABAAAAFgAAAAHPl3gX4R23pSVP2U3HuQYLDie4quUAAB8AcAABAAAAsAAAAFsAUABBAFQA QwBIACAAdgAzACAANwAvADEANABdACAAaQBuAHAAdQB0ADoAIABjAHkAYQBwAGEAOgAgAGEAZABk ACAAZwBlAG4AMwAgAHQAcgBhAGMAawBwAGEAZAAgAGQAZQB2AGkAYwBlACAAZgBpAHIAbQB3AGEA cgBlACAAdQBwAGQAYQB0AGUAIABmAHUAbgBjAHQAaQBvAG4AIABzAHUAcABwAG8AcgB0AAAAHwA1 EAEAAACEAAAAPAA3ADcAQgBDADcAMgA1AEMAOQAwADYAMgA3ADYANABGADgANwA0AEQANwA5AEYA NQAxAEUAMQBGADEAQQA4AEYANABDADkAMABEAEQAQgA0AEAAUwAwADQALQBNAEIAWAAwADEALQAw ADQALgBzADAANAAuAGwAbwBjAGEAbAA+AAAAAwDeP+n9AAALAACACCAGAAAAAADAAAAAAAAARgAA AAADhQAAAAAAAAMAAIAIIAYAAAAAAMAAAAAAAABGAAAAAAGFAAAAAAAAAwAAgAMgBgAAAAAAwAAA AAAAAEYAAAAAAYEAAAAAAAADAIAQ/////wUAAIADIAYAAAAAAMAAAAAAAABGAAAAAAKBAAAAAAAA AAAAAAsAAIADIAYAAAAAAMAAAAAAAABGAAAAAByBAAAAAAAAQAAHMJIlShh4l88BCwACAAEAAAAD ACYAAAAAAAIBEDABAAAARgAAAAAAAACxH6E5MCBRRp20pXDe0J/UBwB3vHJckGJ2T4dNefUeHxqP AAAAmTwbAAC6pz7uy9f3QKN27zX8YVmJABiD/MObAAAAAB8A+j8BAAAAFAAAAEQAdQBkAGwAZQB5 ACAARAB1AAAAAwAJWQEAAAADAACACCAGAAAAAADAAAAAAAAARgAAAAAQhQAAAAAAAB8AAIAfpOsz qHouQr57eeGpjlSzAQAAADgAAABDAG8AbgB2AGUAcgBzAGEAdABpAG8AbgBJAG4AZABlAHgAVABy AGEAYwBrAGkAbgBnAEUAeAAAAAEAAAC6AAAASQBJAD0AMAAxAEMARgA5ADcANwA4ADEANwBFADEA MQBEAEIANwBBADUAMgA1ADQARgBEADkANABEAEMANwBCADkAMAA2ADAAQgAwAEUAMgA3AEIAOABB AEEARQA1ADsAVgBlAHIAcwBpAG8AbgA9AFYAZQByAHMAaQBvAG4AIAAxADQALgAzACAAKABCAHUA aQBsAGQAIAAxADcANAAuADAAKQAsACAAUwB0AGEAZwBlAD0ASAA0AAAAAAADAACAAyAGAAAAAADA AAAAAAAARgAAAAATgQAAAQAAAAMAAIADIAYAAAAAAMAAAAAAAABGAAAAACOBAAD///9/AwAAgAMg BgAAAAAAwAAAAAAAAEYAAAAAEIEAAAAAAAADAACAAyAGAAAAAADAAAAAAAAARgAAAAARgQAAAAAA AAsAAIADIAYAAAAAAMAAAAAAAABGAAAAACSBAAAAAAAACwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAA LIEAAAAAAAADAACAAyAGAAAAAADAAAAAAAAARgAAAAApgQAAAAAAAAMAAIADIAYAAAAAAMAAAAAA AABGAAAAACqBAAAAAAAAHwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAJ4EAAAEAAAACAAAAAAAAAAMA AIADIAYAAAAAAMAAAAAAAABGAAAAABKBAAABAAAAHwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAIYEA AAEAAAACAAAAAAAAAAsAAIADIAYAAAAAAMAAAAAAAABGAAAAAAOBAAAAAAAACwAAgAMgBgAAAAAA wAAAAAAAAEYAAAAAJoEAAAAAAAALAACACCAGAAAAAADAAAAAAAAARgAAAAAOhQAAAAAAAAMAAIAI IAYAAAAAAMAAAAAAAABGAAAAABiFAAAAAAAACwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAgoUAAAAA AAADAA00/T8AAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAACAAAAB4AC0AbQBzAC0AaABhAHMALQBh AHQAdABhAGMAaAAAAAEAAAACAAAAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAACIAAAB4AC0A bwByAGkAZwBpAG4AYQB0AGkAbgBnAC0AaQBwAAAAAAABAAAAHgAAAFsAMQAwAC4AMwAwAC4AMQAy AC4AMQA0ADUAXQAAAAAAzeM= --_000_77BC725C9062764F874D79F51E1F1A8F4C90DDB4S04MBX0104s04lo_-- -- 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/