From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm ABI fixup for 4.2 Date: Thu, 27 Aug 2015 23:36:16 +0000 Message-ID: <1440718572.21270.19.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Language: en-US Content-ID: <84CB7E7ACD98C14EA8E98B3D972E0548@intel.com> Sender: linux-kernel-owner@vger.kernel.org To: "torvalds@linux-foundation.org" Cc: "toshi.kani@hp.com" , "linux-kernel@vger.kernel.org" , "linda.knippers@hp.com" , "elliott@hp.com" , "Moore, Robert" , "Wysocki, Rafael J" , "linux-nvdimm@lists.01.org" , "linux-acpi@vger.kernel.org" List-Id: linux-acpi@vger.kernel.org SGkgTGludXMsIHBsZWFzZSBwdWxsIGZyb206DQoNCiAgICBnaXQ6Ly9naXQua2VybmVsLm9yZy9w dWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvbnZkaW1tL252ZGltbSBsaWJudmRpbW0tZml4ZXMNCg0K Li4udG8gcmVjZWl2ZSBvbmUgZmluYWwgZml4IGZvciA0LjIuDQoNCkkgcHVzaGVkIGJhY2sgb24g dGhpcyBjaGFuZ2UgcXVpdGUgaGFyZCBnaXZlbiB0aGUgbGF0ZSBkYXRlLCB0aGF0IGl0DQphcHBl YXJzIHRvIGJlIHB1cmVseSBjb3NtZXRpYywgc3lzZnMgaXMgbm90IG5lY2Vzc2FyaWx5IG1lYW50 IHRvIGJlIGENCnVzZXIgZnJpZW5kbHkgVUksIGFuZCB0aGUga2VybmVsIGludGVycHJldHMgdGhl IHJldmVyc2VkIHBvbGFyaXR5IG9mIHRoZQ0KQUNQSV9ORklUX01FTV9BUk1FRCBmbGFnIGNvcnJl Y3RseS4gIFdoZW4gdGhpcyBmbGFnIGlzIHNldCwgdGhlIGVuZXJneQ0Kc291cmNlIG9mIGFuIE5W RElNTSBpcyBub3QgYXJtZWQgYW5kIGFueSBuZXcgd3JpdGVzIHRvIHRoZSBESU1NIG1heSBub3QN CmJlIHByZXNlcnZlZC4NCg0KSG93ZXZlciwgQm9iIE1vb3JlIHdhcm5lZCBtZSB0aGF0IGl0IGlz IGltcG9ydGFudCB0byBnZXQgdGhlc2UgdGhpbmdzDQpuYW1lZCBjb3JyZWN0bHkgd2hlcmV2ZXIg dGhleSBhcHBlYXIgb3RoZXJ3aXNlIHdlIHJ1biB0aGUgcmlzayBvZiBhIGxlc3MNCnRoYW4gY2F1 dGlvdXMgZmlybXdhcmUgZW5naW5lZXIgaW1wbGVtZW50aW5nIHRoZSBwb2xhcml0eSB0aGUgd3Jv bmcgd2F5Lg0KT25jZSBhIG1pc3Rha2UgbGlrZSB0aGF0IGVzY2FwZXMgaW50byBwcm9kdWN0aW9u IHBsYXRmb3JtcyB0aGUgZmxhZw0KYmVjb21lcyB1c2VsZXNzIGFuZCB3ZSBuZWVkIHRvIG1vdmUg dG8gYSBuZXcgYml0IHBvc2l0aW9uLg0KDQpCb2IgaGFzIGFncmVlZCB0byB0YWtlIGEgY2hhbmdl IHRocm91Z2ggQUNQSUNBIHRvIHJlbmFtZQ0KQUNQSV9ORklUX01FTV9BUk1FRCB0byBBQ1BJX05G SVRfTUVNX05PVF9BUk1FRCwgYW5kIHRoZSBwYXRjaCBiZWxvdyBmcm9tDQpUb3NoaSBicmluZ3Mg dGhlIHN5c2ZzIHJlcHJlc2VudGF0aW9uIG9mIHRoZXNlIGZsYWdzIGluIGxpbmUgd2l0aCB0aGVp cg0KcmVzcGVjdGl2ZSBwb2xhcml0aWVzLg0KDQpQbGVhc2UgcHVsbCBmb3IgNC4yIGFzIHRoaXMg aXMgdGhlIGZpcnN0IGtlcm5lbCB0byBleHBvc2UgdGhlIEFDUEkgTkZJVA0Kc3lzZnMgcmVwcmVz ZW50YXRpb24sIGFuZCB0aGlzIGlzIGxpa2VseSBhIGtlcm5lbCB0aGF0IGZpcm13YXJlDQpkZXZl bG9wZXJzIHdpbGwgYmUgdXNpbmcgZm9yIGNoZWNraW5nIG91dCB0aGVpciBOVkRJTU0gZW5hYmxp bmcuDQoNClRoZSBmb2xsb3dpbmcgY2hhbmdlcyBzaW5jZSBjb21taXQgZGU0YTE5NmMwMmEyYTI2 MzFiNTE2ZDkwZGE2ZThkMDUyY2NiMDdlODoNCg0KICBuZml0LCBuZF9ibGs6IEJMSyBzdGF0dXMg cmVnaXN0ZXIgaXMgb25seSAzMiBiaXRzICgyMDE1LTA4LTI1IDE5OjQyOjAxIC0wNDAwKQ0KDQph cmUgYXZhaWxhYmxlIGluIHRoZSBnaXQgcmVwb3NpdG9yeSBhdDoNCg0KICBnaXQ6Ly9naXQua2Vy bmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvbnZkaW1tL252ZGltbSBsaWJudmRpbW0t Zml4ZXMNCg0KZm9yIHlvdSB0byBmZXRjaCBjaGFuZ2VzIHVwIHRvIDQwMmJhZTU5N2VjNjhiODQ0 OTg0MzJmNWEwMDY5ZjI4YmZiODA3ZDY6DQoNCiAgbmZpdDogQ2xhcmlmeSBtZW1vcnkgZGV2aWNl IHN0YXRlIGZsYWdzIHN0cmluZ3MgKDIwMTUtMDgtMjcgMTQ6MzU6NTggLTA0MDApDQoNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NClRvc2hpIEthbmkgKDEpOg0KICAgICAgbmZpdDogQ2xhcmlmeSBtZW1vcnkgZGV2aWNlIHN0 YXRlIGZsYWdzIHN0cmluZ3MNCg0KIGRyaXZlcnMvYWNwaS9uZml0LmMgfCAyMCArKysrKysrKysr LS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkNCg0KY29tbWl0IDQwMmJhZTU5N2VjNjhiODQ0OTg0MzJmNWEwMDY5ZjI4YmZiODA3ZDYN CkF1dGhvcjogVG9zaGkgS2FuaSA8dG9zaGkua2FuaUBocC5jb20+DQpEYXRlOiAgIFdlZCBBdWcg MjYgMTA6MjA6MjMgMjAxNSAtMDYwMA0KDQogICAgbmZpdDogQ2xhcmlmeSBtZW1vcnkgZGV2aWNl IHN0YXRlIGZsYWdzIHN0cmluZ3MNCiAgICANCiAgICBBQ1BJIDYuMCBORklUIE1lbW9yeSBEZXZp Y2UgU3RhdGUgRmxhZ3MgaW4gVGFibGUgNS0xMjkgZGVmaW5lcw0KICAgIE5WRElNTSBzdGF0dXMg YXMgZm9sbG93cy4gIFRoZXNlIGJpdHMgaW5kaWNhdGUgbXVsdGlwbGUgaW5mbywNCiAgICBzdWNo IGFzIGZhaWx1cmVzLCBwZW5kaW5nIGV2ZW50LCBhbmQgY2FwYWJpbGl0eS4NCiAgICANCiAgICAg IEJpdCBbMF0gc2V0IHRvIDEgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcHJldmlvdXMgU0FWRSB0byB0 aGUNCiAgICAgIE1lbW9yeSBEZXZpY2UgZmFpbGVkLg0KICAgICAgQml0IFsxXSBzZXQgdG8gMSB0 byBpbmRpY2F0ZSB0aGF0IHRoZSBsYXN0IFJFU1RPUkUgZnJvbSB0aGUNCiAgICAgIE1lbW9yeSBE ZXZpY2UgZmFpbGVkLg0KICAgICAgQml0IFsyXSBzZXQgdG8gMSB0byBpbmRpY2F0ZSB0aGF0IHBs YXRmb3JtIGZsdXNoIG9mIGRhdGEgdG8NCiAgICAgIE1lbW9yeSBEZXZpY2UgZmFpbGVkLiBBcyBh IHJlc3VsdCwgdGhlIHJlc3RvcmVkIGRhdGEgY29udGVudA0KICAgICAgbWF5IGJlIGluY29uc2lz dGVudCBldmVuIGlmIFNBVkUgYW5kIFJFU1RPUkUgZG8gbm90IGluZGljYXRlDQogICAgICBmYWls dXJlLg0KICAgICAgQml0IFszXSBzZXQgdG8gMSB0byBpbmRpY2F0ZSB0aGF0IHRoZSBNZW1vcnkg RGV2aWNlIGlzIG9ic2VydmVkDQogICAgICB0byBiZSBub3QgYXJtZWQgcHJpb3IgdG8gT1NQTSBo YW5kIG9mZi4gQSBNZW1vcnkgRGV2aWNlIGlzDQogICAgICBjb25zaWRlcmVkIGFybWVkIGlmIGl0 IGlzIGFibGUgdG8gYWNjZXB0IHBlcnNpc3RlbnQgd3JpdGVzLg0KICAgICAgQml0IFs0XSBzZXQg dG8gMSB0byBpbmRpY2F0ZSB0aGF0IHRoZSBNZW1vcnkgRGV2aWNlIG9ic2VydmVkDQogICAgICBT TUFSVCBhbmQgaGVhbHRoIGV2ZW50cyBwcmlvciB0byBPU1BNIGhhbmRvZmYuDQogICAgDQogICAg L3N5cy9idXMvbmQvZGV2aWNlcy9ubWVtWC9uZml0L2ZsYWdzIHNob3dzIHRoaXMgZmxhZ3MgaW5m by4NCiAgICBUaGUgb3V0cHV0IHN0cmluZ3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBiaXRzIGFyZSAi c2F2ZSIsICJyZXN0b3JlIiwNCiAgICAic21hcnQiLCBldGMuLCB3aGljaCBjYW4gYmUgY29uZnVz aW5nIGFzIHRoZXkgbWF5IGJlIGludGVycHJldGVkDQogICAgYXMgcG9zaXRpdmUgc3RhdHVzLCBp LmUuIHNhdmUgc3VjY2VlZGVkLg0KICAgIA0KICAgIENoYW5nZSBhbHNvIHRoZSBkZXZfaW5mbygp IG1lc3NhZ2UgaW4gYWNwaV9uZml0X3JlZ2lzdGVyX2RpbW1zKCkNCiAgICB0byBiZSBjb25zaXN0 ZW50IHdpdGggdGhlIHN5c2ZzIGZsYWdzIHN0cmluZ3MuDQogICAgDQogICAgUmVwb3J0ZWQtYnk6 IFJvYmVydCBFbGxpb3R0IDxlbGxpb3R0QGhwLmNvbT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBUb3No aSBLYW5pIDx0b3NoaS5rYW5pQGhwLmNvbT4NCiAgICBbcm9zczogcmVuYW1lICdub3RfYXJtJyB0 byAnbm90X2FybWVkJ10NCiAgICBDYzogUm9zcyBad2lzbGVyIDxyb3NzLnp3aXNsZXJAbGludXgu aW50ZWwuY29tPg0KICAgIFtkamJ3OiBkZWZlciBhZGRpbmcgYml0NSwgSEVBTFRIX0VOQUJMRUQs IGZvciBub3ddDQogICAgU2lnbmVkLW9mZi1ieTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFt c0BpbnRlbC5jb20+DQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2FjcGkvbmZpdC5jIGIvZHJpdmVy cy9hY3BpL25maXQuYw0KaW5kZXggYmIyOWU1NjI3NmJkLi5jZjBmZDk2YTc2MDIgMTAwNjQ0DQot LS0gYS9kcml2ZXJzL2FjcGkvbmZpdC5jDQorKysgYi9kcml2ZXJzL2FjcGkvbmZpdC5jDQpAQCAt NzAyLDExICs3MDIsMTEgQEAgc3RhdGljIHNzaXplX3QgZmxhZ3Nfc2hvdyhzdHJ1Y3QgZGV2aWNl ICpkZXYsDQogCXUxNiBmbGFncyA9IHRvX25maXRfbWVtZGV2KGRldiktPmZsYWdzOw0KIA0KIAly ZXR1cm4gc3ByaW50ZihidWYsICIlcyVzJXMlcyVzXG4iLA0KLQkJCWZsYWdzICYgQUNQSV9ORklU X01FTV9TQVZFX0ZBSUxFRCA/ICJzYXZlICIgOiAiIiwNCi0JCQlmbGFncyAmIEFDUElfTkZJVF9N RU1fUkVTVE9SRV9GQUlMRUQgPyAicmVzdG9yZSAiIDogIiIsDQotCQkJZmxhZ3MgJiBBQ1BJX05G SVRfTUVNX0ZMVVNIX0ZBSUxFRCA/ICJmbHVzaCAiIDogIiIsDQotCQkJZmxhZ3MgJiBBQ1BJX05G SVRfTUVNX0FSTUVEID8gImFybSAiIDogIiIsDQotCQkJZmxhZ3MgJiBBQ1BJX05GSVRfTUVNX0hF QUxUSF9PQlNFUlZFRCA/ICJzbWFydCAiIDogIiIpOw0KKwkJZmxhZ3MgJiBBQ1BJX05GSVRfTUVN X1NBVkVfRkFJTEVEID8gInNhdmVfZmFpbCAiIDogIiIsDQorCQlmbGFncyAmIEFDUElfTkZJVF9N RU1fUkVTVE9SRV9GQUlMRUQgPyAicmVzdG9yZV9mYWlsICIgOiAiIiwNCisJCWZsYWdzICYgQUNQ SV9ORklUX01FTV9GTFVTSF9GQUlMRUQgPyAiZmx1c2hfZmFpbCAiIDogIiIsDQorCQlmbGFncyAm IEFDUElfTkZJVF9NRU1fQVJNRUQgPyAibm90X2FybWVkICIgOiAiIiwNCisJCWZsYWdzICYgQUNQ SV9ORklUX01FTV9IRUFMVEhfT0JTRVJWRUQgPyAic21hcnRfZXZlbnQgIiA6ICIiKTsNCiB9DQog c3RhdGljIERFVklDRV9BVFRSX1JPKGZsYWdzKTsNCiANCkBAIC04NDksMTIgKzg0OSwxMiBAQCBz dGF0aWMgaW50IGFjcGlfbmZpdF9yZWdpc3Rlcl9kaW1tcyhzdHJ1Y3QgYWNwaV9uZml0X2Rlc2Mg KmFjcGlfZGVzYykNCiAJCWlmICgobWVtX2ZsYWdzICYgQUNQSV9ORklUX01FTV9GQUlMRURfTUFT SykgPT0gMCkNCiAJCQljb250aW51ZTsNCiANCi0JCWRldl9pbmZvKGFjcGlfZGVzYy0+ZGV2LCAi JXM6IGZhaWxlZDogJXMlcyVzJXNcbiIsDQorCQlkZXZfaW5mbyhhY3BpX2Rlc2MtPmRldiwgIiVz IGZsYWdzOiVzJXMlcyVzXG4iLA0KIAkJCQludmRpbW1fbmFtZShudmRpbW0pLA0KLQkJCW1lbV9m bGFncyAmIEFDUElfTkZJVF9NRU1fU0FWRV9GQUlMRUQgPyAic2F2ZSAiIDogIiIsDQotCQkJbWVt X2ZsYWdzICYgQUNQSV9ORklUX01FTV9SRVNUT1JFX0ZBSUxFRCA/ICJyZXN0b3JlICIgOiAiIiwN Ci0JCQltZW1fZmxhZ3MgJiBBQ1BJX05GSVRfTUVNX0ZMVVNIX0ZBSUxFRCA/ICJmbHVzaCAiIDog IiIsDQotCQkJbWVtX2ZsYWdzICYgQUNQSV9ORklUX01FTV9BUk1FRCA/ICJhcm0gIiA6ICIiKTsN CisJCSAgbWVtX2ZsYWdzICYgQUNQSV9ORklUX01FTV9TQVZFX0ZBSUxFRCA/ICIgc2F2ZV9mYWls IiA6ICIiLA0KKwkJICBtZW1fZmxhZ3MgJiBBQ1BJX05GSVRfTUVNX1JFU1RPUkVfRkFJTEVEID8g IiByZXN0b3JlX2ZhaWwiOiIiLA0KKwkJICBtZW1fZmxhZ3MgJiBBQ1BJX05GSVRfTUVNX0ZMVVNI X0ZBSUxFRCA/ICIgZmx1c2hfZmFpbCIgOiAiIiwNCisJCSAgbWVtX2ZsYWdzICYgQUNQSV9ORklU X01FTV9BUk1FRCA/ICIgbm90X2FybWVkIiA6ICIiKTsNCiANCiAJfQ0KIA0KDQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754126AbbH0XgX (ORCPT ); Thu, 27 Aug 2015 19:36:23 -0400 Received: from mga03.intel.com ([134.134.136.65]:47946 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752836AbbH0XgU (ORCPT ); Thu, 27 Aug 2015 19:36:20 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,423,1437462000"; d="scan'208";a="633644291" From: "Williams, Dan J" To: "torvalds@linux-foundation.org" CC: "toshi.kani@hp.com" , "linux-kernel@vger.kernel.org" , "linda.knippers@hp.com" , "elliott@hp.com" , "Moore, Robert" , "Wysocki, Rafael J" , "linux-nvdimm@lists.01.org" , "linux-acpi@vger.kernel.org" Subject: [GIT PULL] libnvdimm ABI fixup for 4.2 Thread-Topic: [GIT PULL] libnvdimm ABI fixup for 4.2 Thread-Index: AQHQ4SErXU8HbeuHWkKmixX+mnpkGQ== Date: Thu, 27 Aug 2015 23:36:16 +0000 Message-ID: <1440718572.21270.19.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.138] Content-Type: text/plain; charset="utf-8" Content-ID: <84CB7E7ACD98C14EA8E98B3D972E0548@intel.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id t7RNaSxX003398 Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes ...to receive one final fix for 4.2. I pushed back on this change quite hard given the late date, that it appears to be purely cosmetic, sysfs is not necessarily meant to be a user friendly UI, and the kernel interprets the reversed polarity of the ACPI_NFIT_MEM_ARMED flag correctly. When this flag is set, the energy source of an NVDIMM is not armed and any new writes to the DIMM may not be preserved. However, Bob Moore warned me that it is important to get these things named correctly wherever they appear otherwise we run the risk of a less than cautious firmware engineer implementing the polarity the wrong way. Once a mistake like that escapes into production platforms the flag becomes useless and we need to move to a new bit position. Bob has agreed to take a change through ACPICA to rename ACPI_NFIT_MEM_ARMED to ACPI_NFIT_MEM_NOT_ARMED, and the patch below from Toshi brings the sysfs representation of these flags in line with their respective polarities. Please pull for 4.2 as this is the first kernel to expose the ACPI NFIT sysfs representation, and this is likely a kernel that firmware developers will be using for checking out their NVDIMM enabling. The following changes since commit de4a196c02a2a2631b516d90da6e8d052ccb07e8: nfit, nd_blk: BLK status register is only 32 bits (2015-08-25 19:42:01 -0400) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes for you to fetch changes up to 402bae597ec68b84498432f5a0069f28bfb807d6: nfit: Clarify memory device state flags strings (2015-08-27 14:35:58 -0400) ---------------------------------------------------------------- Toshi Kani (1): nfit: Clarify memory device state flags strings drivers/acpi/nfit.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit 402bae597ec68b84498432f5a0069f28bfb807d6 Author: Toshi Kani Date: Wed Aug 26 10:20:23 2015 -0600 nfit: Clarify memory device state flags strings ACPI 6.0 NFIT Memory Device State Flags in Table 5-129 defines NVDIMM status as follows. These bits indicate multiple info, such as failures, pending event, and capability. Bit [0] set to 1 to indicate that the previous SAVE to the Memory Device failed. Bit [1] set to 1 to indicate that the last RESTORE from the Memory Device failed. Bit [2] set to 1 to indicate that platform flush of data to Memory Device failed. As a result, the restored data content may be inconsistent even if SAVE and RESTORE do not indicate failure. Bit [3] set to 1 to indicate that the Memory Device is observed to be not armed prior to OSPM hand off. A Memory Device is considered armed if it is able to accept persistent writes. Bit [4] set to 1 to indicate that the Memory Device observed SMART and health events prior to OSPM handoff. /sys/bus/nd/devices/nmemX/nfit/flags shows this flags info. The output strings associated with the bits are "save", "restore", "smart", etc., which can be confusing as they may be interpreted as positive status, i.e. save succeeded. Change also the dev_info() message in acpi_nfit_register_dimms() to be consistent with the sysfs flags strings. Reported-by: Robert Elliott Signed-off-by: Toshi Kani [ross: rename 'not_arm' to 'not_armed'] Cc: Ross Zwisler [djbw: defer adding bit5, HEALTH_ENABLED, for now] Signed-off-by: Dan Williams diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c index bb29e56276bd..cf0fd96a7602 100644 --- a/drivers/acpi/nfit.c +++ b/drivers/acpi/nfit.c @@ -702,11 +702,11 @@ static ssize_t flags_show(struct device *dev, u16 flags = to_nfit_memdev(dev)->flags; return sprintf(buf, "%s%s%s%s%s\n", - flags & ACPI_NFIT_MEM_SAVE_FAILED ? "save " : "", - flags & ACPI_NFIT_MEM_RESTORE_FAILED ? "restore " : "", - flags & ACPI_NFIT_MEM_FLUSH_FAILED ? "flush " : "", - flags & ACPI_NFIT_MEM_ARMED ? "arm " : "", - flags & ACPI_NFIT_MEM_HEALTH_OBSERVED ? "smart " : ""); + flags & ACPI_NFIT_MEM_SAVE_FAILED ? "save_fail " : "", + flags & ACPI_NFIT_MEM_RESTORE_FAILED ? "restore_fail " : "", + flags & ACPI_NFIT_MEM_FLUSH_FAILED ? "flush_fail " : "", + flags & ACPI_NFIT_MEM_ARMED ? "not_armed " : "", + flags & ACPI_NFIT_MEM_HEALTH_OBSERVED ? "smart_event " : ""); } static DEVICE_ATTR_RO(flags); @@ -849,12 +849,12 @@ static int acpi_nfit_register_dimms(struct acpi_nfit_desc *acpi_desc) if ((mem_flags & ACPI_NFIT_MEM_FAILED_MASK) == 0) continue; - dev_info(acpi_desc->dev, "%s: failed: %s%s%s%s\n", + dev_info(acpi_desc->dev, "%s flags:%s%s%s%s\n", nvdimm_name(nvdimm), - mem_flags & ACPI_NFIT_MEM_SAVE_FAILED ? "save " : "", - mem_flags & ACPI_NFIT_MEM_RESTORE_FAILED ? "restore " : "", - mem_flags & ACPI_NFIT_MEM_FLUSH_FAILED ? "flush " : "", - mem_flags & ACPI_NFIT_MEM_ARMED ? "arm " : ""); + mem_flags & ACPI_NFIT_MEM_SAVE_FAILED ? " save_fail" : "", + mem_flags & ACPI_NFIT_MEM_RESTORE_FAILED ? " restore_fail":"", + mem_flags & ACPI_NFIT_MEM_FLUSH_FAILED ? " flush_fail" : "", + mem_flags & ACPI_NFIT_MEM_ARMED ? " not_armed" : ""); } {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I