Commit 335698fd7f60 for kernel

commit 335698fd7f60b6707b21fda725f97f35fa956b07
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Tue Aug 4 17:30:42 2026 -0700

    hwmon: (ltc4282) Fix parsing adi,current-limit-sense-microvolt

    ltc4282_parse_dt() evaluates the wrong variable when parsing the current
    limit.

    When the adi,current-limit-sense-microvolt property is parsed into
    st->vsense_max, the subsequent switch statement evaluates the unrelated
    val variable instead of st->vsense_max:

    drivers/hwmon/ltc4282.c:ltc4282_parse_dt() {
        ...
            ret = device_property_read_u32(dev, "adi,current-limit-sense-microvolt",
                                           &st->vsense_max);
            if (!ret) {
                    int reg_val;

                    switch (val) {
                    case 12500:
                            reg_val = 0;
                            break;
        ...
    }

    Because val holds a small integer representing vin_mode (from 0 to 3), it
    never matches any of the valid current limit cases.

    This causes it to always fall through to the default error case, return
    -EINVAL, and aborts probe initialization for any device tree using this
    property.

    Validate st->vsense_max instead to fix the problem.

    Reported-by: Sashiko <sashiko-bot@kernel.org>
    Fixes: cbc29538dbf7d ("hwmon: Add driver for LTC4282")
    Cc: Nuno Sa <nuno.sa@analog.com>
    Reviewed-by: Nuno Sá <nuno.sa@analog.com>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

diff --git a/drivers/hwmon/ltc4282.c b/drivers/hwmon/ltc4282.c
index bb1bcb369016..b1675dc5b3c7 100644
--- a/drivers/hwmon/ltc4282.c
+++ b/drivers/hwmon/ltc4282.c
@@ -1394,7 +1394,7 @@ static int ltc4282_setup(struct ltc4282_state *st, struct device *dev)
 	if (!ret) {
 		int reg_val;

-		switch (val) {
+		switch (st->vsense_max) {
 		case 12500:
 			reg_val = 0;
 			break;