On Tue, 2016-03-08 at 14:47 -0800, Dan Williams wrote: > Add the boiler-plate for a 'clear error' command based on section > 9.20.7.6 "Function Index 4 - Clear Uncorrectable Error" from the ACPI > 6.1 specification, and add a reference implementation in nfit_test. > > Cc: Vishal Verma <vishal.l.verma@xxxxxxxxx> > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> > --- > drivers/acpi/nfit.c | 12 +++++++++++- > drivers/nvdimm/bus.c | 19 +++++++++++++++++++ > include/uapi/linux/ndctl.h | 13 +++++++++++++ > tools/testing/nvdimm/test/nfit.c | 29 +++++++++++++++++++++++++++++ > 4 files changed, 72 insertions(+), 1 deletion(-) > <snip> > diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h > index cc68b92124d4..0f001c571cdd 100644 > --- a/include/uapi/linux/ndctl.h > +++ b/include/uapi/linux/ndctl.h > @@ -98,6 +98,14 @@ struct nd_cmd_ars_status { > } __packed records[0]; > } __packed; > > +struct nd_cmd_clear_error { > + __u64 address; > + __u64 length; > + __u32 status; > + __u8 reserved[4]; > + __u64 cleared; > +} __packed; > + > enum { > ND_CMD_IMPLEMENTED = 0, > > @@ -105,6 +113,7 @@ enum { > ND_CMD_ARS_CAP = 1, > ND_CMD_ARS_START = 2, > ND_CMD_ARS_STATUS = 3, > + ND_CMD_CLEAR_ERROR = 4, > > /* per-dimm commands */ > ND_CMD_SMART = 1, > @@ -129,6 +138,7 @@ static inline const char > *nvdimm_bus_cmd_name(unsigned cmd) > [ND_CMD_ARS_CAP] = "ars_cap", > [ND_CMD_ARS_START] = "ars_start", > [ND_CMD_ARS_STATUS] = "ars_status", > + [ND_CMD_CLEAR_ERROR] = "clear_error", > }; > > if (cmd < ARRAY_SIZE(names) && names[cmd]) > @@ -187,6 +197,9 @@ static inline const char *nvdimm_cmd_name(unsigned > cmd) > #define ND_IOCTL_ARS_STATUS _IOWR(ND_IOCTL, > ND_CMD_ARS_STATUS,\ > struct nd_cmd_ars_status) > > +#define ND_IOCTL_CLEAR_ERROR _IOWR(ND_IOCTL, > ND_CMD_CLEAR_ERROR,\ > + struct nd_cmd_ars_status) > + Typo here? Should be struct nd_cmd_clear_error. ��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f