RE: [char-misc-next] mei: bus: add more client attributes to sysfs
From: Winkler, Tomas
Date: Sat Nov 16 2019 - 07:09:00 EST
>
> On Sat, Nov 16, 2019 at 04:21:36PM +0200, Tomas Winkler wrote:
> > From: Alexander Usyskin <alexander.usyskin@xxxxxxxxx>
> >
> > Export more client attributes via sysfs that are usually obtained upon
> > connection. In some cases, for example a monitoring application may
> > wish to know the attributes without actually performing the connection.
> > Added attributes:
> > max number of connections, fixed address, max message length.
> >
> > Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx>
> > Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> > ---
> > Documentation/ABI/testing/sysfs-bus-mei | 21 +++++++++++++++
> > drivers/misc/mei/bus.c | 33 +++++++++++++++++++++++
> > drivers/misc/mei/client.h | 36 +++++++++++++++++++++++++
> > 3 files changed, 90 insertions(+)
> >
> > diff --git a/Documentation/ABI/testing/sysfs-bus-mei
> > b/Documentation/ABI/testing/sysfs-bus-mei
> > index 3f8701e8fa24..3d37e2796d5a 100644
> > --- a/Documentation/ABI/testing/sysfs-bus-mei
> > +++ b/Documentation/ABI/testing/sysfs-bus-mei
> > @@ -26,3 +26,24 @@ KernelVersion: 4.3
> > Contact: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> > Description: Stores mei client protocol version
> > Format: %d
> > +
> > +What: /sys/bus/mei/devices/.../max_conn
> > +Date: Nov 2019
> > +KernelVersion: 5.5
> > +Contact: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> > +Description: Stores mei client maximum number of connections
> > + Format: %d
> > +
> > +What: /sys/bus/mei/devices/.../fixed
> > +Date: Nov 2019
> > +KernelVersion: 5.5
> > +Contact: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> > +Description: Stores mei client fixed address, if any
> > + Format: %d
> > +
> > +What: /sys/bus/mei/devices/.../max_len
> > +Date: Nov 2019
> > +KernelVersion: 5.5
> > +Contact: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> > +Description: Stores mei client maximum message length
> > + Format: %d
> > diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c index
> > 53bb394ccba6..a0a495c95e3c 100644
> > --- a/drivers/misc/mei/bus.c
> > +++ b/drivers/misc/mei/bus.c
> > @@ -791,11 +791,44 @@ static ssize_t modalias_show(struct device *dev,
> > struct device_attribute *a, } static DEVICE_ATTR_RO(modalias);
> >
> > +static ssize_t max_conn_show(struct device *dev, struct device_attribute
> *a,
> > + char *buf)
> > +{
> > + struct mei_cl_device *cldev = to_mei_cl_device(dev);
> > + u8 maxconn = mei_me_cl_max_conn(cldev->me_cl);
> > +
> > + return scnprintf(buf, PAGE_SIZE, "%d", maxconn);
>
> Nit, you can just do sprintf() for sysfs file attributes as you "know"
> the buffer is big enough and your variable will fit.
>
> Not a bit deal, but something to do in the future.
Right, missed that, I can fix it in a follow up patch or resend this one.
Thanks
Tomas