<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/hwmon, branch v4.14.78</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>hwmon: (adt7475) Make adt7475_read_word() return errors</title>
<updated>2018-10-04T00:00:58+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2018-08-14T10:07:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d3ddd8e16cab439c0abbf08a33a6a0465c8e67da'/>
<id>d3ddd8e16cab439c0abbf08a33a6a0465c8e67da</id>
<content type='text'>
[ Upstream commit f196dec6d50abb2e65fb54a0621b2f1b4d922995 ]

The adt7475_read_word() function was meant to return negative error
codes on failure.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Tokunori Ikegami &lt;ikegami@allied-telesis.co.jp&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit f196dec6d50abb2e65fb54a0621b2f1b4d922995 ]

The adt7475_read_word() function was meant to return negative error
codes on failure.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Tokunori Ikegami &lt;ikegami@allied-telesis.co.jp&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (ina2xx) fix sysfs shunt resistor read access</title>
<updated>2018-10-04T00:00:58+00:00</updated>
<author>
<name>Lothar Felten</name>
<email>lothar.felten@gmail.com</email>
</author>
<published>2018-08-14T07:09:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0647ce03bd48aac37b055355c168b4a889bcc36b'/>
<id>0647ce03bd48aac37b055355c168b4a889bcc36b</id>
<content type='text'>
[ Upstream commit 3ad867001c91657c46dcf6656d52eb6080286fd5 ]

fix the sysfs shunt resistor read access: return the shunt resistor
value, not the calibration register contents.

update email address

Signed-off-by: Lothar Felten &lt;lothar.felten@gmail.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 3ad867001c91657c46dcf6656d52eb6080286fd5 ]

fix the sysfs shunt resistor read access: return the shunt resistor
value, not the calibration register contents.

update email address

Signed-off-by: Lothar Felten &lt;lothar.felten@gmail.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct6775) Fix potential Spectre v1</title>
<updated>2018-09-05T07:26:40+00:00</updated>
<author>
<name>Gustavo A. R. Silva</name>
<email>gustavo@embeddedor.com</email>
</author>
<published>2018-08-15T13:14:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=cf9fcdd6c2a258b817361967b66b5aba5b7376f2'/>
<id>cf9fcdd6c2a258b817361967b66b5aba5b7376f2</id>
<content type='text'>
commit d49dbfade96d5b0863ca8a90122a805edd5ef50a upstream.

val can be indirectly controlled by user-space, hence leading to
a potential exploitation of the Spectre variant 1 vulnerability.

This issue was detected with the help of Smatch:

vers/hwmon/nct6775.c:2698 store_pwm_weight_temp_sel() warn: potential
spectre issue 'data-&gt;temp_src' [r]

Fix this by sanitizing val before using it to index data-&gt;temp_src

Notice that given that speculation windows are large, the policy is
to kill the speculation on the first load and not worry if it can be
completed with a dependent load/store [1].

[1] https://marc.info/?l=linux-kernel&amp;m=152449131114778&amp;w=2

Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva &lt;gustavo@embeddedor.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d49dbfade96d5b0863ca8a90122a805edd5ef50a upstream.

val can be indirectly controlled by user-space, hence leading to
a potential exploitation of the Spectre variant 1 vulnerability.

This issue was detected with the help of Smatch:

vers/hwmon/nct6775.c:2698 store_pwm_weight_temp_sel() warn: potential
spectre issue 'data-&gt;temp_src' [r]

Fix this by sanitizing val before using it to index data-&gt;temp_src

Notice that given that speculation windows are large, the policy is
to kill the speculation on the first load and not worry if it can be
completed with a dependent load/store [1].

[1] https://marc.info/?l=linux-kernel&amp;m=152449131114778&amp;w=2

Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva &lt;gustavo@embeddedor.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct6775) Fix loop limit</title>
<updated>2018-08-24T11:08:56+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2018-06-12T22:19:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4dff89e722d5186e9531a534f1000fee41798176'/>
<id>4dff89e722d5186e9531a534f1000fee41798176</id>
<content type='text'>
[ Upstream commit 91bb8f45f73f19a0150c233c0f11cdeb6d71d1e9 ]

Commit cc66b3038254 ("hwmon: (nct6775) Rework temperature source and label
handling") changed a loop limit from "data-&gt;temp_label_num - 1" to "32",
as part of moving from a string array to a bit mask. This results in the
following error, reported by UBSAN.

UBSAN: Undefined behaviour in drivers/hwmon/nct6775.c:4179:27
shift exponent 32 is too large for 32-bit type 'long unsigned int'

Similar to the original loop, the limit has to be one less than the
number of bits.

Fixes: cc66b3038254 ("hwmon: (nct6775) Rework temperature source and label handling")
Reported-by: Paul Menzel &lt;pmenzel+linux-hwmon@molgen.mpg.de&gt;
Cc: Paul Menzel &lt;pmenzel+linux-hwmon@molgen.mpg.de&gt;
Tested-by: Paul Menzel &lt;pmenzel+linux-hwmon@molgen.mpg.de&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 91bb8f45f73f19a0150c233c0f11cdeb6d71d1e9 ]

Commit cc66b3038254 ("hwmon: (nct6775) Rework temperature source and label
handling") changed a loop limit from "data-&gt;temp_label_num - 1" to "32",
as part of moving from a string array to a bit mask. This results in the
following error, reported by UBSAN.

UBSAN: Undefined behaviour in drivers/hwmon/nct6775.c:4179:27
shift exponent 32 is too large for 32-bit type 'long unsigned int'

Similar to the original loop, the limit has to be one less than the
number of bits.

Fixes: cc66b3038254 ("hwmon: (nct6775) Rework temperature source and label handling")
Reported-by: Paul Menzel &lt;pmenzel+linux-hwmon@molgen.mpg.de&gt;
Cc: Paul Menzel &lt;pmenzel+linux-hwmon@molgen.mpg.de&gt;
Tested-by: Paul Menzel &lt;pmenzel+linux-hwmon@molgen.mpg.de&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (pmbus/adm1275) Accept negative page register values</title>
<updated>2018-05-30T05:52:34+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2018-03-11T01:55:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8f8ebc0ba07c2412b1752ceb5c7bea2b7a4b6f24'/>
<id>8f8ebc0ba07c2412b1752ceb5c7bea2b7a4b6f24</id>
<content type='text'>
[ Upstream commit ecb29abd4cb0670c616fb563a078f25d777ce530 ]

A negative page register value means that no page needs to be
selected. This is used by status register read operations and needs
to be accepted. The failure to do so so results in missed status
and limit registers.

Fixes: da8e48ab483e1 ("hwmon: (pmbus) Always call _pmbus_read_byte in core driver")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit ecb29abd4cb0670c616fb563a078f25d777ce530 ]

A negative page register value means that no page needs to be
selected. This is used by status register read operations and needs
to be accepted. The failure to do so so results in missed status
and limit registers.

Fixes: da8e48ab483e1 ("hwmon: (pmbus) Always call _pmbus_read_byte in core driver")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (pmbus/max8688) Accept negative page register values</title>
<updated>2018-05-30T05:52:34+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2018-03-11T01:49:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=afcbcb432e84ce9facebc8e238b89b2b8d810e97'/>
<id>afcbcb432e84ce9facebc8e238b89b2b8d810e97</id>
<content type='text'>
[ Upstream commit a46f8cd696624ef757be0311eb28f119c36778e8 ]

A negative page register value means that no page needs to be
selected. This is used by status register evaluations and needs
to be accepted.

Fixes: da8e48ab483e1 ("hwmon: (pmbus) Always call _pmbus_read_byte in core driver")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit a46f8cd696624ef757be0311eb28f119c36778e8 ]

A negative page register value means that no page needs to be
selected. This is used by status register evaluations and needs
to be accepted.

Fixes: da8e48ab483e1 ("hwmon: (pmbus) Always call _pmbus_read_byte in core driver")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct6775) Fix writing pwmX_mode</title>
<updated>2018-05-30T05:52:28+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2018-03-27T02:50:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=68a38cedff764feb87353f90d1ad9b70afdd635e'/>
<id>68a38cedff764feb87353f90d1ad9b70afdd635e</id>
<content type='text'>
[ Upstream commit 415eb2a1aaa4881cf85bd86c683356fdd8094a23 ]

pwmX_mode is defined in the ABI as 0=DC mode, 1=pwm mode. The chip
register bit is set to 1 for DC mode. This got mixed up, and writing
1 into pwmX_mode resulted in DC mode enabled. Fix it up by using
the ABI definition throughout the driver for consistency.

Fixes: 77eb5b3703d99 ("hwmon: (nct6775) Add support for pwm, pwm_mode, ... ")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 415eb2a1aaa4881cf85bd86c683356fdd8094a23 ]

pwmX_mode is defined in the ABI as 0=DC mode, 1=pwm mode. The chip
register bit is set to 1 for DC mode. This got mixed up, and writing
1 into pwmX_mode resulted in DC mode enabled. Fix it up by using
the ABI definition throughout the driver for consistency.

Fixes: 77eb5b3703d99 ("hwmon: (nct6775) Add support for pwm, pwm_mode, ... ")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (ina2xx) Fix access to uninitialized mutex</title>
<updated>2018-04-19T06:56:20+00:00</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2018-01-15T13:58:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=aa3bfa29fcd5a6af2959152be406245a8f48d481'/>
<id>aa3bfa29fcd5a6af2959152be406245a8f48d481</id>
<content type='text'>
commit 0c4c5860e9983eb3da7a3d73ca987643c3ed034b upstream.

Initialize data-&gt;config_lock mutex before it is used by the driver code.

This fixes following warning on Odroid XU3 boards:

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 5 PID: 1 Comm: swapper/0 Not tainted 4.15.0-rc7-next-20180115-00001-gb75575dee3f2 #107
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[&lt;c0111504&gt;] (unwind_backtrace) from [&lt;c010dbec&gt;] (show_stack+0x10/0x14)
[&lt;c010dbec&gt;] (show_stack) from [&lt;c09b3f74&gt;] (dump_stack+0x90/0xc8)
[&lt;c09b3f74&gt;] (dump_stack) from [&lt;c0179528&gt;] (register_lock_class+0x1c0/0x59c)
[&lt;c0179528&gt;] (register_lock_class) from [&lt;c017bd1c&gt;] (__lock_acquire+0x78/0x1850)
[&lt;c017bd1c&gt;] (__lock_acquire) from [&lt;c017de30&gt;] (lock_acquire+0xc8/0x2b8)
[&lt;c017de30&gt;] (lock_acquire) from [&lt;c09ca59c&gt;] (__mutex_lock+0x60/0xa0c)
[&lt;c09ca59c&gt;] (__mutex_lock) from [&lt;c09cafd0&gt;] (mutex_lock_nested+0x1c/0x24)
[&lt;c09cafd0&gt;] (mutex_lock_nested) from [&lt;c068b0d0&gt;] (ina2xx_set_shunt+0x70/0xb0)
[&lt;c068b0d0&gt;] (ina2xx_set_shunt) from [&lt;c068b218&gt;] (ina2xx_probe+0x88/0x1b0)
[&lt;c068b218&gt;] (ina2xx_probe) from [&lt;c0673d90&gt;] (i2c_device_probe+0x1e0/0x2d0)
[&lt;c0673d90&gt;] (i2c_device_probe) from [&lt;c053a268&gt;] (driver_probe_device+0x2b8/0x4a0)
[&lt;c053a268&gt;] (driver_probe_device) from [&lt;c053a54c&gt;] (__driver_attach+0xfc/0x120)
[&lt;c053a54c&gt;] (__driver_attach) from [&lt;c05384cc&gt;] (bus_for_each_dev+0x58/0x7c)
[&lt;c05384cc&gt;] (bus_for_each_dev) from [&lt;c0539590&gt;] (bus_add_driver+0x174/0x250)
[&lt;c0539590&gt;] (bus_add_driver) from [&lt;c053b5e0&gt;] (driver_register+0x78/0xf4)
[&lt;c053b5e0&gt;] (driver_register) from [&lt;c0675ef0&gt;] (i2c_register_driver+0x38/0xa8)
[&lt;c0675ef0&gt;] (i2c_register_driver) from [&lt;c0102b40&gt;] (do_one_initcall+0x48/0x18c)
[&lt;c0102b40&gt;] (do_one_initcall) from [&lt;c0e00df0&gt;] (kernel_init_freeable+0x110/0x1d4)
[&lt;c0e00df0&gt;] (kernel_init_freeable) from [&lt;c09c8120&gt;] (kernel_init+0x8/0x114)
[&lt;c09c8120&gt;] (kernel_init) from [&lt;c01010b4&gt;] (ret_from_fork+0x14/0x20)

Fixes: 5d389b125186 ("hwmon: (ina2xx) Make calibration register value fixed")
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 0c4c5860e9983eb3da7a3d73ca987643c3ed034b upstream.

Initialize data-&gt;config_lock mutex before it is used by the driver code.

This fixes following warning on Odroid XU3 boards:

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 5 PID: 1 Comm: swapper/0 Not tainted 4.15.0-rc7-next-20180115-00001-gb75575dee3f2 #107
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[&lt;c0111504&gt;] (unwind_backtrace) from [&lt;c010dbec&gt;] (show_stack+0x10/0x14)
[&lt;c010dbec&gt;] (show_stack) from [&lt;c09b3f74&gt;] (dump_stack+0x90/0xc8)
[&lt;c09b3f74&gt;] (dump_stack) from [&lt;c0179528&gt;] (register_lock_class+0x1c0/0x59c)
[&lt;c0179528&gt;] (register_lock_class) from [&lt;c017bd1c&gt;] (__lock_acquire+0x78/0x1850)
[&lt;c017bd1c&gt;] (__lock_acquire) from [&lt;c017de30&gt;] (lock_acquire+0xc8/0x2b8)
[&lt;c017de30&gt;] (lock_acquire) from [&lt;c09ca59c&gt;] (__mutex_lock+0x60/0xa0c)
[&lt;c09ca59c&gt;] (__mutex_lock) from [&lt;c09cafd0&gt;] (mutex_lock_nested+0x1c/0x24)
[&lt;c09cafd0&gt;] (mutex_lock_nested) from [&lt;c068b0d0&gt;] (ina2xx_set_shunt+0x70/0xb0)
[&lt;c068b0d0&gt;] (ina2xx_set_shunt) from [&lt;c068b218&gt;] (ina2xx_probe+0x88/0x1b0)
[&lt;c068b218&gt;] (ina2xx_probe) from [&lt;c0673d90&gt;] (i2c_device_probe+0x1e0/0x2d0)
[&lt;c0673d90&gt;] (i2c_device_probe) from [&lt;c053a268&gt;] (driver_probe_device+0x2b8/0x4a0)
[&lt;c053a268&gt;] (driver_probe_device) from [&lt;c053a54c&gt;] (__driver_attach+0xfc/0x120)
[&lt;c053a54c&gt;] (__driver_attach) from [&lt;c05384cc&gt;] (bus_for_each_dev+0x58/0x7c)
[&lt;c05384cc&gt;] (bus_for_each_dev) from [&lt;c0539590&gt;] (bus_add_driver+0x174/0x250)
[&lt;c0539590&gt;] (bus_add_driver) from [&lt;c053b5e0&gt;] (driver_register+0x78/0xf4)
[&lt;c053b5e0&gt;] (driver_register) from [&lt;c0675ef0&gt;] (i2c_register_driver+0x38/0xa8)
[&lt;c0675ef0&gt;] (i2c_register_driver) from [&lt;c0102b40&gt;] (do_one_initcall+0x48/0x18c)
[&lt;c0102b40&gt;] (do_one_initcall) from [&lt;c0e00df0&gt;] (kernel_init_freeable+0x110/0x1d4)
[&lt;c0e00df0&gt;] (kernel_init_freeable) from [&lt;c09c8120&gt;] (kernel_init+0x8/0x114)
[&lt;c09c8120&gt;] (kernel_init) from [&lt;c01010b4&gt;] (ret_from_fork+0x14/0x20)

Fixes: 5d389b125186 ("hwmon: (ina2xx) Make calibration register value fixed")
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (ina2xx) Make calibration register value fixed</title>
<updated>2018-04-12T10:32:13+00:00</updated>
<author>
<name>Maciej Purski</name>
<email>m.purski@samsung.com</email>
</author>
<published>2017-11-22T15:32:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bd4a96921d8bac60ae51666d587f1f405c9df708'/>
<id>bd4a96921d8bac60ae51666d587f1f405c9df708</id>
<content type='text'>
[ Upstream commit 5d389b125186cf254ad5b8015763ac07c151aea4 ]

Calibration register is used for calculating current register in
hardware according to datasheet:
current = shunt_volt * calib_register / 2048 (ina 226)
current = shunt_volt * calib_register / 4096 (ina 219)

Fix calib_register value to 2048 for ina226 and 4096 for ina 219 in
order to avoid truncation error and provide best precision allowed
by shunt_voltage measurement. Make current scale value follow changes
of shunt_resistor from sysfs as calib_register value is now fixed.

Power_lsb value should also follow shunt_resistor changes as stated in
datasheet:
power_lsb = 25 * current_lsb (ina 226)
power_lsb = 20 * current_lsb (ina 219)

Signed-off-by: Maciej Purski &lt;m.purski@samsung.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 5d389b125186cf254ad5b8015763ac07c151aea4 ]

Calibration register is used for calculating current register in
hardware according to datasheet:
current = shunt_volt * calib_register / 2048 (ina 226)
current = shunt_volt * calib_register / 4096 (ina 219)

Fix calib_register value to 2048 for ina226 and 4096 for ina 219 in
order to avoid truncation error and provide best precision allowed
by shunt_voltage measurement. Make current scale value follow changes
of shunt_resistor from sysfs as calib_register value is now fixed.

Power_lsb value should also follow shunt_resistor changes as stated in
datasheet:
power_lsb = 25 * current_lsb (ina 226)
power_lsb = 20 * current_lsb (ina 219)

Signed-off-by: Maciej Purski &lt;m.purski@samsung.com&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping</title>
<updated>2018-02-22T14:42:24+00:00</updated>
<author>
<name>Jia Zhang</name>
<email>qianyue.zj@alibaba-inc.com</email>
</author>
<published>2018-01-01T01:52:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=325cbb04dc61692ba01445c34fd551ad91df9e6d'/>
<id>325cbb04dc61692ba01445c34fd551ad91df9e6d</id>
<content type='text'>
commit b399151cb48db30ad1e0e93dd40d68c6d007b637 upstream.

x86_mask is a confusing name which is hard to associate with the
processor's stepping.

Additionally, correct an indent issue in lib/cpu.c.

Signed-off-by: Jia Zhang &lt;qianyue.zj@alibaba-inc.com&gt;
[ Updated it to more recent kernels. ]
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: bp@alien8.de
Cc: tony.luck@intel.com
Link: http://lkml.kernel.org/r/1514771530-70829-1-git-send-email-qianyue.zj@alibaba-inc.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b399151cb48db30ad1e0e93dd40d68c6d007b637 upstream.

x86_mask is a confusing name which is hard to associate with the
processor's stepping.

Additionally, correct an indent issue in lib/cpu.c.

Signed-off-by: Jia Zhang &lt;qianyue.zj@alibaba-inc.com&gt;
[ Updated it to more recent kernels. ]
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: bp@alien8.de
Cc: tony.luck@intel.com
Link: http://lkml.kernel.org/r/1514771530-70829-1-git-send-email-qianyue.zj@alibaba-inc.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
</feed>
