All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean Delvare <jdelvare@suse.de>
To: kreijack@inwind.it
Cc: Goffredo Baroncelli <kreijack@gmail.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	linux-kernel@vger.kernel.org, bryan@whatroute.net
Subject: Re: [PATCH 4/4] Return the fan speed via sysfs
Date: Sun, 3 Aug 2014 17:59:01 +0200	[thread overview]
Message-ID: <20140803175901.27519306@endymion.delvare> (raw)
In-Reply-To: <53DE54D5.2050806@inwind.it>

On Sun, 03 Aug 2014 17:27:17 +0200, Goffredo Baroncelli wrote:
> On 08/03/2014 04:17 PM, Jean Delvare wrote:
> > On Fri,  1 Aug 2014 14:00:50 +0000, Goffredo Baroncelli wrote:
> >> Return the fan speed via sysfs:
> >> /sys/devices/temperature/fan_level
> > 
> > Good idea. Even better would be if the driver would expose a standard
> > hwmon interface for the temperature values. Fan level could go in
> > attribute "pwm1" after proper scaling.
> 
> I tought the same. But until now the value logged is an integer value
> between 1 and 11. So I preferred to leave it as is.
> 
> The thing that I can do is to *add* a further attribute called pwm1.
> ( I have to check how adm1031.c computes its pwm), because is a 
> more standard interface.

The temperature attributes in hwmon would need different names and
units too (temp1_input and temp2_input, in millidegree C.) The
advantage is that all monitoring applications out there would pick up
these values automatically.

> I even thought to allow to change the fan speed from user space....

Ben will never let you do that ;-)

> >> @@ -265,6 +271,7 @@ setup_hardware( void )
> >>  
> >>  	err = device_create_file( &x.of_dev->dev, &dev_attr_cpu_temperature );
> >>  	err |= device_create_file( &x.of_dev->dev, &dev_attr_case_temperature );
> >> +	err |= device_create_file( &x.of_dev->dev, &dev_attr_fan_level );
> >>  	if (err)
> >>  		printk(KERN_WARNING
> >>  			"Failed to create temperature attribute file(s).\n");
> > 
> > That's not your fault but please note that this construct is broken.
> > You can't "or" error codes together, the result if two or more calls
> > fail with different error codes is pretty random. Instead, each error
> > must be tested individually. I know checkpatch.pl will complain if you
> > do that but you can ignore it as is it the right thing to do in that
> > case.
> 
> The really question is what we should do if the 2nd device_create_file()
> would fail: we should fails the driver initialization ? or we should
> continue, because even if there aren't some sysfs attributes the driver
> work enough ?

I would log a warning and continue because it's a secondary feature of
the driver. Exactly as the driver already does - no change here.

In practice it's never going to happen so it doesn't really matter. I
just wanted to point out that the construct used in the driver was
dangerous. In this specific case it's harmless because the value of
"err" is never used (other than the fact that it's non-zero.) But if
the error code was included in the log message for example (which is
recommended), it would possibly make no sense.

Feel free to ignore this problem in this patch, it's not so important.

-- 
Jean Delvare
SUSE L3 Support

  reply	other threads:[~2014-08-03 15:59 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-01 14:00 [PATCH][v2] therm_windtunnel doesn't work properly on PowerMac G4 Goffredo Baroncelli
2014-08-01 14:00 ` [PATCH 1/4] Update drivers names to the ones invoked by i2c-powermac Goffredo Baroncelli
2014-08-01 14:00 ` [PATCH 2/4] Remove attach_method because un-used Goffredo Baroncelli
2014-08-01 14:00 ` [PATCH 3/4] Add the "verbose" module option Goffredo Baroncelli
2014-08-03 14:12   ` Jean Delvare
2014-08-03 15:12     ` Goffredo Baroncelli
2014-08-03 15:52       ` Jean Delvare
2014-08-03 16:36         ` Goffredo Baroncelli
2014-08-04  8:46           ` Jean Delvare
2014-08-04 17:10             ` Goffredo Baroncelli
2014-08-05  8:59               ` Jean Delvare
2014-08-01 14:00 ` [PATCH 4/4] Return the fan speed via sysfs Goffredo Baroncelli
2014-08-03 14:17   ` Jean Delvare
2014-08-03 15:27     ` Goffredo Baroncelli
2014-08-03 15:59       ` Jean Delvare [this message]
2014-08-03 16:42         ` Goffredo Baroncelli
2014-08-04  8:44           ` Jean Delvare

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=20140803175901.27519306@endymion.delvare \
    --to=jdelvare@suse.de \
    --cc=benh@kernel.crashing.org \
    --cc=bryan@whatroute.net \
    --cc=kreijack@gmail.com \
    --cc=kreijack@inwind.it \
    --cc=linux-kernel@vger.kernel.org \
    /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.