18 Jul, 2011
3 commits
-
spi_sync call uses its spi_message parameter to keep completion information,
using a drvdata structure is not thread-safe. Use a mutex to prevent
multiple access to shared driver data.Signed-off-by: Pavel Herrmann
Acked-by: Russell King
Acked-by: Pavel Machek
Acked-by: Marek Vasut
Acked-by: Cyril Hrubis
Tested-by: Stanislav Brabec
Signed-off-by: Jean Delvare
Cc: stable@kernel.org -
A copy-and-paste error caused it87_attributes_vid to be referenced
where it87_attributes_label should be. Thankfully the group is only
used for attribute removal, not attribute creation, so the effects of
this bug are limited, but let's fix it still.Signed-off-by: Jean Delvare
Cc: stable@kernel.org
Acked-by: Guenter Roeck -
The object returned by atk_gitm is dynamically allocated and must be
freed.Signed-off-by: Luca Tettamanti
Signed-off-by: Jean Delvare
Cc: stable@kernel.org
15 Jul, 2011
1 commit
-
Coefficients to convert chip register values to voltage/current have been
slightly changed in revision B of the chip datasheet. Update driver coefficients
to match the coefficients in the datasheet.Signed-off-by: Guenter Roeck
Acked-by: Jean Delvare
12 Jul, 2011
1 commit
-
Using integer variable types for register to data conversions can cause
overflows especially for power calculations, which are in microwatt.
Use long variables instead.Signed-off-by: Guenter Roeck
Acked-by: Jean Delvare
Cc: stable@kernel.org # 2.6.39+
10 Jul, 2011
2 commits
-
It is possible that a PMBus device supports the READ_TEMPERATURE2 and/or
READ_TEMPERATURE3 registers but does not support READ_TEMPERATURE1.
Improve temperature status register detection to address this condition.Reported-by: Jean Delvare
Signed-off-by: Guenter Roeck
Acked-by: Jean Delvare
Cc: stable@kernel.org # 2.6.39+ -
Negative temperatures were returned in degrees C instead of milli-Degrees C.
Also, negative temperatures were reported for remote temperature sensors even
if the chip was configured for positive-only results.Fix by detecting temperature modes, and by treating negative temperatures
similar to positive temperatures, with appropriate sign extension.Signed-off-by: Guenter Roeck
Acked-by: Jean Delvare
Cc: stable@kernel.org # 2.6.30+
09 Jul, 2011
1 commit
-
The LM95241 driver accepts every chip ID equal to or larger than 0xA4 as its
own, and other chips such as LM95245 use chip IDs in the accepted ID range.
This results in false chip detection.Fix problem by accepting only the known LM95241 chip ID.
Signed-off-by: Guenter Roeck
Acked-by: Jean Delvare
Cc: stable@kernel.org # 2.6.30+
04 Jul, 2011
1 commit
-
* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
hwmon: (k10temp) Update documentation for Fam12h
hwmon-vid: Fix typo in VIA CPU name
hwmon: (f71882fg) Add support for the F71869A
hwmon: Use <> rather than () around my e-mail address
hwmon: (emc6w201) Properly handle all errors
03 Jul, 2011
4 commits
-
It's Nehemiah, not Nemiah.
Signed-off-by: Jean Delvare
Acked-by: Guenter Roeck -
The F71869A is almost the same as the F71869F/E, except that it has
the normal number of temp and pwm zones for a F71882FG derived chip,
rather then the limited number of the F71869F/E.Signed-off-by: Hans de Goede
Tested-by: Max Baldwin
Acked-by: Guenter Roeck
Signed-off-by: Jean Delvare -
Signed-off-by: Hans de Goede
Signed-off-by: Jean Delvare -
Handle errors on 8-bit register reads and writes too. Also use likely
and unlikely to make the functions faster on success.Signed-off-by: Jean Delvare
Acked-by: Guenter Roeck
02 Jul, 2011
4 commits
-
Additional temperature attribute support is easy to detect, so do it.
Signed-off-by: Guenter Roeck
Reviewed-by: Robert Coulson
Cc: stable.kernel.org # 2.6.39 -
Some PMBus devices return no error when reading fan speed registers, but don't
really support fans. Strengthen fan detection by also checking if fan
configuration registers exist.Signed-off-by: Guenter Roeck
Reviewed-by: Robert Coulson
Cc: stable.kernel.org # 2.6.39 -
Probe function did not free allocated memory if it failed. Fix it.
Signed-off-by: Guenter Roeck
Reviewed-by: Robert Coulson -
Some PMBus devices do not support the PMBus revision register, so don't check
if it exists.Signed-off-by: Guenter Roeck
Reviewed-by: Robert Coulson
Cc: stable.kernel.org # 2.6.39
18 Jun, 2011
5 commits
-
Initialize dynamically allocated sysfs attributes before device_create_file()
call to suppress lockdep_init_map() warning if lockdep debugging is enabled.Signed-off-by: Guenter Roeck
Acked-by: Jean Delvare
Cc: stable@kernel.org # 2.6.34+ -
Initialize dynamically allocated sysfs attributes before device_create_file()
call to suppress lockdep_init_map() warning if lockdep debugging is enabled.Signed-off-by: Guenter Roeck
Acked-by: Jean Delvare
Cc: stable@kernel.org # 2.6.34+ -
Initialize dynamically allocated sysfs attributes before device_create_file()
call to suppress lockdep_init_map() warning if lockdep debugging is enabled.Signed-off-by: Guenter Roeck
Acked-by: Jean Delvare
Cc: stable@kernel.org # 2.6.34+ -
Call sysfs_attr_init() from atk_init_attribute() to handle sysfs attribute
initialization in a single function.Signed-off-by: Guenter Roeck
Cc: Luca Tettamanti
Acked-by: Jean Delvare -
pdev_entry.cpu and pdev_entry.cpu_core_id aren't used anywhere in the
driver code so we can drop these struct members.Signed-off-by: Jean Delvare
Cc: Fenghua Yu
Cc: Guenter Roeck
Cc: Durgadoss R
Signed-off-by: Guenter Roeck
05 Jun, 2011
1 commit
-
Improve detection of MAX6642 by reading non existing registers (0x04, 0x06
and 0xff). Reading those registers returns the previously read value.Signed-off-by: Per Dalen
[guenter.roeck@ericsson.com: added second set of register reads]
Signed-off-by: Guenter Roeck
02 Jun, 2011
4 commits
-
Further relax temperature range checks after reading the IA32_TEMPERATURE_TARGET
register. If the register returns a value other than 0 in bits 16..32, assume
that the returned value is correct.This change applies to both packet and core temperature limits.
Cc: Carsten Emde
Cc: Fenghua Yu
Cc: Jean Delvare
Signed-off-by: Guenter Roeck
Acked-by: Fenghua Yu -
Commit a321cedb12904114e2ba5041a3673ca24deb09c9 excludes CPU models 0xe, 0xf,
0x16, and 0x1a from TjMax temperature adjustment, even though several of those
CPUs are known to have TiMax other than 100 degrees C, and even though the code
in adjust_tjmax() explicitly handles those CPUs and points to a Web document
listing several of the affected CPU IDs.Reinstate original TjMax adjustment if TjMax can not be determined using the
IA32_TEMPERATURE_TARGET register.https://bugzilla.kernel.org/show_bug.cgi?id=32582
Signed-off-by: Guenter Roeck
Cc: Huaxu Wan
Cc: Carsten Emde
Cc: Valdis Kletnieks
Cc: Henrique de Moraes Holschuh
Cc: Yong Wang
Cc: Rudolf Marek
Cc: Fenghua Yu
Tested-by: Jean Delvare
Acked-by: Jean Delvare
Acked-by: Fenghua Yu
Cc: # .35.x .36.x .37.x .38.x .39.x -
The current temperature range check of MSR_IA32_TEMPERATURE_TARGET
seems too strict to me, some TjMax values documented in
Documentation/hwmon/coretemp wouldn't pass. Relax the check so that
all the documented values pass.Signed-off-by: Jean Delvare
Cc: Carsten Emde
Cc: Fenghua Yu
Signed-off-by: Guenter Roeck -
The temp_fault sysfs attribute is wrong, it should be temp2_fault instead.
Reported-by: Guenter Roeck
Signed-off-by: Per Dalen
Acked-by: Jean Delvare
Signed-off-by: Guenter Roeck
27 May, 2011
4 commits
-
chk_ucode_version() is only called from coretemp_probe() which is
__devinit, so it can be marked __devinit too.Signed-off-by: Jean Delvare
Cc: Durgadoss R
Cc: Fenghua Yu
Cc: Guenter Roeck
Signed-off-by: Guenter Roeck -
Initialize sysfs attrs before device_create_file() call to suppress
lockdep_init_map() warning:WARNING: at kernel/lockdep.c:2701 lockdep_init_map+0x12d/0x140()
Reviewed-by: Robert Coulson
Signed-off-by: Guenter Roeck
Cc: stable@kernel.org # .39.x -
Update comments describing the handling of HT CPUs based on review feedback.
Signed-off-by: Guenter Roeck
Cc: Fenghua Yu
Cc: Durgadoss R
Acked-by: Jean Delvare -
Initialize sysfs attrs before device_create_file() call to suppress lockdep_init_map()
warning:[ 3.653628] WARNING: at kernel/lockdep.c:2885 lockdep_init_map+0xea/0x43c()
[ 3.653698] Modules linked in:
[ 3.654835] Pid: 1, comm: swapper Not tainted 2.6.39-dbg-git8-05624-g46187f8 #576
[ 3.656014] Call Trace:
[ 3.657139] [] warn_slowpath_common+0x7e/0x96
[ 3.658298] [] warn_slowpath_null+0x15/0x17
[ 3.659460] [] lockdep_init_map+0xea/0x43c
[ 3.660616] [] sysfs_add_file_mode+0x5d/0xa8
[ 3.661785] [] sysfs_add_file+0xc/0xe
[ 3.662929] [] sysfs_create_file+0x23/0x25
[ 3.664045] [] device_create_file+0x14/0x16
[ 3.665172] [] coretemp_probe+0xf9/0x185
[ 3.666306] [] platform_drv_probe+0x12/0x14
[ 3.667420] [] driver_probe_device+0xb0/0x14b
[ 3.668542] [] __device_attach+0x35/0x3a
[ 3.669710] [] ? __driver_attach+0x7c/0x7c
[ 3.670816] [] bus_for_each_drv+0x54/0x88
[ 3.671921] [] device_attach+0x77/0x9b
[ 3.673027] [] bus_probe_device+0x22/0x39
[ 3.674137] [] device_add+0x3c1/0x550
[ 3.675249] [] ? dev_set_name+0x3c/0x3e
[ 3.676371] [] platform_device_add+0x10c/0x156
[ 3.677491] [] get_core_online+0xab/0x16e
[ 3.678608] [] coretemp_init+0x4b/0x80
[ 3.679724] [] ? hwmon_init+0xee/0xee
[ 3.680853] [] do_one_initcall+0x7a/0x13c
[ 3.681975] [] kernel_init+0xe1/0x15b
[ 3.683081] [] kernel_thread_helper+0x4/0x10
[ 3.684174] [] ? finish_task_switch+0x76/0xf0
[ 3.685266] [] ? retint_restore_args+0x13/0x13
[ 3.686356] [] ? start_kernel+0x3ee/0x3ee
[ 3.687425] [] ? gs_change+0x13/0x13
[ 3.688489] ---[ end trace 7392ad3e6a92ae39 ]---Signed-off-by: Sergey Senozhatsky
Signed-off-by: Guenter Roeck
26 May, 2011
9 commits
-
This is a new driver for the SMSC EMC6W201 hardware monitoring device.
The device is functionally close to the EMC6D100 series, but is
register-incompatible.Signed-off-by: Jean Delvare
Tested-by: Harry G McGavran Jr
Tested-by: Jeff Rickman
Acked-by: Guenter Roeck -
The abituguru drivers are only built on X86, where DMI support is now
enabled by default. So let these drivers depend on DMI, for the
following gains:
* Robustness and safety. Detection of these devices is weak and uses
non-standard methods, it should really be limited to Abit boards
unless the user explicitly asks otherwise.
* Code simplicity. The code is easier to read without ifdefs.
* Better build testing coverage. Now there's only one way to build the
drivers, so no risk of build failure on exotic systems.Signed-off-by: Jean Delvare
Acked-by: Guenter Roeck
Acked-by: Alistair John Strachan
Acked-by: Hans de Goede -
Serialize access to the hardware by using "request_muxed_region" macro
defined by Alan Cox. Call to this macro will hold off the requestor if
the resource is currently busy. "superio_enter" will return an error
if call to "request_muxed_region" fails. Rest of the code change is to
ripple an error return from superio_enter to the top level.Signed-off-by: Nat Gurumoorthy
Acked-by: Guenter Roeck
Signed-off-by: Jean Delvare -
The sch5627 needs to be explicitly told to start an adc conversion
for Vbat, once in a while. Without this Vbat may read 0, and will never
get updated.Signed-off-by: Hans de Goede
Signed-off-by: Jean Delvare -
This patch generalizes sch5627_read_virtual_reg so that it can
be used to write virtual regs too.Signed-off-by: Hans de Goede
Sigend-off-by: Jean Delvare -
The MAX6650 has only one fan input.
Signed-off-by: Jean Delvare
Acked-by: "Hans J. Koch"
Acked-by: Guenter Roeck -
MAX6650 device detection is unreliable, we got reports of false
positives. We now have many ways to let users instantiate the devices
explicitly, so unreliable detection should be dropped.Signed-off-by: Jean Delvare
Acked-by: "Hans J. Koch"
Acked-by: Guenter Roeck -
As discussed earlier, the ACPI power meter driver would better live
in drivers/hwmon, as its only purpose is to create hwmon-style
interfaces for ACPI 4.0 power meter devices. Users are more likely to
look for it there, and less likely to accidentally hide it by
unselecting its dependencies.Signed-off-by: Jean Delvare
Acked-by: "Darrick J. Wong"
Acked-by: Guenter Roeck
Cc: Len Brown -
Signed-off-by: Hans de Goede
Signed-off-by: Jean Delvare