On Mon, May 20, 2019 at 03:20:02PM +0000, Liming Sun wrote: > Please see response inline. > > > -----Original Message----- > > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > Sent: Saturday, May 18, 2019 2:35 AM > > To: Liming Sun <lsun@xxxxxxxxxxxx> > > Cc: Andy Shevchenko <andy@xxxxxxxxxxxxx>; Darren Hart <dvhart@xxxxxxxxxxxxx>; Vadim Pasternak <vadimp@xxxxxxxxxxxx>; David > > Woods <dwoods@xxxxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; David S. Miller > > <davem@xxxxxxxxxxxxx>; Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx>; Jonathan Cameron > > <Jonathan.Cameron@xxxxxxxxxx>; Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx>; Paul E. McKenney <paulmck@xxxxxxxxxxxxx> > > Subject: Re: [PATCH v5 2/2] platform/mellanox/mlxbf-bootctl: Add the ABI definitions > > > > On Fri, May 17, 2019 at 08:36:53PM +0000, Liming Sun wrote: > > > Thanks Greg for the comments! Please see my response inline. > > > > > > Regards, > > > - Liming > > > > > > > -----Original Message----- > > > > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > > > Sent: Friday, May 17, 2019 1:59 PM > > > > To: Liming Sun <lsun@xxxxxxxxxxxx> > > > > Cc: Andy Shevchenko <andy@xxxxxxxxxxxxx>; Darren Hart <dvhart@xxxxxxxxxxxxx>; Vadim Pasternak <vadimp@xxxxxxxxxxxx>; > > David > > > > Woods <dwoods@xxxxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; David S. Miller > > > > <davem@xxxxxxxxxxxxx>; Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx>; Jonathan Cameron > > > > <Jonathan.Cameron@xxxxxxxxxx>; Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx>; Paul E. McKenney <paulmck@xxxxxxxxxxxxx> > > > > Subject: Re: [PATCH v5 2/2] platform/mellanox/mlxbf-bootctl: Add the ABI definitions > > > > > > > > On Fri, May 17, 2019 at 01:49:05PM -0400, Liming Sun wrote: > > > > > This commit adds the ABI definitions exposed to userspace for > > > > > the platform/mellanox/mlxbf-bootctl driver. > > > > > > > > > > Reviewed-by: Vadim Pasternak <vadimp@xxxxxxxxxxxx> > > > > > Signed-off-by: Liming Sun <lsun@xxxxxxxxxxxx> > > > > > --- > > > > > .../ABI/testing/sysfs-platform-mellanox-bootctl | 58 ++++++++++++++++++++++ > > > > > MAINTAINERS | 1 + > > > > > 2 files changed, 59 insertions(+) > > > > > create mode 100644 Documentation/ABI/testing/sysfs-platform-mellanox-bootctl > > > > > > > > > > diff --git a/Documentation/ABI/testing/sysfs-platform-mellanox-bootctl b/Documentation/ABI/testing/sysfs-platform-mellanox- > > > > bootctl > > > > > new file mode 100644 > > > > > index 0000000..19a14db > > > > > --- /dev/null > > > > > +++ b/Documentation/ABI/testing/sysfs-platform-mellanox-bootctl > > > > > @@ -0,0 +1,58 @@ > > > > > +What: /sys/bus/platform/drivers/mlxbf-bootctl/lifecycle_state > > > > > +Date: May 2019 > > > > > +KernelVersion: 5.3 > > > > > +Contact: "Liming Sun <lsun@xxxxxxxxxxxx>" > > > > > +Description: > > > > > + The Life-cycle state of the SoC, which could be one of the > > > > > + following values. > > > > > + Production - Production state and can be updated to secure > > > > > + GA Secured - Secure chip and not able to change state > > > > > + GA Non-Secured - Non-Secure chip and not able to change state > > > > > + RMA - Return Merchandise Authorization > > > > > > > > A "driver" does not have a lifecycle state, a "device" does. > > > > > > > > You are putting all of these attributes in the wrong place. Put them on > > > > your device please, not the driver. driver-specific attributes are > > > > _VERY_ rare, and only for things that can modify/show for all devices > > > > attached to that driver. > > > > > > This driver is running on the ARM processor of the SoC. The 'device' is > > > the SoC itself. That's to say, there is only one device here attached to > > > the driver and the driver state will also be the device state. > > > > That might be true today, but maybe not tomorrow :) > > > > Anyway, again, this is device state, not driver state. > > Yes, I agree. I discussed with the team and will move these attributes > under device (since they could be all considered as device state). Great. > > > This interface has been used by user-space applications for a couple of > > > releases. It'll be great if it could stay in such way for compatibility. Please > > > advise if this is strongly preferred to move them under devices. > > > > So this is code that is already in the tree, and is just now being > > documented? What .c file(s) is this referring to? > > This code is not in the kernel tree yet. It has been in Mellanox BlueField > SW packages for a couple of releases and is trying to be up-streamed now. Ok, then whatever happened in the past, before anyone in the community reviewed your code, and merged it into the kernel tree, does not count :) Where is the first patch in this series? I'll be glad to review your actual sysfs implementation if you point me at it. > > As for "comptability", sysfs is made such that if a file is not present, > > userspace should be able to survive, that is why it is > > one-value-per-file. What tool is using this, and where is the source > > for it? > > The latest 2.0 code can be found at link > https://github.com/Mellanox/mlxbf-bootctl/tree/2.0 > > In file mlxbf-bootctl.c, currently it uses the 'drivers' path as sysfs path. > #define SYS_PATH "/sys/bus/platform/drivers/mlx-bootctl". We could > update it to support both paths. Please do so. thanks, greg k-h