> >> +struct dpot_dac { > >> + struct regulator *vref; > >> + struct iio_channel *dpot; > > > > const > > const? devm_iio_channel_get doesn't return a const iio_channel. What > am I missing? ah, I mixed this up with iio_chan_spec > >> + u32 max_ohms; > >> +}; > >> + > >> +static const struct iio_chan_spec dpot_dac_iio_channel = { > >> + .type = IIO_VOLTAGE, > >> + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) > >> + | BIT(IIO_CHAN_INFO_SCALE), > >> + .output = 1, > >> +}; > >> + > >> +static int dpot_dac_read_raw(struct iio_dev *indio_dev, > >> + struct iio_chan_spec const *chan, > >> + int *val, int *val2, long mask) > >> +{ > >> + struct dpot_dac *dac = iio_priv(indio_dev); > >> + int ret; > >> + unsigned long long tmp; > > > > s64 (which is used to cast below) > > I assume that what you really want is to get rid of the cast, and > that you aren't really bothered if tmp is ull or s32, right? Given > that assumption, I'm just dropping the cast instead. The LL specifier > on the constant should promote *val anyway. what I meant to pick upon was mixing s64 with unsigned long long with LL in the code that follows anything simpler and more consistent would be good thanks, p. -- Peter Meerwald-Stadler +43-664-2444418 (mobile) -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html