- 25 10月, 2011 5 次提交
-
-
由 Guenter Roeck 提交于
Shift operations can be used for sign extensions. Use it. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
At least one PMBus chip supports peak attributes for READ_TEMPERATURE2. Add virtual registers to be able to report it to the user. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
Always call _pmbus_read_byte() instead of pmbus_read_byte() in PMBus core driver. With this change, device specific read functions can be implemented for all registers. Since the device specific read_byte function is now always called, we need to be more careful with page validations. Only fail if the passed page number is larger than 0, since -1 means "current page". Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
EINVAL was over-used in the code. Replace it with more appropriate errors. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
Driver remove functions have an error return value, but rarely return an error in practice. If a driver does return an error from its remove function, the driver won't be unloaded and is expected to stay alive. pmbus_do_remove() is defined as returning an int, but always returns 0 (no error). Calling code passes that return value on to high level driver remove functions, but does not evaluate it and removes driver data even if pmbus_do_remove() returned an error (which it in practice never does). Even if this code could never cause a real problem, it is nevertheless conceptually wrong. To reduce confusion and simplify the code, change pmbus_do_remove() to be a void function, and have PMBus client drivers always return zero in their driver remove functions. Reported-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Acked-by: NJean Delvare <khali@linux-fr.org>
-
- 13 9月, 2011 1 次提交
-
-
由 Guenter Roeck 提交于
Temperature alarms are detected by checking the alarm bit and comparing temperature limits against the current temperature. For low limits, this comparison needs to be reversed (temp < limit instead of temp > limit). This was not taken into account, resulting in wrong alarms if a temperature fell below a low limit. Fix by adding a low limit flag in the limit data structure. When creating the sensor entry, the order of registers to compare is now reversed for low limits. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Acked-by: NJean Delvare <khali@linux-fr.org> Cc: stable@kernel.org # 3.0+
-
- 12 8月, 2011 1 次提交
-
-
由 Guenter Roeck 提交于
With virtual pages and to be able to handle more chips, it is necessary to virtualise pmbus_write_byte(). Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
- 29 7月, 2011 8 次提交
-
-
由 Guenter Roeck 提交于
PMBus client driver supporting National Semiconductor LM25066, LM5064, and LM5066. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
Most PMBus devices provide manufacturer specific commands to read low and/or high peak values for some or all of its sensors. To support providing those values as lowest/highest attributes to the user, introduce virtual PMBus commands. Those commands reside outside the normal command set and have to be implemented in device specific code, which map the virtual commands to device specific commands. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
With virtual register page support, it is now possible that the status register on virtual pages does not exist or is itself virtual. To take this into account when creating alarm attributes, generate those attributes only if the status register on the respective page is known to exist. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
Some PMBus chips have non-standard sensor registers. An easy way to support such sensors is to introduce virtual pages and map the non-standard registers into standard registers on an extra page. For this to work, the code verifying if the configured number of pages exists has to be removed. Since a wrong number of pages can only be configured in a front-end driver, this should not have a practical impact since the resulting errors should be found during development and testing. Also, functions to read the chip status while checking if a command register exists must be modified to no longer set the page register before reading the status, since the physical page associated with the checked register may not exist. This does not make a functional difference since the page was already set when the attempt to read the register was made. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
Some PMBus devices use non-standard registers for some of the sensors and/or limits. To support such devices, add code to support reading and writing of word size registers in device specific code. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
Some hwmon sysfs attributes have a length of 20 bytes (plus terminating 0). I2C_NAME_SIZE is defined as 20 and thus can not be used to define the length of hwmon sysfs attributes. Replace it with PMBUS_NAME_SIZE, set to 24. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
In VID mode, output voltages are measured and reported as VID values, and have to be converted to voltages using VID conversion tables or functions. Support is added for VR11 only at this time. This patch enables support for PMBus devices supporting VID VR11 based output voltage selection such as NCP4200 and NCP4208. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
由 Guenter Roeck 提交于
Since the number of PMBus drivers is getting large, move them into directory drivers/hwmon/pmbus to improve readability and scalability. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com>
-
- 12 7月, 2011 1 次提交
-
-
由 Guenter Roeck 提交于
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: NGuenter Roeck <guenter.roeck@ericsson.com> Acked-by: NJean Delvare <khali@linux-fr.org> Cc: stable@kernel.org # 2.6.39+
-
- 02 7月, 2011 1 次提交
-
-
由 Guenter Roeck 提交于
Some PMBus devices do not support the PMBus revision register, so don't check if it exists. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NRobert Coulson <robert.coulson@ericsson.com> Cc: stable.kernel.org # 2.6.39
-
- 27 5月, 2011 1 次提交
-
-
由 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: NRobert Coulson <robert.coulson@ericsson.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Cc: stable@kernel.org # .39.x
-
- 19 5月, 2011 3 次提交
-
-
由 Guenter Roeck 提交于
Fan control implementation tends to be device specific, so start using the device specific function call to read fan configuration registers. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NTom Grennan <tom.grennan@ericsson.com>
-
由 Guenter Roeck 提交于
Some devices use non-standard registers to access various functionality. This does not only affect status registers, but other registers as well. Rename local get_status function to get_byte_data to reflect this requirement. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NTom Grennan <tom.grennan@ericsson.com>
-
由 Guenter Roeck 提交于
This commit replaces hard-coded sensor and limit register detection code with table based sensor detection. This change eliminates code block repetition and reduces code size. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NTom Grennan <tom.grennan@ericsson.com>
-
- 19 4月, 2011 1 次提交
-
-
由 Guenter Roeck 提交于
struct pmbus_data included an unused variable named status_bits. Remove it. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Reviewed-by: NTom Grennan <tom.grennan@ericsson.com>
-
- 27 3月, 2011 1 次提交
-
-
由 Guenter Roeck 提交于
Commit 8677011a added auto-update to temperature limit registers. Unfortunately, the update flag is also used to determine if an attribute is writable, which results in read-only temperature limit registers. To fix the problem, pass 'readonly' as separate flag to the function used to add sensor attributes. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
- 15 3月, 2011 6 次提交
-
-
由 Guenter Roeck 提交于
LINEAR16 data format is unsigned, not signed. Impact is that affected attributes report negative values in the upper half of the supported value range. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Guenter Roeck 提交于
PMBus only has one set of limit registers for up to three temperature sensors. Thus, changing a limit for one of the temperature sensors affects limits for other temperature sensors in the same page (and potentially multiple pages depending on the chip implementation). To handle this situation, re-read all temperature limit registers when updating sensor data. This way, all affected temperature limits are updated whenever the limit for a single sensor is changed. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Guenter Roeck 提交于
Assumption so far was that PMBus devices would support TEMP2 and TEMP3 registers only on page 0, and that only the TEMP1 register would be used/supported on other pages. Turns out that is not correct. UCD92xx devices support TEMP1 and TEMP2 on page 0, and TEMP2 on other pages. So it is necessary to change the core code such that it does not make a page based assumptions about temperature register support. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
-
由 Guenter Roeck 提交于
So far, it seemed like fans would either all be in page 0, or that there would be one page per fan. Turns out this was a wrong assumption. There is at least one PMBus fan controller which supports three pages with four fans each. Update code to handle this situation. Reported-by: NGreg Schnorr <gschnorr@cisco.com> Tested-by: NGreg Schnorr <gschnorr@cisco.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Acked-by: NGreg Schnorr <gschnorr@cisco.com>
-
由 Guenter Roeck 提交于
Some PMBus chips do not support the VOUT_MODE register. To make matters worse, such chips may not return an error when reading the register either, but instead return 0xff. Check if the register exists using pmbus_check_byte_register() before reading its value. In addition, validate the returned value and ignore it if it is 0xff (which is invalid). Reported-by: NGreg Schnorr <gschnorr@cisco.com> Tested-by: NGreg Schnorr <gschnorr@cisco.com> Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Acked-by: NGreg Schnorr <gschnorr@cisco.com>
-
由 Guenter Roeck 提交于
This driver adds support for hardware monitoring features of various PMBus devices. Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com> Acked-by: NJonathan Cameron <jic23@cam.ac.uk>
-