All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Rafi Rubin <rafi@seas.upenn.edu>
Cc: jkosina@suse.cz, Henrik Rydberg <rydberg@euromail.se>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	chatty@enac.fr, micki@n-trig.com
Subject: Re: [PATCH 4/4] firmware sysfs node
Date: Tue, 31 Aug 2010 19:06:35 -0700	[thread overview]
Message-ID: <20100901020634.GD23585@core.coreip.homeip.net> (raw)
In-Reply-To: <4C7C639F.3040407@seas.upenn.edu>

On Mon, Aug 30, 2010 at 10:06:23PM -0400, Rafi Rubin wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 08/27/10 12:34, Dmitry Torokhov wrote:
> > On Fri, Aug 27, 2010 at 02:09:05PM +0200, Henrik Rydberg wrote:
> >> On 08/26/2010 06:54 AM, Rafi Rubin wrote:
> >>
> >>> Signed-off-by: Rafi Rubin <rafi@seas.upenn.edu>
> >>> ---
> >>>  drivers/hid/hid-ntrig.c |   21 +++++++++++++++++++++
> >>>  1 files changed, 21 insertions(+), 0 deletions(-)
> >>>
> >>> diff --git a/drivers/hid/hid-ntrig.c b/drivers/hid/hid-ntrig.c
> >>> index ab0ca7f..e341e88 100644
> >>> --- a/drivers/hid/hid-ntrig.c
> >>> +++ b/drivers/hid/hid-ntrig.c
> >>> @@ -375,6 +375,26 @@ static ssize_t set_deactivate_slack(struct device *dev,
> >>>  static DEVICE_ATTR(deactivate_slack, S_IWUSR | S_IRUGO, show_deactivate_slack,
> >>>  		   set_deactivate_slack);
> >>>  
> >>> +static ssize_t show_firmware(struct device *dev,
> >>> +			       struct device_attribute *attr,
> >>> +			       char *buf)
> >>> +{
> >>> +	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
> >>> +	struct ntrig_data *nd = hid_get_drvdata(hdev);
> >>> +
> >>> +	if (!(nd->firmware_version[0] || nd->firmware_version[1] ||
> >>> +	      nd->firmware_version[2] || nd->firmware_version[3]))
> >>> +		return sprintf(buf, "Firmware version unavailable");
> >>
> >>
> >> If this sysfs node should really be added (see EVIO), it is probably better if
> >> it returns the same format for all devices. If all numbers are zero, that is
> >> understandable also by someone reading the node.
> >>
> > 
> > Yes, I think we should stick it into input_id and be done with it. Note
> > that input_id is not only available via EVIOCGID ioctl but also already
> > exported in sysfs.
> 
> The version in input_id is only 16 bits, whereas the ntrig version codes seem to
> be 32 bits.  Actually I've only mapped 21 bits out of 64, but I figure the first
> and last 8 are not actually part of the version, but that's still more than 16.
> 
> So, would you prefer that I increase the size of that field, or keep the
> firmware version code separate?
> 

Hmm, changing size would require ABI change which I am hesitant to do
without _very_ good reason.

If debugging aid is the only purpose maybe we should just dump the data
into dmesg and be done with it.

> 
> Also does it make sense to have a provide a pretty printer in the kernel, or
> should that be left to userspace?  The hardware returns a raw version code in
> the form:
> 	1a08 a521
> 
> In the ntrig utilities and documentation the where firmware version is mentioned
> it looks more like this:
> 	4.6.17.13.5
> 
> My intent was to make that second form more accessible to keep things simple for
> users, who if they are checking that probably already have enough troubling them :)
> 

Yeah, splitting into segments is pretty cheap.

-- 
Dmitry

  reply	other threads:[~2010-09-01  2:06 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-26  4:54 hid-ntrig documentation and firmware id Rafi Rubin
2010-08-26  4:54 ` [PATCH 1/4] Adding documention Rafi Rubin
2010-08-27 12:06   ` Henrik Rydberg
2010-08-29 19:52     ` Rafi Rubin
2010-08-30 13:25       ` Jiri Kosina
2010-08-26  4:54 ` [PATCH 2/4] a bit of whitespace cleanup Rafi Rubin
2010-08-26  4:54 ` [PATCH 3/4] identify firmware version Rafi Rubin
2010-08-27 12:01   ` Henrik Rydberg
2010-08-29 19:55     ` Rafi Rubin
2010-08-26  4:54 ` [PATCH 4/4] firmware sysfs node Rafi Rubin
2010-08-27 12:09   ` Henrik Rydberg
2010-08-27 16:34     ` Dmitry Torokhov
2010-08-31  2:06       ` Rafi Rubin
2010-09-01  2:06         ` Dmitry Torokhov [this message]
2010-09-01  9:48           ` [PATCH] identify firmware version Rafi Rubin
2010-09-01 10:04             ` Rafi Rubin
2010-09-01 12:27             ` Henrik Rydberg
2010-09-01 20:12             ` Jiri Slaby
2010-09-02  0:12               ` Rafi Rubin
2010-09-02  8:03                 ` Jiri Slaby
2010-09-02 18:00                   ` Rafi Rubin
2010-09-02 18:11                     ` Rafi Rubin
2010-09-06 16:42               ` Rafi Rubin
2010-09-06 19:48                 ` Dmitry Torokhov
2010-09-06 21:22                   ` Jiri Slaby
2010-09-06 23:32                     ` Rafi Rubin
2010-09-06 23:36                       ` Dmitry Torokhov
2010-09-07  6:54                       ` Jiri Slaby
2010-09-08  9:47                         ` Jiri Kosina
2010-09-08 15:42                           ` Rafi Rubin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100901020634.GD23585@core.coreip.homeip.net \
    --to=dmitry.torokhov@gmail.com \
    --cc=chatty@enac.fr \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=micki@n-trig.com \
    --cc=rafi@seas.upenn.edu \
    --cc=rydberg@euromail.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.