hwmon fixes for v6.8-rc3

- pmbus/mp2975: Fix driver initialization
 
 - gigabyte_waterforce: Add missing unlock in error handling path
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiHPvMQj9QTOCiqgVyx8mb86fmYEFAmW9NHYACgkQyx8mb86f
 mYHiTBAAplDXLLwhhXSsaAOwchs7Xve2OnrJweBKTvgYO8zoAoxVmgZBvynYstnj
 +qlWOj4LcvPslHTgxRnkWcbeHynmGqt5Z0p2zS8uYLKAOw2BHkyjBiK2t9q7uCgS
 6SbWrIywygjD6MJ/cSuOiwkH33FG/UTr/HOI5MaCXROKRjPcTPxSEOeFAkUip9QV
 W33S/6CxotTcdzFz11N6wsVBTIqfJrbDC5DuqoOZ0+enW64rfuiGfeMemc+oI1ia
 oT56WG/kFuc4uTTE40sCAymuwojevSOUuIG6bFaGHymvpJX9YCkYRB9V2iPXbF/w
 kJL/zCMolWaOKfv/mTfbAzotO4K0J5pGYdd6FGnNY2TITkYKn0MV1k32fwPZkupX
 Gh/R0jFCjGEYEAk1PiyBE0M8y3ZJdLSDvIgU4Q8l69wOIShjtuUd0wR/9lIDEdOd
 JtpqCw7FfqqT8EcUlhYnsl09gWC+vvwULp7eqGBvVkNwj7eN2MPh3CXmfxSNdymZ
 ShWdUa5jJ0OrOSS+ZAsy1Z+W9vKPO5ajLNi3MRYwebilm2hYbEGXxjTfFabHzbp6
 68P7ADGljjPUQKbD3z05wPCuw/JquQRbk+oIK7d4mna766NcDlS4arIhyIzy9Ixj
 JXWo46d8ibVZ1PsD5VJY5dvX//QJ5banTwh6eljGl4RZrETMlbg=
 =nYRC
 -----END PGP SIGNATURE-----

Merge tag 'hwmon-for-v6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon fixes from Guenter Roeck:

 - pmbus/mp2975: Fix driver initialization

 - gigabyte_waterforce: Add missing unlock in error handling path

* tag 'hwmon-for-v6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  hwmon: (pmbus/mp2975) Correct comment inside 'mp2975_read_byte_data'
  hwmon: (pmbus/mp2975) Fix driver initialization for MP2975 device
  hwmon: gigabyte_waterforce: Fix locking bug in waterforce_get_status()
This commit is contained in:
Linus Torvalds 2024-02-02 12:48:33 -08:00
commit 43e7ef642e
2 changed files with 17 additions and 1 deletions

View File

@ -146,7 +146,7 @@ static int waterforce_get_status(struct waterforce_data *priv)
/* Send command for getting status */
ret = waterforce_write_expanded(priv, get_status_cmd, GET_STATUS_CMD_LENGTH);
if (ret < 0)
return ret;
goto unlock_and_return;
ret = wait_for_completion_interruptible_timeout(&priv->status_report_received,
msecs_to_jiffies(STATUS_VALIDITY));

View File

@ -126,6 +126,21 @@ static const struct regulator_desc __maybe_unused mp2975_reg_desc[] = {
#define to_mp2975_data(x) container_of(x, struct mp2975_data, info)
static int mp2975_read_byte_data(struct i2c_client *client, int page, int reg)
{
switch (reg) {
case PMBUS_VOUT_MODE:
/*
* Report direct format as configured by MFR_DC_LOOP_CTRL.
* Unlike on MP2971/MP2973 the reported VOUT_MODE isn't automatically
* internally updated, but always reads as PB_VOUT_MODE_VID.
*/
return PB_VOUT_MODE_DIRECT;
default:
return -ENODATA;
}
}
static int
mp2975_read_word_helper(struct i2c_client *client, int page, int phase, u8 reg,
u16 mask)
@ -869,6 +884,7 @@ static struct pmbus_driver_info mp2975_info = {
PMBUS_HAVE_IIN | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT |
PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP | PMBUS_HAVE_POUT |
PMBUS_HAVE_PIN | PMBUS_HAVE_STATUS_INPUT | PMBUS_PHASE_VIRTUAL,
.read_byte_data = mp2975_read_byte_data,
.read_word_data = mp2975_read_word_data,
#if IS_ENABLED(CONFIG_SENSORS_MP2975_REGULATOR)
.num_regulators = 1,