Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1163073AbbKFW2Q (ORCPT ); Fri, 6 Nov 2015 17:28:16 -0500 Received: from g1t6225.austin.hp.com ([15.73.96.126]:41556 "EHLO g1t6225.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1033936AbbKFW2L (ORCPT ); Fri, 6 Nov 2015 17:28:11 -0500 From: Jerry Hoemann To: ross.zwisler@linux.intel.com, rjw@rjwysocki.net, lenb@kernel.org, dan.j.williams@intel.com Cc: linux-nvdimm@ml01.01.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Jerry Hoemann Subject: [PATCH 1/4] nvdimm: Add wrapper for IOCTL pass thru. Date: Fri, 6 Nov 2015 15:27:28 -0700 Message-Id: <5411049831df211c8280e3239aaf344af033fa25.1446684001.git.jerry.hoemann@hpe.com> X-Mailer: git-send-email 1.7.11.3 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1781 Lines: 63 Add IOCTL type 'P' to denote NVDIMM_TYPE_PASSTHRU. Add struct ndn_pkg which the pass thru IOCTL interfaces uses. ndn_pkg serves as a wrapper for the data being passed to the underlying DSM and specifies siz data in a uniform manner allowing the kernel to call the DSM without knowing specifics of the DSM. Signed-off-by: Jerry Hoemann --- include/uapi/linux/ndctl.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h index 5b4a4be..1c81a99 100644 --- a/include/uapi/linux/ndctl.h +++ b/include/uapi/linux/ndctl.h @@ -15,6 +15,9 @@ #include +#define NVDIMM_TYPE_INTEL 'N' +#define NVDIMM_TYPE_PASSTHRU 'P' + struct nd_cmd_smart { __u32 status; __u8 data[128]; @@ -148,7 +151,8 @@ static inline const char *nvdimm_cmd_name(unsigned cmd) return "unknown"; } -#define ND_IOCTL 'N' +#define ND_IOCTL NVDIMM_TYPE_INTEL + #define ND_IOCTL_SMART _IOWR(ND_IOCTL, ND_CMD_SMART,\ struct nd_cmd_smart) @@ -204,4 +208,18 @@ enum ars_masks { ARS_STATUS_MASK = 0x0000FFFF, ARS_EXT_STATUS_SHIFT = 16, }; + + +struct ndn_pkg { + struct { + __u8 dsm_uuid[16]; + __u32 dsm_in; /* size of _DSM input */ + __u32 dsm_out; /* size of user buffer */ + __u32 dsm_rev; /* revision of dsm call */ + __u32 res[8]; /* reserved must be zero */ + __u32 dsm_size; /* size _DSM would write */ + } h; + unsigned char buf[]; +} __packed; + #endif /* __NDCTL_H__ */ -- 1.7.11.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/