- 26 10月, 2010 22 次提交
-
-
由 Samu Onkalo 提交于
If lis3lv02d_init_device fails, HW resources were not released properly. In case of failure call release_resources if available. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Configure chip to data ready mode in selftest and count received interrupts to see that interrupt line(s) are working. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Add optional blockread function to interface driver. If available the chip driver uses it for data register access. For 12 bit device it reads 6 bytes to get 3*16bit data. For 8 bit device it reads out 5 bytes since every second byte is dummy. This optimizes bus usage and reduces number of operations and interrupts needed for one data update. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NJonathan Cameron <jic23@cam.ac.uk> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Default fuziness is set smaller for 8 device. In 12 bit device LSB is quite close to 1 mg (mg = 1 / 1000 of earth gravity). In 8bit device LSB is about 18 mg. Set fuziness to 1 for 8 bit device. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Added default output data rate setting to platform data. If default rate is 0, reset default value is used. Added control for duration via platform data. Added possibility to configure interrupts to trig on both rising and falling edge. The lis3 WU unit can be configured quite many ways and with some configurations it is quite handy to get coordinate refresh when some event trigs and when it reason goes away. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NJonathan Cameron <jic23@cam.ac.uk> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
All axis enable bits are set to 0 at module remove. Restore reset default value at init. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Sometimes lis3 chip seems to fail to setup factory tuning at boot up. This probably happens if there is some odd power ramp down ramp up sequence for example in device restart. Set boot bit in control2 register to trig boot sequence manually and wait until it is finished. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NJonathan Cameron <jic23@cam.ac.uk> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Call input device poll function at device open to refresh coordinates immediately. This is needed for the case where poll interval is set to zero and coordinate updates happens purely under interrupt control. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Irqcfg moved to chip data instead of platform data. This simplifies access in interrupt handler little bit. Input device open and close functions set status for interrupt threaded handler once. Unnecessary check for interrupt source removed since it is enough that active interrupt line indicates that there was an interrupt. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Based on pm_runtime control, turn lis3 regulators on and off. Perform context save and restore on transitions. Feature is optional and must be enabled in platform data. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NJonathan Cameron <jic23@cam.ac.uk> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Samu Onkalo 提交于
Add pm_runtime support to lis3 core driver. Add pm_runtime support to lis3 i2c driver. spi and hp_accel drivers are not yet supported. Old always on functionality remains for those. For sysfs there is 5 second delay before turning off the chip to avoid long ramp up delay. Signed-off-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Acked-by: NJonathan Cameron <jic23@cam.ac.uk> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Simon Guinot 提交于
This patch adds hwmon support for fans connected to GPIO lines. Platform specific information such as GPIO pinout and speed conversion array (rpm from/to GPIO value) are passed to the driver via platform_data. Signed-off-by: NSimon Guinot <sguinot@lacie.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
According to the documentation, simply reading the respective MSR isn't sufficient: It should be written with zeros, cpuid(1) be executed, and then read (see arch/x86/kernel/cpu/intel.c for an example). v2: Fail probe when microcode revision cannot be determined, but is needed to check for proper operation. Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Chen Gong <gong.chen@linux.intel.com> Cc: Jean Delvare <khali@linux-fr.org> Acked-by: NFenghua Yu <fenghua.yu@intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Chen Gong 提交于
CONFIG_HOTPLUG_CPU is used too much in some drivers. This patch clean them up. Signed-off-by: NChen Gong <gong.chen@linux.intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Chen Gong 提交于
pkgtemp is derived from coretemp, so some reasonable logics should be applied onto pkgtemp, too. Such as the init logic here. Signed-off-by: NChen Gong <gong.chen@linux.intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Guenter Roeck 提交于
This driver adds support for Linear Technology LTC4261 I2C Negative Voltage Hot Swap Controller. Reviewed-by: NIra W. Snyder <iws@ovro.caltech.edu> Reviewed-by: NTom Grennan <tom.grennan@ericsson.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Takashi Iwai 提交于
The axis-mapping of lis3dev device on many (rather most) HP machines doesn't follow the standard. When each new model appears, users need to adjust again. Testing this requires the rebuild of kernel, thus it's not trivial for end-users. This patch adds a module parameter "axes" to allow a custom axis-mapping without patching and recompiling the kernel driver. User can pass the parameter such as axes=3,2,1. Also it can be changed via sysfs. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Acked-by: NEric Piel <eric.piel@tremplin-utc.net> Cc: Jean Delvare <khali@linux-fr.org> Cc: Guenter Roeck <guenter.roeck@ericsson.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Masanari Iida 提交于
This patch is an enhanced version of Takashi Iwai's [PATCH] hp_accel: Add quirks for HP ProBook 532x and HP Mini 5102 My HP Mini 5101 works fine with this patch. Confirmed with Tux Racer. Signed-off by: Masanari Iida <standby24x7@gmail.com> Acked-by: NTakashi Iwai <tiwai@suse.de> Cc: Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Takashi Iwai 提交于
A new version of LIS3 chip has slight incompatibilities from former versions. This patch adds the minimal support for it. Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
These likely originate from these drivers being clones of one another and/or other drivers which actually needed these includes. Signed-off-by: NJan Beulich <jbeulich@novell.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
"break" after "return" is at best bogus (good compilers even warn about the "break" being unreachable). Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Rudolf Marek <r.marek@assembler.cz> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
... as they're being called only from a __cpuinit function. Signed-off-by: NJan Beulich <jbeulich@novell.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
- 21 10月, 2010 1 次提交
-
-
由 Jean Delvare 提交于
The hdaps driver isn't a hardware monitoring driver, so it shouldn't live under driver/hwmon. drivers/platform/x86 seems much more appropriate, as the driver is only useful on x86 laptops. Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Guenter Roeck <guenter.roeck@ericsson.com> Cc: Matthew Garrett <mjg@redhat.com> Cc: Frank Seidel <frank@f-seidel.de> Signed-off-by: NMatthew Garrett <mjg@redhat.com>
-
- 18 10月, 2010 1 次提交
-
-
由 Justin P. Mattock 提交于
The patch below updates broken web addresses in the kernel Signed-off-by: NJustin P. Mattock <justinmattock@gmail.com> Cc: Maciej W. Rozycki <macro@linux-mips.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Finn Thain <fthain@telegraphics.com.au> Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: Matt Turner <mattst88@gmail.com> Cc: Dimitry Torokhov <dmitry.torokhov@gmail.com> Cc: Mike Frysinger <vapier.adi@gmail.com> Acked-by: NBen Pfaff <blp@cs.stanford.edu> Acked-by: NHans J. Koch <hjk@linutronix.de> Reviewed-by: NFinn Thain <fthain@telegraphics.com.au> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 15 10月, 2010 1 次提交
-
-
由 Arnd Bergmann 提交于
All file_operations should get a .llseek operation so we can make nonseekable_open the default for future file operations without a .llseek pointer. The three cases that we can automatically detect are no_llseek, seq_lseek and default_llseek. For cases where we can we can automatically prove that the file offset is always ignored, we use noop_llseek, which maintains the current behavior of not returning an error from a seek. New drivers should normally not use noop_llseek but instead use no_llseek and call nonseekable_open at open time. Existing drivers can be converted to do the same when the maintainer knows for certain that no user code relies on calling seek on the device file. The generated code is often incorrectly indented and right now contains comments that clarify for each added line why a specific variant was chosen. In the version that gets submitted upstream, the comments will be gone and I will manually fix the indentation, because there does not seem to be a way to do that using coccinelle. Some amount of new code is currently sitting in linux-next that should get the same modifications, which I will do at the end of the merge window. Many thanks to Julia Lawall for helping me learn to write a semantic patch that does all this. ===== begin semantic patch ===== // This adds an llseek= method to all file operations, // as a preparation for making no_llseek the default. // // The rules are // - use no_llseek explicitly if we do nonseekable_open // - use seq_lseek for sequential files // - use default_llseek if we know we access f_pos // - use noop_llseek if we know we don't access f_pos, // but we still want to allow users to call lseek // @ open1 exists @ identifier nested_open; @@ nested_open(...) { <+... nonseekable_open(...) ...+> } @ open exists@ identifier open_f; identifier i, f; identifier open1.nested_open; @@ int open_f(struct inode *i, struct file *f) { <+... ( nonseekable_open(...) | nested_open(...) ) ...+> } @ read disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ read_no_fpos disable optional_qualifier exists @ identifier read_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t read_f(struct file *f, char *p, size_t s, loff_t *off) { ... when != off } @ write @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; expression E; identifier func; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { <+... ( *off = E | *off += E | func(..., off, ...) | E = *off ) ...+> } @ write_no_fpos @ identifier write_f; identifier f, p, s, off; type ssize_t, size_t, loff_t; @@ ssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off) { ... when != off } @ fops0 @ identifier fops; @@ struct file_operations fops = { ... }; @ has_llseek depends on fops0 @ identifier fops0.fops; identifier llseek_f; @@ struct file_operations fops = { ... .llseek = llseek_f, ... }; @ has_read depends on fops0 @ identifier fops0.fops; identifier read_f; @@ struct file_operations fops = { ... .read = read_f, ... }; @ has_write depends on fops0 @ identifier fops0.fops; identifier write_f; @@ struct file_operations fops = { ... .write = write_f, ... }; @ has_open depends on fops0 @ identifier fops0.fops; identifier open_f; @@ struct file_operations fops = { ... .open = open_f, ... }; // use no_llseek if we call nonseekable_open //////////////////////////////////////////// @ nonseekable1 depends on !has_llseek && has_open @ identifier fops0.fops; identifier nso ~= "nonseekable_open"; @@ struct file_operations fops = { ... .open = nso, ... +.llseek = no_llseek, /* nonseekable */ }; @ nonseekable2 depends on !has_llseek @ identifier fops0.fops; identifier open.open_f; @@ struct file_operations fops = { ... .open = open_f, ... +.llseek = no_llseek, /* open uses nonseekable */ }; // use seq_lseek for sequential files ///////////////////////////////////// @ seq depends on !has_llseek @ identifier fops0.fops; identifier sr ~= "seq_read"; @@ struct file_operations fops = { ... .read = sr, ... +.llseek = seq_lseek, /* we have seq_read */ }; // use default_llseek if there is a readdir /////////////////////////////////////////// @ fops1 depends on !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier readdir_e; @@ // any other fop is used that changes pos struct file_operations fops = { ... .readdir = readdir_e, ... +.llseek = default_llseek, /* readdir is present */ }; // use default_llseek if at least one of read/write touches f_pos ///////////////////////////////////////////////////////////////// @ fops2 depends on !fops1 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read.read_f; @@ // read fops use offset struct file_operations fops = { ... .read = read_f, ... +.llseek = default_llseek, /* read accesses f_pos */ }; @ fops3 depends on !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, ... + .llseek = default_llseek, /* write accesses f_pos */ }; // Use noop_llseek if neither read nor write accesses f_pos /////////////////////////////////////////////////////////// @ fops4 depends on !fops1 && !fops2 && !fops3 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; identifier write_no_fpos.write_f; @@ // write fops use offset struct file_operations fops = { ... .write = write_f, .read = read_f, ... +.llseek = noop_llseek, /* read and write both use no f_pos */ }; @ depends on has_write && !has_read && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier write_no_fpos.write_f; @@ struct file_operations fops = { ... .write = write_f, ... +.llseek = noop_llseek, /* write uses no f_pos */ }; @ depends on has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; identifier read_no_fpos.read_f; @@ struct file_operations fops = { ... .read = read_f, ... +.llseek = noop_llseek, /* read uses no f_pos */ }; @ depends on !has_read && !has_write && !fops1 && !fops2 && !has_llseek && !nonseekable1 && !nonseekable2 && !seq @ identifier fops0.fops; @@ struct file_operations fops = { ... +.llseek = noop_llseek, /* no read or write fn */ }; ===== End semantic patch ===== Signed-off-by: NArnd Bergmann <arnd@arndb.de> Cc: Julia Lawall <julia@diku.dk> Cc: Christoph Hellwig <hch@infradead.org>
-
- 05 10月, 2010 1 次提交
-
-
由 Arnd Bergmann 提交于
All these files use the big kernel lock in a trivial way to serialize their private file operations, typically resulting from an earlier semi-automatic pushdown from VFS. None of these drivers appears to want to lock against other code, and they all use the BKL as the top-level lock in their file operations, meaning that there is no lock-order inversion problem. Consequently, we can remove the BKL completely, replacing it with a per-file mutex in every case. Using a scripted approach means we can avoid typos. These drivers do not seem to be under active maintainance from my brief investigation. Apologies to those maintainers that I have missed. file=$1 name=$2 if grep -q lock_kernel ${file} ; then if grep -q 'include.*linux.mutex.h' ${file} ; then sed -i '/include.*<linux\/smp_lock.h>/d' ${file} else sed -i 's/include.*<linux\/smp_lock.h>.*$/include <linux\/mutex.h>/g' ${file} fi sed -i ${file} \ -e "/^#include.*linux.mutex.h/,$ { 1,/^\(static\|int\|long\)/ { /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex); } }" \ -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \ -e '/[ ]*cycle_kernel_lock();/d' else sed -i -e '/include.*\<smp_lock.h\>/d' ${file} \ -e '/cycle_kernel_lock()/d' fi Signed-off-by: NArnd Bergmann <arnd@arndb.de>
-
- 03 10月, 2010 1 次提交
-
-
由 Giel van Schijndel 提交于
Sleep while acquiring a resource lock on the Super I/O port. This should prevent collisions from causing the hardware probe to fail with -EBUSY. Signed-off-by: NGiel van Schijndel <me@mortis.eu> Acked-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
- 28 9月, 2010 1 次提交
-
-
由 Guenter Roeck 提交于
Commit e40cc4bd introduced a build breakage if CONFIG_SMP is undefined. This commit fixes the problem. This fix is only a workaround. For a real fix, cpu_sibling_mask() should be defined in UP include code, eg in linux/smp.h, and asm/smp.h should not be included directly. This fix is currently not possible because asm/smp.h defines cpu_sibling_mask() unconditionally and is included directly from many source files. Reported-by: NIngo Molnar <mingo@elte.hu> Tested-by: NIngo Molnar <mingo@elte.hu> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Cc: Fenghua Yu <fenghua.yu@intel.com>
-
- 25 9月, 2010 8 次提交
-
-
由 Jan Beulich 提交于
Other than coretemp, from which this code was apparently derived, there is no PCI specific code in this driver. Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
Just like pkgtemp registers another core of the same package when one gets removed, coretemp should register another hyperthread (if available) in that situation. As pointed out in the patch fixing the respective code in pkgtemp, the list protectng mutex must be dropped before calling coretemp_device_add(), and due to the restructured loop (including an explicit return) the "safe" variant of the list iterator isn't needed anymore. Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Rudolf Marek <r.marek@assembler.cz> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
Feature availability should also be checked in the hotplug code path. Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
Using cpuid_eax() to determine feature availability on other than the current CPU is invalid. And feature availability should also be checked in the hotplug code path. Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Rudolf Marek <r.marek@assembler.cz> Cc: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
While apparently inherited from coretemp source, this particular error handling cleanup and exit path wasn't copied properly (or perhaps got discarded intermediately and not re-added properly later). Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> (added device file removal in pkgtemp_remove)
-
由 Jan Beulich 提交于
pkgtemp_device_remove(), holding the list protecting mutex, calls pkgtemp_device_add(), which itself wants to acquire the same mutex. Holding the mutex over the entire loop body in pkgtemp_device_remove() isn't really necessary, as long as the loop gets exited after processing the matched CPU. Once exiting the loop after removing an eventual match, there's no need for using the "safe" list iterator anymore. Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Jan Beulich 提交于
In commit 0dca94ba the call to platform_driver_unregister() was made conditional upon !HOTPLUG_CPU, but the return value from coretemp_init() was left to indicate an error. This isn't correct, as the negative return value indicates to the module loader that initialization failed, which isn't intended here and results in dangling pointers. Signed-off-by: NJan Beulich <jbeulich@novell.com> Cc: Chen Gong <gong.chen@linux.intel.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Takashi Iwai 提交于
The recent addition of threaded irq handler causes a NULL dereference when used with hp_accel driver, which has NULL pdata. Acked-by: NSamu Onkalo <samu.p.onkalo@nokia.com> Cc: <stable@kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
- 17 9月, 2010 4 次提交
-
-
由 Guenter Roeck 提交于
update_interval is the matching attribute defined in the hwmon sysfs ABI. Use it. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Guenter Roeck 提交于
The attribute reflects an interval, not a rate. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Acked-by: NIra W. Snyder <iws@ovro.caltech.edu> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Jonas Jonsson 提交于
According to the datasheet for Winbond W83627DHG the proper way to exit the Extended Function Mode is to write 0xaa to the EFER(0x2e or 0x4e). Signed-off-by: NJonas Jonsson <jonas@ludd.ltu.se> Signed-off-by: NJean Delvare <khali@linux-fr.org>
-
由 Yong Wang 提交于
It is unnecessary and wrong to call hwmon_device_unregister in error handling before hwmon_device_register is called. Signed-off-by: NYong Wang <yong.y.wang@intel.com> Reviewed-by: NGuenter Roeck <guenter.roeck@ericsson.com> Cc: stable@kernel.org Signed-off-by: NJean Delvare <khali@linux-fr.org>
-