lkml.org 
[lkml]   [2014]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [char-misc-next 2/3] mei: export fw status registers through sysfs
On Wed, Nov 19, 2014 at 05:01:39PM +0200, Tomas Winkler wrote:
> The interface is for applications that monitor
> the fw health.
>
> We use device_create_with_groups interface
> to register attribute with the mei class device
>
> Signed-off-by :Tomas Winkler <tomas.winkler@intel.com>
>
> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
> ---
> drivers/misc/mei/main.c | 43 +++++++++++++++++++++++++++++++++++++++++--
> 1 file changed, 41 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c
> index 5d6a15c3619a..3c019c0e60eb 100644
> --- a/drivers/misc/mei/main.c
> +++ b/drivers/misc/mei/main.c
> @@ -627,6 +627,44 @@ out:
> return mask;
> }
>
> +/**
> + * fw_status_show - mei device attribute show method
> + *
> + * @device: device pointer
> + * @attr: attribute pointer
> + * @buf: char out buffer
> + *
> + * Return: number of the bytes printed into buf or error
> + */
> +static ssize_t fw_status_show(struct device *device,
> + struct device_attribute *attr, char *buf)
> +{
> + struct mei_device *dev = dev_get_drvdata(device);
> + struct mei_fw_status fw_status;
> + int err, i;
> + ssize_t cnt = 0;
> +
> + mutex_lock(&dev->device_lock);
> + err = mei_fw_status(dev, &fw_status);
> + mutex_unlock(&dev->device_lock);
> + if (err) {
> + dev_err(device, "read fw_status error = %d\n", err);
> + return err;
> + }
> +
> + for (i = 0; i < fw_status.count; i++)
> + cnt += scnprintf(buf + cnt, PAGE_SIZE - cnt, "%08X\n",
> + fw_status.status[i]);

That really looks like more than a "one value per file" thing.

Hint, if you are ever worrying about the size of the buffer for your
sysfs file, you are doing something wrong.

thanks,

greg k-h


\
 
 \ /
  Last update: 2014-11-27 04:41    [W:0.049 / U:0.776 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site