@@ -306,21 +306,19 @@ static int ina2xx_read_init(struct device *dev, int reg, long *val)
306306 * Turns alert limit values into register values.
307307 * Opposite of the formula in ina2xx_get_value().
308308 */
309- static u16 ina226_alert_to_reg (struct ina2xx_data * data , u32 mask , unsigned long val )
309+ static u16 ina226_alert_to_reg (struct ina2xx_data * data , int reg , unsigned long val )
310310{
311- switch (mask ) {
312- case INA226_SHUNT_OVER_VOLTAGE_MASK :
313- case INA226_SHUNT_UNDER_VOLTAGE_MASK :
311+ switch (reg ) {
312+ case INA2XX_SHUNT_VOLTAGE :
314313 val = clamp_val (val , 0 , SHRT_MAX * data -> config -> shunt_div );
315314 val *= data -> config -> shunt_div ;
316315 return clamp_val (val , 0 , SHRT_MAX );
317- case INA226_BUS_OVER_VOLTAGE_MASK :
318- case INA226_BUS_UNDER_VOLTAGE_MASK :
316+ case INA2XX_BUS_VOLTAGE :
319317 val = clamp_val (val , 0 , 200000 );
320318 val = (val * 1000 ) << data -> config -> bus_voltage_shift ;
321319 val = DIV_ROUND_CLOSEST (val , data -> config -> bus_voltage_lsb );
322320 return clamp_val (val , 0 , USHRT_MAX );
323- case INA226_POWER_OVER_LIMIT_MASK :
321+ case INA2XX_POWER :
324322 val = clamp_val (val , 0 , UINT_MAX - data -> power_lsb_uW );
325323 val = DIV_ROUND_CLOSEST (val , data -> power_lsb_uW );
326324 return clamp_val (val , 0 , USHRT_MAX );
@@ -355,7 +353,7 @@ static int ina226_alert_limit_read(struct ina2xx_data *data, u32 mask, int reg,
355353 return ret ;
356354}
357355
358- static int ina226_alert_limit_write (struct ina2xx_data * data , u32 mask , long val )
356+ static int ina226_alert_limit_write (struct ina2xx_data * data , u32 mask , int reg , long val )
359357{
360358 struct regmap * regmap = data -> regmap ;
361359 int ret ;
@@ -375,7 +373,7 @@ static int ina226_alert_limit_write(struct ina2xx_data *data, u32 mask, long val
375373 goto abort ;
376374
377375 ret = regmap_write (regmap , INA226_ALERT_LIMIT ,
378- ina226_alert_to_reg (data , mask , val ));
376+ ina226_alert_to_reg (data , reg , val ));
379377 if (ret < 0 )
380378 goto abort ;
381379
@@ -522,10 +520,12 @@ static int ina2xx_in_write(struct device *dev, u32 attr, int channel, long val)
522520 case hwmon_in_lcrit :
523521 return ina226_alert_limit_write (data ,
524522 channel ? INA226_BUS_UNDER_VOLTAGE_MASK : INA226_SHUNT_UNDER_VOLTAGE_MASK ,
523+ channel ? INA2XX_BUS_VOLTAGE : INA2XX_SHUNT_VOLTAGE ,
525524 val );
526525 case hwmon_in_crit :
527526 return ina226_alert_limit_write (data ,
528527 channel ? INA226_BUS_OVER_VOLTAGE_MASK : INA226_SHUNT_OVER_VOLTAGE_MASK ,
528+ channel ? INA2XX_BUS_VOLTAGE : INA2XX_SHUNT_VOLTAGE ,
529529 val );
530530 default :
531531 return - EOPNOTSUPP ;
@@ -539,7 +539,8 @@ static int ina2xx_power_write(struct device *dev, u32 attr, long val)
539539
540540 switch (attr ) {
541541 case hwmon_power_crit :
542- return ina226_alert_limit_write (data , INA226_POWER_OVER_LIMIT_MASK , val );
542+ return ina226_alert_limit_write (data , INA226_POWER_OVER_LIMIT_MASK ,
543+ INA2XX_POWER , val );
543544 default :
544545 return - EOPNOTSUPP ;
545546 }
0 commit comments