summaryrefslogtreecommitdiff
path: root/include/uapi/linux/ndctl.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2016-05-18 20:06:48 +0300
committerDan Williams <dan.j.williams@intel.com>2016-05-18 20:06:48 +0300
commit2159669f581917c4d197d3ea183d3d85b47faf66 (patch)
tree9faa8bbf19fa1ea33e371b02cfa5a5b4507583de /include/uapi/linux/ndctl.h
parent594d6d96ea042366878aa7dc7f5711b8c245db5a (diff)
parent9dec4892ca9afd6aad3c9c9e6c17480ecbd04440 (diff)
downloadlinux-2159669f581917c4d197d3ea183d3d85b47faf66.tar.xz
Merge branch 'for-4.7/libnvdimm' into libnvdimm-for-next
Diffstat (limited to 'include/uapi/linux/ndctl.h')
-rw-r--r--include/uapi/linux/ndctl.h36
1 files changed, 35 insertions, 1 deletions
diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h
index 4f29d247f709..1eac426aead5 100644
--- a/include/uapi/linux/ndctl.h
+++ b/include/uapi/linux/ndctl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
@@ -20,11 +20,45 @@ struct nd_cmd_smart {
__u8 data[128];
} __packed;
+#define ND_SMART_HEALTH_VALID (1 << 0)
+#define ND_SMART_TEMP_VALID (1 << 1)
+#define ND_SMART_SPARES_VALID (1 << 2)
+#define ND_SMART_ALARM_VALID (1 << 3)
+#define ND_SMART_USED_VALID (1 << 4)
+#define ND_SMART_SHUTDOWN_VALID (1 << 5)
+#define ND_SMART_VENDOR_VALID (1 << 6)
+#define ND_SMART_TEMP_TRIP (1 << 0)
+#define ND_SMART_SPARE_TRIP (1 << 1)
+#define ND_SMART_NON_CRITICAL_HEALTH (1 << 0)
+#define ND_SMART_CRITICAL_HEALTH (1 << 1)
+#define ND_SMART_FATAL_HEALTH (1 << 2)
+
+struct nd_smart_payload {
+ __u32 flags;
+ __u8 reserved0[4];
+ __u8 health;
+ __u16 temperature;
+ __u8 spares;
+ __u8 alarm_flags;
+ __u8 life_used;
+ __u8 shutdown_state;
+ __u8 reserved1;
+ __u32 vendor_size;
+ __u8 vendor_data[108];
+} __packed;
+
struct nd_cmd_smart_threshold {
__u32 status;
__u8 data[8];
} __packed;
+struct nd_smart_threshold_payload {
+ __u16 alarm_control;
+ __u16 temperature;
+ __u8 spares;
+ __u8 reserved[3];
+} __packed;
+
struct nd_cmd_dimm_flags {
__u32 status;
__u32 flags;