diff for duplicates of <1487741996.19408.0.camel@intel.com> diff --git a/a/1.txt b/N1/1.txt index cb1b5ba..54c7d87 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,52 +1,37 @@ -On Wed, 2017-02-22 at 17:17 +0800, Song Hongyan wrote: -> In function _hid_sensor_power_state(), when -> hid_sensor_read_poll_value() -> is called, sensor's all properties will be updated by the value from -> sensor hardware/firmware. -> In some implementation, sensor hardware/firmware will do a power -> cycle -> during S3. In this case, after resume, once -> hid_sensor_read_poll_value() -> is called, sensor's all properties which are kept by driver during S3 -> will be changed to default value. -> But instead, if a set feature function is called first, sensor -> hardware/firmware will be recovered to the last status. So change the -> sensor_hub_set_feature() calling order to behind of set feature -> function -> to avoid sensor properties lose. -> -> Signed-off-by: Song Hongyan <hongyan.song@intel.com> -Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> - -> --- -> drivers/iio/common/hid-sensors/hid-sensor-trigger.c | 6 +++--- -> 1 file changed, 3 insertions(+), 3 deletions(-) -> -> diff --git a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c -> b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c -> index a3cce3a..ecf592d 100644 -> --- a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c -> +++ b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c -> @@ -51,8 +51,6 @@ static int _hid_sensor_power_state(struct -> hid_sensor_common *st, bool state) -> st->report_state.report_id, -> st->report_state.index, -> HID_USAGE_SENSOR_PROP_REPORTING_STATE_ALL_EV -> ENTS_ENUM); -> - -> - poll_value = hid_sensor_read_poll_value(st); -> } else { -> int val; -> -> @@ -89,7 +87,9 @@ static int _hid_sensor_power_state(struct -> hid_sensor_common *st, bool state) -> sensor_hub_get_feature(st->hsdev, st->power_state.report_id, -> st->power_state.index, -> sizeof(state_val), &state_val); -> - if (state && poll_value) -> + if (state) -> + poll_value = hid_sensor_read_poll_value(st); -> + if (poll_value > 0) -> msleep_interruptible(poll_value * 2); -> -> return 0; +T24gV2VkLCAyMDE3LTAyLTIyIGF0IDE3OjE3ICswODAwLCBTb25nIEhvbmd5YW4gd3JvdGU6DQo+ +IEluIGZ1bmN0aW9uIF9oaWRfc2Vuc29yX3Bvd2VyX3N0YXRlKCksIHdoZW4NCj4gaGlkX3NlbnNv +cl9yZWFkX3BvbGxfdmFsdWUoKQ0KPiBpcyBjYWxsZWQsIHNlbnNvcidzIGFsbCBwcm9wZXJ0aWVz +IHdpbGwgYmUgdXBkYXRlZCBieSB0aGUgdmFsdWUgZnJvbQ0KPiBzZW5zb3IgaGFyZHdhcmUvZmly +bXdhcmUuDQo+IEluIHNvbWUgaW1wbGVtZW50YXRpb24sIHNlbnNvciBoYXJkd2FyZS9maXJtd2Fy +ZSB3aWxsIGRvIGEgcG93ZXINCj4gY3ljbGUNCj4gZHVyaW5nIFMzLiBJbiB0aGlzIGNhc2UsIGFm +dGVyIHJlc3VtZSwgb25jZQ0KPiBoaWRfc2Vuc29yX3JlYWRfcG9sbF92YWx1ZSgpDQo+IGlzIGNh +bGxlZCwgc2Vuc29yJ3MgYWxsIHByb3BlcnRpZXMgd2hpY2ggYXJlIGtlcHQgYnkgZHJpdmVyIGR1 +cmluZyBTMw0KPiB3aWxsIGJlIGNoYW5nZWQgdG8gZGVmYXVsdCB2YWx1ZS4NCj4gQnV0IGluc3Rl +YWQsIGlmIGEgc2V0IGZlYXR1cmUgZnVuY3Rpb24gaXMgY2FsbGVkIGZpcnN0LCBzZW5zb3INCj4g +aGFyZHdhcmUvZmlybXdhcmUgd2lsbCBiZSByZWNvdmVyZWQgdG8gdGhlIGxhc3Qgc3RhdHVzLiBT +byBjaGFuZ2UgdGhlDQo+IHNlbnNvcl9odWJfc2V0X2ZlYXR1cmUoKSBjYWxsaW5nIG9yZGVyIHRv +IGJlaGluZCBvZiBzZXQgZmVhdHVyZQ0KPiBmdW5jdGlvbg0KPiB0byBhdm9pZCBzZW5zb3IgcHJv +cGVydGllcyBsb3NlLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogU29uZyBIb25neWFuIDxob25neWFu +LnNvbmdAaW50ZWwuY29tPg0KQWNrZWQtYnk6IFNyaW5pdmFzIFBhbmRydXZhZGEgPHNyaW5pdmFz +LnBhbmRydXZhZGFAbGludXguaW50ZWwuY29tPg0KDQo+IC0tLQ0KPiDCoGRyaXZlcnMvaWlvL2Nv +bW1vbi9oaWQtc2Vuc29ycy9oaWQtc2Vuc29yLXRyaWdnZXIuYyB8IDYgKysrLS0tDQo+IMKgMSBm +aWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYg +LS1naXQgYS9kcml2ZXJzL2lpby9jb21tb24vaGlkLXNlbnNvcnMvaGlkLXNlbnNvci10cmlnZ2Vy +LmMNCj4gYi9kcml2ZXJzL2lpby9jb21tb24vaGlkLXNlbnNvcnMvaGlkLXNlbnNvci10cmlnZ2Vy +LmMNCj4gaW5kZXggYTNjY2UzYS4uZWNmNTkyZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9paW8v +Y29tbW9uL2hpZC1zZW5zb3JzL2hpZC1zZW5zb3ItdHJpZ2dlci5jDQo+ICsrKyBiL2RyaXZlcnMv +aWlvL2NvbW1vbi9oaWQtc2Vuc29ycy9oaWQtc2Vuc29yLXRyaWdnZXIuYw0KPiBAQCAtNTEsOCAr +NTEsNiBAQCBzdGF0aWMgaW50IF9oaWRfc2Vuc29yX3Bvd2VyX3N0YXRlKHN0cnVjdA0KPiBoaWRf +c2Vuc29yX2NvbW1vbiAqc3QsIGJvb2wgc3RhdGUpDQo+IMKgCQkJc3QtPnJlcG9ydF9zdGF0ZS5y +ZXBvcnRfaWQsDQo+IMKgCQkJc3QtPnJlcG9ydF9zdGF0ZS5pbmRleCwNCj4gwqAJCQlISURfVVNB +R0VfU0VOU09SX1BST1BfUkVQT1JUSU5HX1NUQVRFX0FMTF9FVg0KPiBFTlRTX0VOVU0pOw0KPiAt +DQo+IC0JCXBvbGxfdmFsdWUgPSBoaWRfc2Vuc29yX3JlYWRfcG9sbF92YWx1ZShzdCk7DQo+IMKg +CX0gZWxzZSB7DQo+IMKgCQlpbnQgdmFsOw0KPiDCoA0KPiBAQCAtODksNyArODcsOSBAQCBzdGF0 +aWMgaW50IF9oaWRfc2Vuc29yX3Bvd2VyX3N0YXRlKHN0cnVjdA0KPiBoaWRfc2Vuc29yX2NvbW1v +biAqc3QsIGJvb2wgc3RhdGUpDQo+IMKgCXNlbnNvcl9odWJfZ2V0X2ZlYXR1cmUoc3QtPmhzZGV2 +LCBzdC0+cG93ZXJfc3RhdGUucmVwb3J0X2lkLA0KPiDCoAkJCcKgwqDCoMKgwqDCoMKgc3QtPnBv +d2VyX3N0YXRlLmluZGV4LA0KPiDCoAkJCcKgwqDCoMKgwqDCoMKgc2l6ZW9mKHN0YXRlX3ZhbCks +ICZzdGF0ZV92YWwpOw0KPiAtCWlmIChzdGF0ZSAmJiBwb2xsX3ZhbHVlKQ0KPiArCWlmIChzdGF0 +ZSkNCj4gKwkJcG9sbF92YWx1ZSA9IGhpZF9zZW5zb3JfcmVhZF9wb2xsX3ZhbHVlKHN0KTsNCj4g +KwlpZiAocG9sbF92YWx1ZSA+IDApDQo+IMKgCQltc2xlZXBfaW50ZXJydXB0aWJsZShwb2xsX3Zh +bHVlICogMik7DQo+IMKgDQo+IMKgCXJldHVybiAwOw== diff --git a/a/content_digest b/N1/content_digest index 74dbb49..c54bb45 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,67 +1,51 @@ "ref\01487755058-31310-1-git-send-email-hongyan.song@intel.com\0" - "ref\01487755058-31310-1-git-send-email-hongyan.song-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org\0" - "From\0Pandruvada, Srinivas <srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>\0" + "From\0Pandruvada, Srinivas <srinivas.pandruvada@intel.com>\0" "Subject\0Re: [PATCH] iio: hid-sensor-trigger: Change get poll value function order to avoid sensor properties losing after resume from S3\0" "Date\0Wed, 22 Feb 2017 05:40:04 +0000\0" - "To\0linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>" + "To\0linux-input@vger.kernel.org <linux-input@vger.kernel.org>" Song - Hongyan <hongyan.song-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> - " linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>\0" - "Cc\0jikos-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org <jikos-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>" - " jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>\0" + Hongyan <hongyan.song@intel.com> + " linux-iio@vger.kernel.org <linux-iio@vger.kernel.org>\0" + "Cc\0jikos@kernel.org <jikos@kernel.org>" + " jic23@kernel.org <jic23@kernel.org>\0" "\00:1\0" "b\0" - "On Wed, 2017-02-22 at 17:17 +0800, Song Hongyan wrote:\n" - "> In function _hid_sensor_power_state(), when\n" - "> hid_sensor_read_poll_value()\n" - "> is called, sensor's all properties will be updated by the value from\n" - "> sensor hardware/firmware.\n" - "> In some implementation, sensor hardware/firmware will do a power\n" - "> cycle\n" - "> during S3. In this case, after resume, once\n" - "> hid_sensor_read_poll_value()\n" - "> is called, sensor's all properties which are kept by driver during S3\n" - "> will be changed to default value.\n" - "> But instead, if a set feature function is called first, sensor\n" - "> hardware/firmware will be recovered to the last status. So change the\n" - "> sensor_hub_set_feature() calling order to behind of set feature\n" - "> function\n" - "> to avoid sensor properties lose.\n" - "> \n" - "> Signed-off-by: Song Hongyan <hongyan.song@intel.com>\n" - "Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>\n" - "\n" - "> ---\n" - "> \302\240drivers/iio/common/hid-sensors/hid-sensor-trigger.c | 6 +++---\n" - "> \302\2401 file changed, 3 insertions(+), 3 deletions(-)\n" - "> \n" - "> diff --git a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c\n" - "> b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c\n" - "> index a3cce3a..ecf592d 100644\n" - "> --- a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c\n" - "> +++ b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c\n" - "> @@ -51,8 +51,6 @@ static int _hid_sensor_power_state(struct\n" - "> hid_sensor_common *st, bool state)\n" - "> \302\240\t\t\tst->report_state.report_id,\n" - "> \302\240\t\t\tst->report_state.index,\n" - "> \302\240\t\t\tHID_USAGE_SENSOR_PROP_REPORTING_STATE_ALL_EV\n" - "> ENTS_ENUM);\n" - "> -\n" - "> -\t\tpoll_value = hid_sensor_read_poll_value(st);\n" - "> \302\240\t} else {\n" - "> \302\240\t\tint val;\n" - "> \302\240\n" - "> @@ -89,7 +87,9 @@ static int _hid_sensor_power_state(struct\n" - "> hid_sensor_common *st, bool state)\n" - "> \302\240\tsensor_hub_get_feature(st->hsdev, st->power_state.report_id,\n" - "> \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240st->power_state.index,\n" - "> \302\240\t\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240sizeof(state_val), &state_val);\n" - "> -\tif (state && poll_value)\n" - "> +\tif (state)\n" - "> +\t\tpoll_value = hid_sensor_read_poll_value(st);\n" - "> +\tif (poll_value > 0)\n" - "> \302\240\t\tmsleep_interruptible(poll_value * 2);\n" - "> \302\240\n" - "> \302\240\treturn 0;" + "T24gV2VkLCAyMDE3LTAyLTIyIGF0IDE3OjE3ICswODAwLCBTb25nIEhvbmd5YW4gd3JvdGU6DQo+\n" + "IEluIGZ1bmN0aW9uIF9oaWRfc2Vuc29yX3Bvd2VyX3N0YXRlKCksIHdoZW4NCj4gaGlkX3NlbnNv\n" + "cl9yZWFkX3BvbGxfdmFsdWUoKQ0KPiBpcyBjYWxsZWQsIHNlbnNvcidzIGFsbCBwcm9wZXJ0aWVz\n" + "IHdpbGwgYmUgdXBkYXRlZCBieSB0aGUgdmFsdWUgZnJvbQ0KPiBzZW5zb3IgaGFyZHdhcmUvZmly\n" + "bXdhcmUuDQo+IEluIHNvbWUgaW1wbGVtZW50YXRpb24sIHNlbnNvciBoYXJkd2FyZS9maXJtd2Fy\n" + "ZSB3aWxsIGRvIGEgcG93ZXINCj4gY3ljbGUNCj4gZHVyaW5nIFMzLiBJbiB0aGlzIGNhc2UsIGFm\n" + "dGVyIHJlc3VtZSwgb25jZQ0KPiBoaWRfc2Vuc29yX3JlYWRfcG9sbF92YWx1ZSgpDQo+IGlzIGNh\n" + "bGxlZCwgc2Vuc29yJ3MgYWxsIHByb3BlcnRpZXMgd2hpY2ggYXJlIGtlcHQgYnkgZHJpdmVyIGR1\n" + "cmluZyBTMw0KPiB3aWxsIGJlIGNoYW5nZWQgdG8gZGVmYXVsdCB2YWx1ZS4NCj4gQnV0IGluc3Rl\n" + "YWQsIGlmIGEgc2V0IGZlYXR1cmUgZnVuY3Rpb24gaXMgY2FsbGVkIGZpcnN0LCBzZW5zb3INCj4g\n" + "aGFyZHdhcmUvZmlybXdhcmUgd2lsbCBiZSByZWNvdmVyZWQgdG8gdGhlIGxhc3Qgc3RhdHVzLiBT\n" + "byBjaGFuZ2UgdGhlDQo+IHNlbnNvcl9odWJfc2V0X2ZlYXR1cmUoKSBjYWxsaW5nIG9yZGVyIHRv\n" + "IGJlaGluZCBvZiBzZXQgZmVhdHVyZQ0KPiBmdW5jdGlvbg0KPiB0byBhdm9pZCBzZW5zb3IgcHJv\n" + "cGVydGllcyBsb3NlLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogU29uZyBIb25neWFuIDxob25neWFu\n" + "LnNvbmdAaW50ZWwuY29tPg0KQWNrZWQtYnk6IFNyaW5pdmFzIFBhbmRydXZhZGEgPHNyaW5pdmFz\n" + "LnBhbmRydXZhZGFAbGludXguaW50ZWwuY29tPg0KDQo+IC0tLQ0KPiDCoGRyaXZlcnMvaWlvL2Nv\n" + "bW1vbi9oaWQtc2Vuc29ycy9oaWQtc2Vuc29yLXRyaWdnZXIuYyB8IDYgKysrLS0tDQo+IMKgMSBm\n" + "aWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYg\n" + "LS1naXQgYS9kcml2ZXJzL2lpby9jb21tb24vaGlkLXNlbnNvcnMvaGlkLXNlbnNvci10cmlnZ2Vy\n" + "LmMNCj4gYi9kcml2ZXJzL2lpby9jb21tb24vaGlkLXNlbnNvcnMvaGlkLXNlbnNvci10cmlnZ2Vy\n" + "LmMNCj4gaW5kZXggYTNjY2UzYS4uZWNmNTkyZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9paW8v\n" + "Y29tbW9uL2hpZC1zZW5zb3JzL2hpZC1zZW5zb3ItdHJpZ2dlci5jDQo+ICsrKyBiL2RyaXZlcnMv\n" + "aWlvL2NvbW1vbi9oaWQtc2Vuc29ycy9oaWQtc2Vuc29yLXRyaWdnZXIuYw0KPiBAQCAtNTEsOCAr\n" + "NTEsNiBAQCBzdGF0aWMgaW50IF9oaWRfc2Vuc29yX3Bvd2VyX3N0YXRlKHN0cnVjdA0KPiBoaWRf\n" + "c2Vuc29yX2NvbW1vbiAqc3QsIGJvb2wgc3RhdGUpDQo+IMKgCQkJc3QtPnJlcG9ydF9zdGF0ZS5y\n" + "ZXBvcnRfaWQsDQo+IMKgCQkJc3QtPnJlcG9ydF9zdGF0ZS5pbmRleCwNCj4gwqAJCQlISURfVVNB\n" + "R0VfU0VOU09SX1BST1BfUkVQT1JUSU5HX1NUQVRFX0FMTF9FVg0KPiBFTlRTX0VOVU0pOw0KPiAt\n" + "DQo+IC0JCXBvbGxfdmFsdWUgPSBoaWRfc2Vuc29yX3JlYWRfcG9sbF92YWx1ZShzdCk7DQo+IMKg\n" + "CX0gZWxzZSB7DQo+IMKgCQlpbnQgdmFsOw0KPiDCoA0KPiBAQCAtODksNyArODcsOSBAQCBzdGF0\n" + "aWMgaW50IF9oaWRfc2Vuc29yX3Bvd2VyX3N0YXRlKHN0cnVjdA0KPiBoaWRfc2Vuc29yX2NvbW1v\n" + "biAqc3QsIGJvb2wgc3RhdGUpDQo+IMKgCXNlbnNvcl9odWJfZ2V0X2ZlYXR1cmUoc3QtPmhzZGV2\n" + "LCBzdC0+cG93ZXJfc3RhdGUucmVwb3J0X2lkLA0KPiDCoAkJCcKgwqDCoMKgwqDCoMKgc3QtPnBv\n" + "d2VyX3N0YXRlLmluZGV4LA0KPiDCoAkJCcKgwqDCoMKgwqDCoMKgc2l6ZW9mKHN0YXRlX3ZhbCks\n" + "ICZzdGF0ZV92YWwpOw0KPiAtCWlmIChzdGF0ZSAmJiBwb2xsX3ZhbHVlKQ0KPiArCWlmIChzdGF0\n" + "ZSkNCj4gKwkJcG9sbF92YWx1ZSA9IGhpZF9zZW5zb3JfcmVhZF9wb2xsX3ZhbHVlKHN0KTsNCj4g\n" + "KwlpZiAocG9sbF92YWx1ZSA+IDApDQo+IMKgCQltc2xlZXBfaW50ZXJydXB0aWJsZShwb2xsX3Zh\n" + bHVlICogMik7DQo+IMKgDQo+IMKgCXJldHVybiAwOw== -72d358b0df29251c95c323d6232812dafbe67a20f3a64001d3d85fc90224f3aa +13fcff61be1d11da3fd4a536ac88a01ab923c2f1008e2690c6d98e75646ea22a
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.