<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/hwmon/f75375s.c, branch v3.4-rc2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>hwmon: (f75375s) Fix warning message seen in some configurations</title>
<updated>2012-04-01T17:24:34+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2012-03-24T15:38:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6394011d65b7e74666f07cca98747601cf8298fa'/>
<id>6394011d65b7e74666f07cca98747601cf8298fa</id>
<content type='text'>
In some configurations, BUG() does not result in an endless loop but returns to
the caller. This results in the following compiler warning:

drivers/hwmon/f75375s.c: In function 'duty_mode_enabled':
drivers/hwmon/f75375s.c:280: warning: control reaches end of non-void function
drivers/hwmon/f75375s.c: In function 'auto_mode_enabled':
drivers/hwmon/f75375s.c:295: warning: control reaches end of non-void function

Fix the warning by returning something sensible after BUG().

Cc: Nikolaus Schulz &lt;schulz@macnetix.de&gt;
Cc: Riku Voipio &lt;riku.voipio@iki.fi&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Acked-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In some configurations, BUG() does not result in an endless loop but returns to
the caller. This results in the following compiler warning:

drivers/hwmon/f75375s.c: In function 'duty_mode_enabled':
drivers/hwmon/f75375s.c:280: warning: control reaches end of non-void function
drivers/hwmon/f75375s.c: In function 'auto_mode_enabled':
drivers/hwmon/f75375s.c:295: warning: control reaches end of non-void function

Fix the warning by returning something sensible after BUG().

Cc: Nikolaus Schulz &lt;schulz@macnetix.de&gt;
Cc: Riku Voipio &lt;riku.voipio@iki.fi&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Acked-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: convert drivers/hwmon/* to use module_i2c_driver()</title>
<updated>2012-03-19T01:26:50+00:00</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@gmail.com</email>
</author>
<published>2012-01-20T07:38:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f0967eea80ec2a19a4fe1ad27e3ff1b22c79a3c7'/>
<id>f0967eea80ec2a19a4fe1ad27e3ff1b22c79a3c7</id>
<content type='text'>
This patch converts the drivers in drivers/hwmon/* to use the
module_i2c_driver() macro which makes the code smaller and a bit simpler.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Cc: Corentin Labbe &lt;corentin.labbe@geomatys.fr&gt;
Cc: Dirk Eibach &lt;eibach@gdsys.de&gt;
Cc: "Mark M. Hoffman" &lt;mhoffman@lightlink.com&gt;
Cc: Steve Glendinning &lt;steve.glendinning@smsc.com&gt;
Cc: Riku Voipio &lt;riku.voipio@iki.fi&gt;
Cc: Guillaume Ligneul &lt;guillaume.ligneul@gmail.com&gt;
Cc: David George &lt;david.george@ska.ac.za&gt;
Cc: "Hans J. Koch" &lt;hjk@hansjkoch.de&gt;
Cc: Marc Hulsman &lt;m.hulsman@tudelft.nl&gt;
Cc: Rudolf Marek &lt;r.marek@assembler.cz&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch converts the drivers in drivers/hwmon/* to use the
module_i2c_driver() macro which makes the code smaller and a bit simpler.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Cc: Corentin Labbe &lt;corentin.labbe@geomatys.fr&gt;
Cc: Dirk Eibach &lt;eibach@gdsys.de&gt;
Cc: "Mark M. Hoffman" &lt;mhoffman@lightlink.com&gt;
Cc: Steve Glendinning &lt;steve.glendinning@smsc.com&gt;
Cc: Riku Voipio &lt;riku.voipio@iki.fi&gt;
Cc: Guillaume Ligneul &lt;guillaume.ligneul@gmail.com&gt;
Cc: David George &lt;david.george@ska.ac.za&gt;
Cc: "Hans J. Koch" &lt;hjk@hansjkoch.de&gt;
Cc: Marc Hulsman &lt;m.hulsman@tudelft.nl&gt;
Cc: Rudolf Marek &lt;r.marek@assembler.cz&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (f75375s) Catch some attempts to write to r/o registers</title>
<updated>2012-03-02T20:02:23+00:00</updated>
<author>
<name>Nikolaus Schulz</name>
<email>mail@microschulz.de</email>
</author>
<published>2012-02-28T21:15:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=15d1ad0cc9d2d3f549afddbcdbc9c3637f0d1331'/>
<id>15d1ad0cc9d2d3f549afddbcdbc9c3637f0d1331</id>
<content type='text'>
It makes no sense to attempt to manually configure the fan in auto mode,
or set the duty cycle directly in closed loop mode.  The corresponding
registers are then read-only.  If the user tries it nonetheless, error out
with EINVAL instead of silently doing nothing.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
[guenter.roeck@ericsson.com: Minor formatting cleanup]
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It makes no sense to attempt to manually configure the fan in auto mode,
or set the duty cycle directly in closed loop mode.  The corresponding
registers are then read-only.  If the user tries it nonetheless, error out
with EINVAL instead of silently doing nothing.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
[guenter.roeck@ericsson.com: Minor formatting cleanup]
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (f75375s) Properly map the F75387 automatic modes to pwm_enable</title>
<updated>2012-03-02T19:56:43+00:00</updated>
<author>
<name>Nikolaus Schulz</name>
<email>schulz@macnetix.de</email>
</author>
<published>2012-02-28T21:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b17d6561acc16265b65b1e0d27b649829b61a7e3'/>
<id>b17d6561acc16265b65b1e0d27b649829b61a7e3</id>
<content type='text'>
The F75387 supports automatic fan control using either PWM duty cycle or
RPM speed values.  Make the driver detect the latter mode, and expose the
different modes in sysfs as per pwm_enable, so that the user can switch
between them.

The interpretation of the pwm_enable attribute for the F75387 is adjusted
to be a superset of those values used for similar Fintek chips which do
not support automatic duty mode, with 2 mapping to automatic speed mode,
and moving automatic duty mode to the new value 4.

Toggling the duty mode via pwm_enable is currently denied for the F75387,
as the chip then simply reinterprets the fan configuration register values
according to the new mode, switching between RPM and PWM units, which
makes this a dangerous operation.

This patch introduces a new pwm mode into the driver. This is necessary
because the new mode (automatic pwm mode, 4) may already be enabled by the
BIOS, and the driver should not break existing functionality. This was seen
on at least one board.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The F75387 supports automatic fan control using either PWM duty cycle or
RPM speed values.  Make the driver detect the latter mode, and expose the
different modes in sysfs as per pwm_enable, so that the user can switch
between them.

The interpretation of the pwm_enable attribute for the F75387 is adjusted
to be a superset of those values used for similar Fintek chips which do
not support automatic duty mode, with 2 mapping to automatic speed mode,
and moving automatic duty mode to the new value 4.

Toggling the duty mode via pwm_enable is currently denied for the F75387,
as the chip then simply reinterprets the fan configuration register values
according to the new mode, switching between RPM and PWM units, which
makes this a dangerous operation.

This patch introduces a new pwm mode into the driver. This is necessary
because the new mode (automatic pwm mode, 4) may already be enabled by the
BIOS, and the driver should not break existing functionality. This was seen
on at least one board.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (f75375s) Make pwm*_mode writable for the F75387</title>
<updated>2012-02-28T22:44:02+00:00</updated>
<author>
<name>Nikolaus Schulz</name>
<email>mail@microschulz.de</email>
</author>
<published>2012-02-28T21:15:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=edeea102857e33b5e9b17a3a2640da390732a693'/>
<id>edeea102857e33b5e9b17a3a2640da390732a693</id>
<content type='text'>
Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (f75375s) Fix writes to the pwm* attribute for the F75387</title>
<updated>2012-02-28T22:39:47+00:00</updated>
<author>
<name>Nikolaus Schulz</name>
<email>mail@microschulz.de</email>
</author>
<published>2012-02-28T21:15:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=331255d35d6f517020485aee38dbb8b8dfaa1642'/>
<id>331255d35d6f517020485aee38dbb8b8dfaa1642</id>
<content type='text'>
For the F75387, the register holding the current PWM duty cycle value is
r/o; changing it requires writing to the fan expect register instead.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
[guenter.roeck@ericsson.com: Simplified function parameters]
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For the F75387, the register holding the current PWM duty cycle value is
r/o; changing it requires writing to the fan expect register instead.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
[guenter.roeck@ericsson.com: Simplified function parameters]
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (f75375s) Fix register write order when setting fans to full speed</title>
<updated>2012-02-23T14:47:47+00:00</updated>
<author>
<name>Nikolaus Schulz</name>
<email>schulz@macnetix.de</email>
</author>
<published>2012-02-22T22:18:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c1c1a3d012fe5e82a9a025fb4b5a4f8ee67a53f6'/>
<id>c1c1a3d012fe5e82a9a025fb4b5a4f8ee67a53f6</id>
<content type='text'>
By hwmon sysfs interface convention, setting pwm_enable to zero sets a fan
to full speed.  In the f75375s driver, this need be done by enabling
manual fan control, plus duty mode for the F875387 chip, and then setting
the maximum duty cycle.  Fix a bug where the two necessary register writes
were swapped, effectively discarding the setting to full-speed.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Cc: Riku Voipio &lt;riku.voipio@iki.fi&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By hwmon sysfs interface convention, setting pwm_enable to zero sets a fan
to full speed.  In the f75375s driver, this need be done by enabling
manual fan control, plus duty mode for the F875387 chip, and then setting
the maximum duty cycle.  Fix a bug where the two necessary register writes
were swapped, effectively discarding the setting to full-speed.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Cc: Riku Voipio &lt;riku.voipio@iki.fi&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (f75375s) Let f75375_update_device treat pwmX as a measured value</title>
<updated>2012-02-09T19:21:49+00:00</updated>
<author>
<name>Nikolaus Schulz</name>
<email>schulz@macnetix.de</email>
</author>
<published>2012-02-08T17:56:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a1c1baf00e5c08dda9c0ee25658bf0ce301102ae'/>
<id>a1c1baf00e5c08dda9c0ee25658bf0ce301102ae</id>
<content type='text'>
Treat pwmX as a measured value, not as a (mostly static) limit value, so
that it is updated more frequently from the device register.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Treat pwmX as a measured value, not as a (mostly static) limit value, so
that it is updated more frequently from the device register.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (f75375s) Fix bit shifting in f75375_write16</title>
<updated>2012-02-09T04:47:34+00:00</updated>
<author>
<name>Nikolaus Schulz</name>
<email>schulz@macnetix.de</email>
</author>
<published>2012-02-08T17:56:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=eb2f255b2d360df3f500042a2258dcf2fcbe89a2'/>
<id>eb2f255b2d360df3f500042a2258dcf2fcbe89a2</id>
<content type='text'>
In order to extract the high byte of the 16-bit word, shift the word to
the right, not to the left.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Cc: stable@kernel.org # 2.6.32+
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to extract the high byte of the 16-bit word, shift the word to
the right, not to the left.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Cc: stable@kernel.org # 2.6.32+
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (f75375s) Fix reading of wrong register when initializing the F75387</title>
<updated>2012-02-09T04:47:33+00:00</updated>
<author>
<name>Nikolaus Schulz</name>
<email>schulz@macnetix.de</email>
</author>
<published>2012-02-08T17:56:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a367a1e08b21e995c7112ff32b5efc97d104d405'/>
<id>a367a1e08b21e995c7112ff32b5efc97d104d405</id>
<content type='text'>
Unlike the other chips supported by this driver, the F75387 stores the
pwm_mode in register F75375_REG_FAN_TIMER, not F75375_REG_CONFIG1.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unlike the other chips supported by this driver, the F75387 stores the
pwm_mode in register F75375_REG_FAN_TIMER, not F75375_REG_CONFIG1.

Signed-off-by: Nikolaus Schulz &lt;mail@microschulz.de&gt;
Signed-off-by: Guenter Roeck &lt;guenter.roeck@ericsson.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
