Return-Path: From: "Yao, Costa" To: Marcel Holtmann CC: "padovan@profusion.mobi" , "linux-bluetooth@vger.kernel.org" , "Fan, Hong" , "Wu, Frank" , "Chen, Jack" , "Chang, Robert" , "Wang, Tom" , "Liu, Haijun" , QCA.Mgr.Haijun.Liu-All Subject: RE: [PATCH] Bluetooth: btusb: Add support for Qualcomm Atheros composite chip 3006 Date: Wed, 9 Nov 2011 11:30:57 +0000 Message-ID: <07BBB2AAB1A10A488A2AD166C7CB8B0DEE9DC0@nasanexd02b.na.qualcomm.com> References: <07BBB2AAB1A10A488A2AD166C7CB8B0DEE9C9B@nasanexd02b.na.qualcomm.com> <1320824916.15441.328.camel@aeonflux> In-Reply-To: <1320824916.15441.328.camel@aeonflux> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 List-ID: SGkgTWFyY2VsLA0KICAgDQpGb3IgeW91ciBmaXJzdCBjb21tZW50LCANClllcywgd2UgY2FuIGp1 c3QgYWRkIGRldmljZSB3aXRoIC5kcml2ZXJfaW5mbyBpbiBidHVzYl90YWJsZSwgbm90IGluIGJs YWNrbGlzdF90YWJsZS4NCg0KRm9yIHlvdXIgb3RoZXIgY29tbWVudHMsDQpBcyB0aGUgZGV2aWNl IGhhcyA0IFVTQiBpbnRlcmZhY2VzIGFuZCBpbnRlcmZhY2UgMiBpcyBmb3IgQmx1ZXRvb3RoIGZ1 bmN0aW9uLiBXZSBuZWVkIHRvIGJ5cGFzcyB0aGUgSUYgc3RhdGUgaW4gYnR1c2IuYyBhcyBmb2xs b3c6DQogICAgICBpZiAoaW50Zi0+Y3VyX2FsdHNldHRpbmctPmRlc2MuYkludGVyZmFjZU51YmVy ICE9MCkNCiAgICAgIHJldHVybiAtRU5PREVWOw0KICAgDQpTbyB3ZSB1c2UgYSBjb21wb3NpdGVf ZGV2aWNlX3RhYmxlIG1hdGNoaW5nIG1lY2hhbmlzbSBhbmQgdXNlIGZvcndhcmQganVtcCB0byBi eXBhc3MgdGhlIGJJbnRlcmZhY2VOdW1iZXIgY2hlY2suDQpBbmQgb3RoZXIgdmVuZG9ycyBhbHNv IGNhbiBhZGQgdGhlaXIgY29tcG9zaXRlIGRldmljZSBpbiB0aGUgY29tcG9zaXRlX2RldmljZV90 YWJsZSB0byBieXBhc3MgdGhlIGNoZWNrLg0KDQpCZXN0IHdpc2hlcywNCkNvc3RhIHlhbw0KDQog ICANCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE1hcmNlbCBIb2x0bWFubiBb bWFpbHRvOm1hcmNlbEBob2x0bWFubi5vcmddIA0KU2VudDogMjAxMeW5tDEx5pyIOeaXpSAxNTo0 OQ0KVG86IFlhbywgQ29zdGENCkNjOiBwYWRvdmFuQHByb2Z1c2lvbi5tb2JpOyBsaW51eC1ibHVl dG9vdGhAdmdlci5rZXJuZWwub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIXSBCbHVldG9vdGg6IGJ0 dXNiOiBBZGQgc3VwcG9ydCBmb3IgUXVhbGNvbW0gQXRoZXJvcyBjb21wb3NpdGUgY2hpcCAzMDA2 DQoNCkhpIENvc3RhLA0KDQo+IEFSMzAwNiBpcyBhIGNvbXBvc2l0ZSBkZXZpY2UsIGFuZCBpbnRl cmZhY2UgMCBpcyB1c2VkIGZvciBoaWQgZnVuY3Rpb24sIG5vdCBmb3IgYmx1ZXRvb3RoIGZ1bmN0 aW9uLg0KPiBXZSBzaG91bGQgbWFrZSB0aGUgZm9sbG93aW5nIGNoYW5nZXM6DQo+IDEgQmxhY2ts aXN0IEFSMzAwNiBQSUQvVklEIGluIGJ0dXNiX3RhYmxlDQo+IDIgQWRkIGNvbXBvc2l0ZV9kZXZp Y2VfdGFibGUgaW4gYnR1c2IuYyB0byByZWdpc3RlciBjb21wb3NpdGUgZGV2aWNlDQo+IDMgRm9y IEFSMzAwNiBjb21wb3NpdGUgZGV2aWNlLCBpbnRlcmZhY2UgMyBpcyB1c2VkIGZvciBkYXRhLT5p c29jDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0YSBZYW8gPGNxeWFvQHFjYS5xdWFsY29tbS5j b20+DQo+IC0tLQ0KPiAgZHJpdmVycy9ibHVldG9vdGgvYnR1c2IuYyB8ICAgMzcgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KPiAgMSBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmx1 ZXRvb3RoL2J0dXNiLmMgYi9kcml2ZXJzL2JsdWV0b290aC9idHVzYi5jIA0KPiBpbmRleCA5ZGIy NDc2Li5kMzA2ZGVjIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2JsdWV0b290aC9idHVzYi5jDQo+ ICsrKyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2J0dXNiLmMNCj4gQEAgLTU1LDYgKzU1LDcgQEAgc3Rh dGljIHN0cnVjdCB1c2JfZHJpdmVyIGJ0dXNiX2RyaXZlcjsNCj4gICNkZWZpbmUgQlRVU0JfQlJP S0VOX0lTT0MJMHgyMA0KPiAgI2RlZmluZSBCVFVTQl9XUk9OR19TQ09fTVRVCTB4NDANCj4gICNk ZWZpbmUgQlRVU0JfQVRIMzAxMgkJMHg4MA0KPiArI2RlZmluZSBCVFVTQl9BVEgzMDA2CQkweDAx MDANCj4gIA0KPiAgc3RhdGljIHN0cnVjdCB1c2JfZGV2aWNlX2lkIGJ0dXNiX3RhYmxlW10gPSB7 DQo+ICAJLyogR2VuZXJpYyBCbHVldG9vdGggVVNCIGRldmljZSAqLw0KPiBAQCAtMTAwLDYgKzEw MSw5IEBAIHN0YXRpYyBzdHJ1Y3QgdXNiX2RldmljZV9pZCBidHVzYl90YWJsZVtdID0gew0KPiAg CS8qIENhbnlvbiBDTi1CVFUxIHdpdGggSElEIGludGVyZmFjZXMgKi8NCj4gIAl7IFVTQl9ERVZJ Q0UoMHgwYzEwLCAweDAwMDApIH0sDQo+ICANCj4gKwkvKiBRdWFsY29tbSBBdGhlcm9zIHdpdGgg SElEIGludGVyZmFjZXMgKi8NCj4gKwl7IFVTQl9ERVZJQ0UoMHgwY2YzLCAweDMwMDYpIH0sDQo+ ICsNCj4gIAl7IH0JLyogVGVybWluYXRpbmcgZW50cnkgKi8NCj4gIH07DQo+ICANCj4gQEAgLTEy Miw2ICsxMjYsNyBAQCBzdGF0aWMgc3RydWN0IHVzYl9kZXZpY2VfaWQgYmxhY2tsaXN0X3RhYmxl W10gPSB7DQo+ICANCj4gIAkvKiBBdGhlcm9zIDMwMTIgd2l0aCBzZmxhc2ggZmlybXdhcmUgKi8N Cj4gIAl7IFVTQl9ERVZJQ0UoMHgwY2YzLCAweDMwMDQpLCAuZHJpdmVyX2luZm8gPSBCVFVTQl9B VEgzMDEyIH0sDQo+ICsJeyBVU0JfREVWSUNFKDB4MGNmMywgMHgzMDA2KSwgLmRyaXZlcl9pbmZv ID0gQlRVU0JfQVRIMzAwNiB9LA0KPiAgDQo+ICAJLyogQXRoZXJvcyBBUjVCQlUxMiB3aXRoIHNm bGFzaCBmaXJtd2FyZSAqLw0KPiAgCXsgVVNCX0RFVklDRSgweDA0ODksIDB4ZTAyYyksIC5kcml2 ZXJfaW5mbyA9IEJUVVNCX0lHTk9SRSB9LCBAQCANCj4gLTE3OSw2ICsxODQsMTggQEAgc3RhdGlj IHN0cnVjdCB1c2JfZGV2aWNlX2lkIGJsYWNrbGlzdF90YWJsZVtdID0gew0KPiAgCXsgfQkvKiBU ZXJtaW5hdGluZyBlbnRyeSAqLw0KPiAgfTsNCg0KSSBkbyBub3QgdW5kZXJzdGFuZCB3aHkgdGhl IGRldmljZSBoYXMgdG8gYmUgaW4gYm90aCB0YWJsZXMuIFRoYXQgbWFrZXMgbm8gc2Vuc2UgdG8g bWUuDQogDQo+ICsvKg0KPiArICogRm9yIGNvbXBvc2l0ZSBkZXZpY2UsIGludGVyZmFjZSAwIG1h eSBiZSBub3QgZm9yIGJsdWV0b290aCBmdW5jdGlvbi4NCj4gKyAqIEl0IGlzIGJldHRlciB0byBs ZXQgdGhlIHZlbmRvciBjb2RlIHRvIGhhbmRsZSB0aGlzIHNpdHVhdGlvbi4NCj4gKyAqIFNvLCB3 ZSB1c2UgY29tcG9zaXRlX2RldmljZV90YWJsZSB0byByZWNvcmQgdGhlIGNvbXBvc2l0ZSBkZXZp Y2VzLg0KPiArICovDQo+ICtzdGF0aWMgc3RydWN0IHVzYl9kZXZpY2VfaWQgY29tcG9zaXRlX2Rl dmljZV90YWJsZVtdID0gew0KPiArCS8qIFF1YWxjb21tIEF0aGVyb3MgY29tcG9zaXRlIGRldmlj ZSAzMDA2ICovDQo+ICsJeyBVU0JfREVWSUNFKDB4MGNmMywgMHgzMDA2KSB9LA0KPiArDQo+ICsJ eyB9CS8qIFRlcm1pbmF0aW5nIGVudHJ5ICovDQo+ICt9Ow0KPiArDQoNCkFuZCBhZ2FpbiwgYW5v dGhlciAzcmQgdGFibGUgd2l0aCB0aGUgc2FtZSBlbnRyeS4gV2h5IGRvIHlvdSBuZWVkIHRoaXM/ DQoNCj4gICNkZWZpbmUgQlRVU0JfTUFYX0lTT0NfRlJBTUVTCTEwDQo+ICANCj4gICNkZWZpbmUg QlRVU0JfSU5UUl9SVU5OSU5HCTANCj4gQEAgLTkxMiwxMyArOTI5LDI1IEBAIHN0YXRpYyBpbnQg YnR1c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGYsDQo+ICAJc3RydWN0IGJ0dXNi X2RhdGEgKmRhdGE7DQo+ICAJc3RydWN0IGhjaV9kZXYgKmhkZXY7DQo+ICAJaW50IGksIGVycjsN Cj4gKwljb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqbWF0Y2hfY29tcF9kZXY7DQo+ICANCj4g IAlCVF9EQkcoImludGYgJXAgaWQgJXAiLCBpbnRmLCBpZCk7DQo+ICANCj4gKwkvKiBGb3IgY29t cG9zaXRlIGRldmljZQ0KPiArCSogaXQgbWF5IG5vdCB0aGUgY2FzZSB0aGF0IGludGVyZmFjZSAw IGlzIGZvciBibHVldG9vdGggZnVuY3Rpb24uDQo+ICsJKi8NCj4gKwltYXRjaF9jb21wX2RldiA9 IHVzYl9tYXRjaF9pZChpbnRmLCBjb21wb3NpdGVfZGV2aWNlX3RhYmxlKTsNCj4gKwlpZiAobWF0 Y2hfY29tcF9kZXYpIHsNCj4gKwkJaWYgKGludGYtPmN1cl9hbHRzZXR0aW5nLT5kZXNjLmJJbnRl cmZhY2VOdW1iZXIgIT0gMikNCj4gKwkJCXJldHVybiAtRU5PREVWOw0KPiArCQlnb3RvIG1hdGNo X2lkOw0KPiArCX0NCj4gKw0KDQpTbyBzZXJpb3VzbHksIHRoaXMgY2FuIGJlIGRvbmUgdmlhIHRo ZSBtYWluIHRhYmxlIGFuZCAuZHJpdmVyX2luZm8uIFRoZSBjb21wb3NpdGUgdGFibGUgaXMgdG90 YWwgd2FzdGUuDQoNCj4gIAkvKiBpbnRlcmZhY2UgbnVtYmVycyBhcmUgaGFyZGNvZGVkIGluIHRo ZSBzcGVjICovDQo+ICAJaWYgKGludGYtPmN1cl9hbHRzZXR0aW5nLT5kZXNjLmJJbnRlcmZhY2VO dW1iZXIgIT0gMCkNCj4gIAkJcmV0dXJuIC1FTk9ERVY7DQo+ICANCj4gK21hdGNoX2lkOg0KDQpJ IGRvIG5vdCBsaWtlIHRoaXMgZm9yd2FyZCBqdW1wLg0KDQo+ICAJaWYgKCFpZC0+ZHJpdmVyX2lu Zm8pIHsNCj4gIAkJY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKm1hdGNoOw0KPiAgCQltYXRj aCA9IHVzYl9tYXRjaF9pZChpbnRmLCBibGFja2xpc3RfdGFibGUpOyBAQCAtOTM4LDcgKzk2Nyw4 IEBAIA0KPiBzdGF0aWMgaW50IGJ0dXNiX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRm LA0KPiAgCWlmIChpZ25vcmVfc25pZmZlciAmJiBpZC0+ZHJpdmVyX2luZm8gJiBCVFVTQl9TTklG RkVSKQ0KPiAgCQlyZXR1cm4gLUVOT0RFVjsNCj4gIA0KPiAtCWlmIChpZC0+ZHJpdmVyX2luZm8g JiBCVFVTQl9BVEgzMDEyKSB7DQo+ICsJaWYgKChpZC0+ZHJpdmVyX2luZm8gJiBCVFVTQl9BVEgz MDEyKSB8fA0KPiArCQkJCShpZC0+ZHJpdmVyX2luZm8gJiBCVFVTQl9BVEgzMDA2KSkgew0KPiAg CQlzdHJ1Y3QgdXNiX2RldmljZSAqdWRldiA9IGludGVyZmFjZV90b191c2JkZXYoaW50Zik7DQo+ ICANCj4gIAkJLyogT2xkIGZpcm13YXJlIHdvdWxkIG90aGVyd2lzZSBsZXQgYXRoM2sgZHJpdmVy IGxvYWQgQEAgLTEwNjIsNiANCj4gKzEwOTIsMTEgQEAgc3RhdGljIGludCBidHVzYl9wcm9iZShz dHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwNCj4gIAkJfQ0KPiAgCX0NCj4gIA0KPiArCWlmIChp ZC0+ZHJpdmVyX2luZm8gJiBCVFVTQl9BVEgzMDA2KSB7DQo+ICsJCUJUX0VSUigiaGFyZGNvZGVk OiBJbnRlcmZhY2UgMyIpOw0KPiArCQlkYXRhLT5pc29jID0gdXNiX2lmbnVtX3RvX2lmKGRhdGEt PnVkZXYsIDMpOw0KPiArCX0NCj4gKw0KPiAgCWlmIChkYXRhLT5pc29jKSB7DQo+ICAJCWVyciA9 IHVzYl9kcml2ZXJfY2xhaW1faW50ZXJmYWNlKCZidHVzYl9kcml2ZXIsDQo+ICAJCQkJCQkJZGF0 YS0+aXNvYywgZGF0YSk7DQoNCkFjdHVhbGx5IEkgYW0gbW9yZSBhbmQgbW9yZSB0aGlua2luZyB0 aGF0IHNvbWV0aGluZyBpcyBkb25lIGhlcmUgd2F5IHRvbyBjb21wbGljYXRlZC4gUGxlYXNlIHBv c3QgdGhlIC9wcm9jL2J1cy91c2IvZGV2aWNlcyBjb250ZW50IGZvciB0aGlzIGRldmljZSBiZWZv cmUgYW5kIGFmdGVyIGZpcm13YXJlIGdvdCBsb2FkZWQuDQoNClJlZ2FyZHMNCg0KTWFyY2VsDQoN Cg0K