From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-cys01nam02on0123.outbound.protection.outlook.com ([104.47.37.123]:7883 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933721AbeCSPtn (ORCPT ); Mon, 19 Mar 2018 11:49:43 -0400 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: Lukas Wunner , =?utf-8?B?RnLDqWTDqXJpYyBEYW5pcw==?= , Loic Poulain , Hans de Goede , =?utf-8?B?VXdlIEtsZWluZS1Lw7ZuaWc=?= , Linus Walleij , Marcel Holtmann , Sasha Levin Subject: [PATCH AUTOSEL for 4.15 099/124] Bluetooth: hci_bcm: Mandate presence of shutdown and device wake GPIO Date: Mon, 19 Mar 2018 15:48:50 +0000 Message-ID: <20180319154645.11350-99-alexander.levin@microsoft.com> References: <20180319154645.11350-1-alexander.levin@microsoft.com> In-Reply-To: <20180319154645.11350-1-alexander.levin@microsoft.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <784D2BCA4A7F4145851F0C31F8F932DA@namprd21.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: RnJvbTogTHVrYXMgV3VubmVyIDxsdWthc0B3dW5uZXIuZGU+DQoNClsgVXBzdHJlYW0gY29tbWl0 IDNlODFhNGNhNTFhMTE3MjI1MzA3OGNhN2FiZDZhOTEwNDBiOGZjZjQgXQ0KDQpDb21taXQgMDM5 NWZmYzFlZTA1ICgiQmx1ZXRvb3RoOiBoY2lfYmNtOiBBZGQgUE0gZm9yIEJDTSBkZXZpY2VzIikN CmFtZW5kZWQgdGhpcyBkcml2ZXIgdG8gcmVxdWVzdCBhIHNodXRkb3duIGFuZCBkZXZpY2Ugd2Fr ZSBHUElPIG9uIHByb2JlLA0KYnV0IG1hbmRhdGVkIHRoYXQgb25seSBvbmUgb2YgdGhlbSBuZWVk IHRvIGJlIHByZXNlbnQ6DQoNCgkvKiBNYWtlIHN1cmUgYXQtbGVhc3Qgb25lIG9mIHRoZSBHUElP IGlzIGRlZmluZWQgYW5kIHRoYXQNCgkgKiBhIG5hbWUgaXMgc3BlY2lmaWVkIGZvciB0aGlzIGlu c3RhbmNlDQoJICovDQoJaWYgKCghZGV2LT5kZXZpY2Vfd2FrZXVwICYmICFkZXYtPnNodXRkb3du KSB8fCAhZGV2LT5uYW1lKSB7DQoJCWRldl9lcnIoJnBkZXYtPmRldiwgImludmFsaWQgcGxhdGZv cm0gZGF0YVxuIik7DQoJCXJldHVybiAtRUlOVkFMOw0KCX0NCg0KSG93ZXZlciB0aGUgc2FtZSBj b21taXQgYWRkZWQgYSBjYWxsIHRvIGJjbV9ncGlvX3NldF9wb3dlcigpIHRvIHRoZQ0KLT5wcm9i ZSBob29rLCB3aGljaCB1bmNvbmRpdGlvbmFsbHkgYWNjZXNzZXMgKmJvdGgqIEdQSU9zLiAgTHVj a2lseSwNCnRoZSByZXN1bHRpbmcgTlVMTCBwb2ludGVyIGRlcmVmIHdhcyBuZXZlciByZXBvcnRl ZCwgc3VnZ2VzdGluZyB0aGVyZSdzDQpubyBtYWNoaW5lIHdoZXJlIGVpdGhlciBHUElPIGlzIG1p c3NpbmcuDQoNCkNvbW1pdCA4YTkyMDU2ODM3ZmQgKCJCbHVldG9vdGg6IGhjaV9iY206IEFkZCAo cnVudGltZSlwbSBzdXBwb3J0IHRvIHRoZQ0Kc2VyZGV2IGRyaXZlciIpIHJlbW92ZWQgdGhlIGNo ZWNrIHdoZXRoZXIgYXQgbGVhc3Qgb25lIG9mIHRoZSBHUElPcyBpcw0KcHJlc2VudCB3aXRob3V0 IHNwZWNpZnlpbmcgYSByZWFzb24uDQoNCkJlY2F1c2UgY29tbWl0IDYyYWFlZmE3ZDAzOCAoIkJs dWV0b290aDogaGNpX2JjbTogaW1wcm92ZSB1c2Ugb2YgZ3Bpb3MNCkFQSSIpIHJlZmFjdG9yZWQg dGhlIGRyaXZlciB0byB1c2UgZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwoKSBpbnN0ZWFkIG9mDQpk ZXZtX2dwaW9kX2dldCgpLCBvbmUgaXMgbm93IHRlbXB0ZWQgdG8gYmVsaWV2ZSB0aGF0IHRoZSBk cml2ZXIgZG9lc24ndA0KcmVxdWlyZSAqYW55KiBvZiB0aGUgdHdvIEdQSU9zLg0KDQpXaGljaCBp cyB3cm9uZywgdGhlIGRyaXZlciBzdGlsbCByZXF1aXJlcyBib3RoIEdQSU9zIHRvIGF2b2lkIGEg TlVMTA0KcG9pbnRlciBkZXJlZi4gIFRvIHRoaXMgZW5kLCBlc3RhYmxpc2ggdGhlIHN0YXR1cyBx dW8gYW50ZSBhbmQgcmVxdWVzdA0KdGhlIEdQSU9zIHdpdGggZGV2bV9ncGlvZF9nZXQoKSBhZ2Fp bi4gIEJhaWwgb3V0IG9mIC0+cHJvYmUgaWYgZWl0aGVyDQpvZiB0aGVtIGlzIG1pc3NpbmcuDQoN Ck9kZGx5IGVub3VnaCwgd2hlcmVhcyBiY21fZ3Bpb19zZXRfcG93ZXIoKSBhY2Nlc3NlcyB0aGUg ZGV2aWNlIHdha2UgcGluDQp1bmNvbmRpdGlvbmFsbHksIGJjbV9zdXNwZW5kX2RldmljZSgpIGFu ZCBiY21fcmVzdW1lX2RldmljZSgpIGRvIGNoZWNrDQpmb3IgaXRzIHByZXNlbmNlIGJlZm9yZSBh Y2Nlc3NpbmcgaXQuICBUaG9zZSBjaGVja3MgYXJlIHN1cGVyZmx1b3VzLA0Kc28gcmVtb3ZlIHRo ZW0uDQoNCkNjOiBGcsOpZMOpcmljIERhbmlzIDxmcmVkZXJpYy5kYW5pcy5vc3NAZ21haWwuY29t Pg0KQ2M6IExvaWMgUG91bGFpbiA8bG9pYy5wb3VsYWluQGxpbmFyby5vcmc+DQpDYzogSGFucyBk ZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4NCkNjOiBVd2UgS2xlaW5lLUvDtm5pZyA8dS5r bGVpbmUta29lbmlnQHBlbmd1dHJvbml4LmRlPg0KQ2M6IExpbnVzIFdhbGxlaWogPGxpbnVzLndh bGxlaWpAbGluYXJvLm9yZz4NClJldmlld2VkLWJ5OiBBbmR5IFNoZXZjaGVua28gPGFuZHJpeS5z aGV2Y2hlbmtvQGxpbnV4LmludGVsLmNvbT4NClNpZ25lZC1vZmYtYnk6IEx1a2FzIFd1bm5lciA8 bHVrYXNAd3VubmVyLmRlPg0KU2lnbmVkLW9mZi1ieTogTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxA aG9sdG1hbm4ub3JnPg0KU2lnbmVkLW9mZi1ieTogU2FzaGEgTGV2aW4gPGFsZXhhbmRlci5sZXZp bkBtaWNyb3NvZnQuY29tPg0KLS0tDQogZHJpdmVycy9ibHVldG9vdGgvaGNpX2JjbS5jIHwgMjQg KysrKysrKysrLS0tLS0tLS0tLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygr KSwgMTUgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2JsdWV0b290aC9oY2lf YmNtLmMgYi9kcml2ZXJzL2JsdWV0b290aC9oY2lfYmNtLmMNCmluZGV4IDcwN2MyZDFiODRjNy4u YjhlZWFjNGU2ZjM1IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ibHVldG9vdGgvaGNpX2JjbS5jDQor KysgYi9kcml2ZXJzL2JsdWV0b290aC9oY2lfYmNtLmMNCkBAIC01NzcsMTEgKzU3Nyw5IEBAIHN0 YXRpYyBpbnQgYmNtX3N1c3BlbmRfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikNCiAJfQ0KIA0K IAkvKiBTdXNwZW5kIHRoZSBkZXZpY2UgKi8NCi0JaWYgKGJkZXYtPmRldmljZV93YWtldXApIHsN Ci0JCWdwaW9kX3NldF92YWx1ZShiZGV2LT5kZXZpY2Vfd2FrZXVwLCBmYWxzZSk7DQotCQlidF9k ZXZfZGJnKGJkZXYsICJzdXNwZW5kLCBkZWxheWluZyAxNSBtcyIpOw0KLQkJbWRlbGF5KDE1KTsN Ci0JfQ0KKwlncGlvZF9zZXRfdmFsdWUoYmRldi0+ZGV2aWNlX3dha2V1cCwgZmFsc2UpOw0KKwli dF9kZXZfZGJnKGJkZXYsICJzdXNwZW5kLCBkZWxheWluZyAxNSBtcyIpOw0KKwltZGVsYXkoMTUp Ow0KIA0KIAlyZXR1cm4gMDsNCiB9DQpAQCAtNTkyLDExICs1OTAsOSBAQCBzdGF0aWMgaW50IGJj bV9yZXN1bWVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikNCiANCiAJYnRfZGV2X2RiZyhiZGV2 LCAiIik7DQogDQotCWlmIChiZGV2LT5kZXZpY2Vfd2FrZXVwKSB7DQotCQlncGlvZF9zZXRfdmFs dWUoYmRldi0+ZGV2aWNlX3dha2V1cCwgdHJ1ZSk7DQotCQlidF9kZXZfZGJnKGJkZXYsICJyZXN1 bWUsIGRlbGF5aW5nIDE1IG1zIik7DQotCQltZGVsYXkoMTUpOw0KLQl9DQorCWdwaW9kX3NldF92 YWx1ZShiZGV2LT5kZXZpY2Vfd2FrZXVwLCB0cnVlKTsNCisJYnRfZGV2X2RiZyhiZGV2LCAicmVz dW1lLCBkZWxheWluZyAxNSBtcyIpOw0KKwltZGVsYXkoMTUpOw0KIA0KIAkvKiBXaGVuIHRoaXMg ZXhlY3V0ZXMsIHRoZSBkZXZpY2UgaGFzIHdva2VuIHVwIGFscmVhZHkgKi8NCiAJaWYgKGJkZXYt PmlzX3N1c3BlbmRlZCAmJiBiZGV2LT5odSkgew0KQEAgLTc3OSwxNCArNzc1LDEyIEBAIHN0YXRp YyBpbnQgYmNtX2dldF9yZXNvdXJjZXMoc3RydWN0IGJjbV9kZXZpY2UgKmRldikNCiANCiAJZGV2 LT5jbGsgPSBkZXZtX2Nsa19nZXQoZGV2LT5kZXYsIE5VTEwpOw0KIA0KLQlkZXYtPmRldmljZV93 YWtldXAgPSBkZXZtX2dwaW9kX2dldF9vcHRpb25hbChkZXYtPmRldiwNCi0JCQkJCQkgICAgICJk ZXZpY2Utd2FrZXVwIiwNCi0JCQkJCQkgICAgIEdQSU9EX09VVF9MT1cpOw0KKwlkZXYtPmRldmlj ZV93YWtldXAgPSBkZXZtX2dwaW9kX2dldChkZXYtPmRldiwgImRldmljZS13YWtldXAiLA0KKwkJ CQkJICAgIEdQSU9EX09VVF9MT1cpOw0KIAlpZiAoSVNfRVJSKGRldi0+ZGV2aWNlX3dha2V1cCkp DQogCQlyZXR1cm4gUFRSX0VSUihkZXYtPmRldmljZV93YWtldXApOw0KIA0KLQlkZXYtPnNodXRk b3duID0gZGV2bV9ncGlvZF9nZXRfb3B0aW9uYWwoZGV2LT5kZXYsICJzaHV0ZG93biIsDQotCQkJ CQkJR1BJT0RfT1VUX0xPVyk7DQorCWRldi0+c2h1dGRvd24gPSBkZXZtX2dwaW9kX2dldChkZXYt PmRldiwgInNodXRkb3duIiwgR1BJT0RfT1VUX0xPVyk7DQogCWlmIChJU19FUlIoZGV2LT5zaHV0 ZG93bikpDQogCQlyZXR1cm4gUFRSX0VSUihkZXYtPnNodXRkb3duKTsNCiANCi0tIA0KMi4xNC4x DQo=