Lines Matching refs:val
190 int val;
198 val = 0;
200 val |= regvals[reg_len - i - 1] << (i * 8);
202 return val;
205 static int ltc2992_write_reg(struct ltc2992_state *st, u8 addr, const u8 reg_len, u32 val)
211 regvals[reg_len - i - 1] = (val >> (i * 8)) & 0xFF;
408 static int ltc2992_get_voltage(struct ltc2992_state *st, u32 reg, u32 scale, long *val)
417 *val = DIV_ROUND_CLOSEST(reg_val * scale, 1000);
422 static int ltc2992_set_voltage(struct ltc2992_state *st, u32 reg, u32 scale, long val)
424 val = DIV_ROUND_CLOSEST(val * 1000, scale);
425 val = val << 4;
427 return ltc2992_write_reg(st, reg, 2, val);
430 static int ltc2992_read_gpio_alarm(struct ltc2992_state *st, int nr_gpio, u32 attr, long *val)
444 *val = !!(reg_val & mask);
450 static int ltc2992_read_gpios_in(struct device *dev, u32 attr, int nr_gpio, long *val)
473 return ltc2992_read_gpio_alarm(st, nr_gpio, attr, val);
478 return ltc2992_get_voltage(st, reg, LTC2992_VADC_GPIO_UV_LSB, val);
481 static int ltc2992_read_in_alarm(struct ltc2992_state *st, int channel, long *val, u32 attr)
495 *val = !!(reg_val & mask);
501 static int ltc2992_read_in(struct device *dev, u32 attr, int channel, long *val)
507 return ltc2992_read_gpios_in(dev, attr, channel - 2, val);
527 return ltc2992_read_in_alarm(st, channel, val, attr);
532 return ltc2992_get_voltage(st, reg, LTC2992_VADC_UV_LSB, val);
535 static int ltc2992_get_current(struct ltc2992_state *st, u32 reg, u32 channel, long *val)
544 *val = DIV_ROUND_CLOSEST(reg_val * LTC2992_IADC_NANOV_LSB, st->r_sense_uohm[channel]);
549 static int ltc2992_set_current(struct ltc2992_state *st, u32 reg, u32 channel, long val)
553 reg_val = DIV_ROUND_CLOSEST(val * st->r_sense_uohm[channel], LTC2992_IADC_NANOV_LSB);
559 static int ltc2992_read_curr_alarm(struct ltc2992_state *st, int channel, long *val, u32 attr)
573 *val = !!(reg_val & mask);
579 static int ltc2992_read_curr(struct device *dev, u32 attr, int channel, long *val)
602 return ltc2992_read_curr_alarm(st, channel, val, attr);
607 return ltc2992_get_current(st, reg, channel, val);
610 static int ltc2992_get_power(struct ltc2992_state *st, u32 reg, u32 channel, long *val)
618 *val = mul_u64_u32_div(reg_val, LTC2992_VADC_UV_LSB * LTC2992_IADC_NANOV_LSB,
624 static int ltc2992_set_power(struct ltc2992_state *st, u32 reg, u32 channel, long val)
628 reg_val = mul_u64_u32_div(val, st->r_sense_uohm[channel] * 1000,
634 static int ltc2992_read_power_alarm(struct ltc2992_state *st, int channel, long *val, u32 attr)
648 *val = !!(reg_val & mask);
654 static int ltc2992_read_power(struct device *dev, u32 attr, int channel, long *val)
677 return ltc2992_read_power_alarm(st, channel, val, attr);
682 return ltc2992_get_power(st, reg, channel, val);
686 long *val)
690 return ltc2992_read_in(dev, attr, channel, val);
692 return ltc2992_read_curr(dev, attr, channel, val);
694 return ltc2992_read_power(dev, attr, channel, val);
700 static int ltc2992_write_curr(struct device *dev, u32 attr, int channel, long val)
716 return ltc2992_set_current(st, reg, channel, val);
719 static int ltc2992_write_gpios_in(struct device *dev, u32 attr, int nr_gpio, long val)
735 return ltc2992_set_voltage(st, reg, LTC2992_VADC_GPIO_UV_LSB, val);
738 static int ltc2992_write_in(struct device *dev, u32 attr, int channel, long val)
744 return ltc2992_write_gpios_in(dev, attr, channel - 2, val);
757 return ltc2992_set_voltage(st, reg, LTC2992_VADC_UV_LSB, val);
760 static int ltc2992_write_power(struct device *dev, u32 attr, int channel, long val)
776 return ltc2992_set_power(st, reg, channel, val);
779 static int ltc2992_write_chip(struct device *dev, u32 attr, int channel, long val)
793 long val)
797 return ltc2992_write_chip(dev, attr, channel, val);
799 return ltc2992_write_in(dev, attr, channel, val);
801 return ltc2992_write_curr(dev, attr, channel, val);
803 return ltc2992_write_power(dev, attr, channel, val);
860 u32 val;
877 ret = fwnode_property_read_u32(child, "shunt-resistor-micro-ohms", &val);
879 st->r_sense_uohm[addr] = val;