]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
hwmon: (ina2xx) Move ina2xx_get_value()
authorGuenter Roeck <linux@roeck-us.net>
Thu, 1 Aug 2024 22:34:48 +0000 (15:34 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 30 Aug 2024 15:34:23 +0000 (08:34 -0700)
ina2xx_get_value() will be needed earlier in the next patch, so move it.
No functional change.

Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ina2xx.c

index 98338b7e74376da0f923a7d9024ed7c616e3dca4..fe850ee060241667a78538f43928a01b55283413 100644 (file)
@@ -211,6 +211,42 @@ static u16 ina226_interval_to_reg(unsigned long interval)
        return FIELD_PREP(INA226_AVG_RD_MASK, avg_bits);
 }
 
+static int ina2xx_get_value(struct ina2xx_data *data, u8 reg,
+                           unsigned int regval)
+{
+       int val;
+
+       switch (reg) {
+       case INA2XX_SHUNT_VOLTAGE:
+               /* signed register */
+               val = DIV_ROUND_CLOSEST((s16)regval, data->config->shunt_div);
+               break;
+       case INA2XX_BUS_VOLTAGE:
+               val = (regval >> data->config->bus_voltage_shift) *
+                 data->config->bus_voltage_lsb;
+               val = DIV_ROUND_CLOSEST(val, 1000);
+               break;
+       case INA2XX_POWER:
+               val = regval * data->power_lsb_uW;
+               break;
+       case INA2XX_CURRENT:
+               /* signed register, result in mA */
+               val = (s16)regval * data->current_lsb_uA;
+               val = DIV_ROUND_CLOSEST(val, 1000);
+               break;
+       case INA2XX_CALIBRATION:
+               val = regval;
+               break;
+       default:
+               /* programmer goofed */
+               WARN_ON_ONCE(1);
+               val = 0;
+               break;
+       }
+
+       return val;
+}
+
 static int ina2xx_read_reg(struct device *dev, int reg, unsigned int *regval)
 {
        struct ina2xx_data *data = dev_get_drvdata(dev);
@@ -264,42 +300,6 @@ static int ina2xx_read_reg(struct device *dev, int reg, unsigned int *regval)
        return -ENODEV;
 }
 
-static int ina2xx_get_value(struct ina2xx_data *data, u8 reg,
-                           unsigned int regval)
-{
-       int val;
-
-       switch (reg) {
-       case INA2XX_SHUNT_VOLTAGE:
-               /* signed register */
-               val = DIV_ROUND_CLOSEST((s16)regval, data->config->shunt_div);
-               break;
-       case INA2XX_BUS_VOLTAGE:
-               val = (regval >> data->config->bus_voltage_shift)
-                 * data->config->bus_voltage_lsb;
-               val = DIV_ROUND_CLOSEST(val, 1000);
-               break;
-       case INA2XX_POWER:
-               val = regval * data->power_lsb_uW;
-               break;
-       case INA2XX_CURRENT:
-               /* signed register, result in mA */
-               val = (s16)regval * data->current_lsb_uA;
-               val = DIV_ROUND_CLOSEST(val, 1000);
-               break;
-       case INA2XX_CALIBRATION:
-               val = regval;
-               break;
-       default:
-               /* programmer goofed */
-               WARN_ON_ONCE(1);
-               val = 0;
-               break;
-       }
-
-       return val;
-}
-
 static ssize_t ina2xx_value_show(struct device *dev,
                                 struct device_attribute *da, char *buf)
 {