- 13 Jul, 2022 40 commits
-
-
Armin Wolf authored
The new assembly code works on both 32 bit and 64 bit cpus and allows for more compiler optimisations. Since clang runs out of registers on 32 bit x86 when using CC_OUT, we need to execute "setc" ourself. Also modify the debug message so we can still see the result (eax) when the carry flag was set. Tested with 32 bit and 64 bit kernels on a Dell Inspiron 3505. Signed-off-by:
Armin Wolf <W_Armin@gmx.de> Link: https://lore.kernel.org/r/20220220190851.17965-1-W_Armin@gmx.de [groeck: Rebased to v5.19-rc3] Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Mårten Lindahl authored
The LTC2977 regulator does not set the regulator_desc .n_voltages value which is needed in order to let the regulator core list the regulator voltage range. This patch defines a regulator_desc with a voltage range, and uses it for defining voltage resolution for regulators LTC2972/LTC2974/LTC2975/ LTC2977/LTC2978/LTC2979/LTC2980/LTM2987 based on that they all have a 16 bit ADC with the same stepwise 122.07uV resolution. It also scales the resolution to a 1mV resolution which is easier to handle. Signed-off-by:
Mårten Lindahl <marten.lindahl@axis.com> Link: https://lore.kernel.org/r/20220614095144.3472305-1-marten.lindahl@axis.comSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Mårten Lindahl authored
When checking if a regulator supports a voltage range, the regulator needs to have a list_voltage callback set to the regulator_ops or else -EINVAL will be returned. This support does not exist for the pmbus regulators, so this patch adds pmbus_regulator_list_voltage to the pmbus_regulator_ops. Signed-off-by:
Mårten Lindahl <marten.lindahl@axis.com> Link: https://lore.kernel.org/r/20220614093856.3470672-3-marten.lindahl@axis.comSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Mårten Lindahl authored
When setting a new voltage the voltage boundaries are read every time to check that the new voltage is within the proper range. Checking these voltage boundaries consists of reading one of PMBUS_MFR_VOUT_MIN/ PMBUS_VOUT_MARGIN_LOW registers and then PMBUS_MFR_VOUT_MAX/ PMBUS_VOUT_MARGIN_HIGH together with writing the PMBUS_CLEAR_FAULTS register. Since these boundaries are never being changed, it can be cached and thus saving unnecessary smbus transmissions. Signed-off-by:
Mårten Lindahl <marten.lindahl@axis.com> Link: https://lore.kernel.org/r/20220614093856.3470672-2-marten.lindahl@axis.comSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Liang He authored
In gsc_hwmon_get_devtree_pdata(), of_find_compatible_node() will return a node pointer with refcount incremented. We should use of_node_put() in fail path or when it is not used anymore. Signed-off-by:
Liang He <windhl@126.com> Link: https://lore.kernel.org/r/20220616114024.3985770-1-windhl@126.comSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Armin Wolf authored
According to Bug 215983 at bugzilla.kernel.org, the Dell G5 5590 supports the SMM interface and can thus be loaded with ignore_dmi being set. Add the model the DMI table to allow for automatic loadig on this model. Compile-tested only. Signed-off-by:
Armin Wolf <W_Armin@gmx.de> Acked-by:
Pali Rohár <pali@kernel.org> Link: https://lore.kernel.org/r/20220612232208.27901-1-W_Armin@gmx.deSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Armin Wolf authored
A user reported that the program dell-bios-fan-control worked on his Dell XPS 13 7390 to switch off automatic fan control. Since it uses the same mechanism as the dell_smm_hwmon module, add this model to the fan control whitelist. Compile-tested only. Signed-off-by:
Armin Wolf <W_Armin@gmx.de> Acked-by:
Pali Rohár <pali@kernel.org> Link: https://lore.kernel.org/r/20220612041806.11367-1-W_Armin@gmx.deSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Andy Shevchenko authored
Since platform_device_unregister() is NULL-aware, we don't need to duplicate this check. Remove it and fold the rest of the code. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by:
Zev Weiss <zev@bewilderbeest.net> Link: https://lore.kernel.org/r/20220610103324.87483-1-andriy.shevchenko@linux.intel.comSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Ren Zhijie authored
If CONFIG_PMBUS is y and CONFIG_DEBUG_FS is not set. make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-, will be failed, like this: drivers/hwmon/pmbus/pmbus_core.c:593:13: error: ‘pmbus_check_block_register’ defined but not used [-Werror=unused-function] static bool pmbus_check_block_register(struct i2c_client *client, int page, ^~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[3]: *** [drivers/hwmon/pmbus/pmbus_core.o] Error 1 make[2]: *** [drivers/hwmon/pmbus] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [drivers/hwmon] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [drivers] Error 2 To fix building warning, use __maybe_unused to attach this func. Reported-by:
Hulk Robot <hulkci@huawei.com> Fixes: c3ffc3a1ff83("hwmon: (pmbus) add a function to check the presence of a block register") Signed-off-by:
Ren Zhijie <renzhijie2@huawei.com> Link: https://lore.kernel.org/r/20220609120448.139907-1-renzhijie2@huawei.com [groeck: Fixed continuation line alignment] Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Slawomir Stepien authored
Try to read the channel's temperature offset from device-tree. Having offset in device-tree node is not mandatory. The offset can only be set for remote channels. Signed-off-by:
Slawomir Stepien <slawomir.stepien@nokia.com> Link: https://lore.kernel.org/r/20220607063504.1287855-3-sst@poczta.fmSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Slawomir Stepien authored
The ADT7481 have LM90_HAVE_TEMP3 and LM90_HAVE_OFFSET flags, but the support of second remote channel's offset is missing. Add that implementation. Signed-off-by:
Slawomir Stepien <slawomir.stepien@nokia.com> Link: https://lore.kernel.org/r/20220607063504.1287855-2-sst@poczta.fmSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Ziyang Xuan authored
kvfree(NULL) is safe. NULL check before kvfree() is not needed. Delete them to simplify the code. Generated by coccinelle script: scripts/coccinelle/free/ifnullfree.cocci Signed-off-by:
Ziyang Xuan <william.xuanziyang@huawei.com> Reviewed-by:
Eddie James <eajames@linux.ibm.com> Link: https://lore.kernel.org/r/20220606131401.4053036-1-william.xuanziyang@huawei.comSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Slawomir Stepien authored
Try to read the channel's label from device-tree. Having label in device-tree node is not mandatory. Signed-off-by:
Slawomir Stepien <slawomir.stepien@nokia.com> Link: https://lore.kernel.org/r/20220525073657.573327-7-sst@poczta.fmSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Slawomir Stepien authored
Use this define in all the places where literal '3' was used in this context. Signed-off-by:
Slawomir Stepien <slawomir.stepien@nokia.com> Link: https://lore.kernel.org/r/20220525073657.573327-6-sst@poczta.fmSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Slawomir Stepien authored
This will allow binding the driver with the device from the device tree. Signed-off-by:
Slawomir Stepien <slawomir.stepien@nokia.com> Link: https://lore.kernel.org/r/20220525073657.573327-4-sst@poczta.fmSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Slawomir Stepien authored
Add binding description for temperature channels. Currently, support for label and temperature-offset-millicelsius is implemented. Signed-off-by:
Slawomir Stepien <slawomir.stepien@nokia.com> Reviewed-by:
Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220525073657.573327-3-sst@poczta.fmSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Slawomir Stepien authored
This will allow binding the driver with the device from the device tree. This device can work in extended temperature measurement mode, so add it also to the list of devices that support 'ti,extended-range-enable'. Signed-off-by:
Slawomir Stepien <slawomir.stepien@nokia.com> Acked-by:
Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220525073657.573327-2-sst@poczta.fmSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Uwe Kleine-König authored
The two drivers compile just fine on ARCH=arm. Allow to select these drivers if COMPILE_TEST is enabled. Signed-off-by:
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by:
Jean Delvare <jdelvare@suse.de> Link: https://lore.kernel.org/r/20220527153445.1871086-1-u.kleine-koenig@pengutronix.deSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Adam Wujek authored
Add registers to debugfs: PMBUS_MFR_ID PMBUS_MFR_MODEL PMBUS_MFR_REVISION PMBUS_MFR_LOCATION PMBUS_MFR_DATE PMBUS_MFR_SERIAL To reduce the number of debugfs entries, only values from page 0 are reported. It is assumed that values of these registers are the same for all pages. Please note that the PMBUS standard allows added registers to be page-specific. Signed-off-by:
Adam Wujek <dev_public@wujek.eu> Link: https://lore.kernel.org/r/20220601013232.801133-2-dev_public@wujek.euSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Adam Wujek authored
Other functions (like pmbus_check_byte_register) cannot be used to check the presence of a block register, because it will generate error when PEC is used. Signed-off-by:
Adam Wujek <dev_public@wujek.eu> Link: https://lore.kernel.org/r/20220601013232.801133-1-dev_public@wujek.euSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Shady Nawara authored
adds T_Sensor and VRM Temp sensors for the Asus Strix z690-a D4 motherboard Signed-off-by:
Shady Nawara <shady.nawara@outlook.com> Signed-off-by:
Eugene Shalygin <eugene.shalygin@gmail.com> Link: https://lore.kernel.org/r/20220603122758.1561064-1-eugene.shalygin@gmail.comSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Armin Wolf authored
Some devices like the Fujitsu Celsius W380 do contain a working sch56xx hardware monitoring device, but do not contain the necessary DMI onboard device. Do not check for the presence of an suitable onboard device on these machines. The list of affected machines was created using data collected by the Linux Hardware Project. Tested on a Fujitsu Esprimo P720, but sadly not on a affected machine. Fixes: 393935ba (hwmon: (sch56xx-common) Add automatic module loading on supported devices) Signed-off-by:
Armin Wolf <W_Armin@gmx.de> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20220604220200.2567-1-W_Armin@gmx.deSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Christophe JAILLET authored
When kernel.h is used in the headers it adds a lot into dependency hell, especially when there are circular dependencies are involved. Replace kernel.h inclusion with the list of what is really being used. Signed-off-by:
Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/4e07ed43274ad912d4efcfc04f673f25e8f89fdc.1654289489.git.christophe.jaillet@wanadoo.frSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Aleksander Mazur authored
Treat F71858AD like F71858FG. Tested on Igel D220. Signed-off-by:
Aleksander Mazur <deweloper@wp.pl> Link: https://lore.kernel.org/r/20220605012114.3d85a75a@mocarzSigned-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
Add support for Analog Devices LT7182S Dual Channel 6A, 20V PolyPhase Step-Down Silent Switcher with Digital Power System Management. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
Add Analog Devices LT7182S Dual Channel Step-Down Switcher. Acked-by:
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
Add support for the IEEE 754 half precision data format as specified in PMBus v1.3.1. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
Several of the chips supported by this driver support configuring the number of samples (or the fault queue depth) necessary before a fault or alarm is reported. This is done either with a bit in the configuration register or with a separate "consecutive alert" register. Support this functionality with the temp_samples attribute. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
Add table with device names and known register values for supported devices from Analog / ON Semiconductor. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
NE1618 is similar to NE1617 but supports manufacturer and chip ID registers as well as 11 bit external temperature resolution. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
ADM1020 is compatible with ADM1021 but has a separate chip revision and a limited I2C address range. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
It was observed that the alert handler may be called from the i2c core even after alerts have already been disabled. Only disable alerts if they have not already been disabled. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
ADT7421 is similar to ADT7461A but supports configurable Beta Compensation. Packet Error Checking (PEC) is supported but undocumented. A devicetree node is not added for the added chip since it is quite unlikely that such an old chip will ever be used in a devicetree based system. It can be added later if needed. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
NCT218 is compatible to NCT72 and NCT214. It also supports PEC (packet error checking). Similar to NCT72 and NCT214, PEC support is undocumented. Unlike NCT214 and NCT72, NCT218 does not support the undocumented secondary chip and manufacturer ID registers at 0x3e and 0x3f and returns 0x00 when reading those registers. The value for the chip revision register is not documented but was observed to be 0xca. Use that information to improve chip detection accuracy. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
NCT214 and NCT72 are compatible to ADT7461/ADT7461A but have full PEC (packet error checking) support. PEC support is undocumented. Both chips support the undocumented secondary chip and manufacturer ID registers at 0x3e and 0x3f, and return 0x61 as chip ID. Use this information to improve the accuracy of chip detection code. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
Unlike ADM1023 and compatible chips, NCT210 does not support a temperature offset register. A real chip was found to have a chip revision of 0x3f. Use it to detect NCT210 explicitly. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
LM86 and LM90 support exactly the same features, so there is no need to keep their configuration options separate. Combine to reduce data size. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
All chips supported by the ADM1021 driver are also supported by the LM90 driver. Make that support official. After this change, the adm1021 driver is only needed if the lm90 driver is disabled. Also, the adm1021 driver misdetects a variety of chips as MAX1617A, which is unwanted if any of those chips is in the system. For this reason. make the adm1021 driver dependent on !SENSORS_LM90 to show that it is not needed if the lm90 driver is enabled, and to avoid misdetection if a chip supported by the lm90 driver is in the system. Devicetree nodes are not added for the added chips since it is quite unlikely that such old chips will ever be used in a devicetree based system. They can be added later if needed. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
Both chips are quite similar to other chips of this series, so add support for them to the lm90 driver. Also mention ON Semiconductor NCT210, which is pin and register compatible to ADM1021A. None of the chips support the secondary manufacturer and chip ID registers at 0x3e and 0x3f, but return 0 when reading from those registers. Use that information to improve the accuracy of chip detection code. Devicetree nodes are not added for the added chips since it is quite unlikely that such old chips will ever be used in a devicetree based system. They can be added later if needed. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-
Guenter Roeck authored
MAX1617 and LM84 are stripped-down versions of LM90, so they can easily be supported by the LM90 driver. The most difficult part is chip detection, since those old chips do not support manufacturer ID or chip ID registers. The "alarms" attribute is enabled for both chips to match the functionality of the adm1021 driver. Chip detection was improved and is less prone to misdetection than the chip detection in the adm1021 driver. Devicetree nodes are not added for the added chips since it is quite unlikely that such old chips will ever be used in a devicetree based system. They can be added later if needed. Signed-off-by:
Guenter Roeck <linux@roeck-us.net>
-