Lines Matching refs:dev

28 static int check_channel(struct udevice *dev, int value, bool number_or_mask,  in check_channel()  argument
31 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in check_channel()
43 __FILE__, caller_function, dev->name); in check_channel()
48 static int adc_supply_enable(struct udevice *dev) in adc_supply_enable() argument
50 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_supply_enable()
65 pr_err("%s: can't enable %s-supply!", dev->name, supply_type); in adc_supply_enable()
70 int adc_data_mask(struct udevice *dev, unsigned int *data_mask) in adc_data_mask() argument
72 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_data_mask()
81 int adc_channel_mask(struct udevice *dev, unsigned int *channel_mask) in adc_channel_mask() argument
83 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_channel_mask()
93 int adc_stop(struct udevice *dev) in adc_stop() argument
95 const struct adc_ops *ops = dev_get_driver_ops(dev); in adc_stop()
100 return ops->stop(dev); in adc_stop()
103 int adc_start_channel(struct udevice *dev, int channel) in adc_start_channel() argument
105 const struct adc_ops *ops = dev_get_driver_ops(dev); in adc_start_channel()
111 ret = check_channel(dev, channel, CHECK_NUMBER, __func__); in adc_start_channel()
115 ret = adc_supply_enable(dev); in adc_start_channel()
119 return ops->start_channel(dev, channel); in adc_start_channel()
122 int adc_start_channels(struct udevice *dev, unsigned int channel_mask) in adc_start_channels() argument
124 const struct adc_ops *ops = dev_get_driver_ops(dev); in adc_start_channels()
130 ret = check_channel(dev, channel_mask, CHECK_MASK, __func__); in adc_start_channels()
134 ret = adc_supply_enable(dev); in adc_start_channels()
138 return ops->start_channels(dev, channel_mask); in adc_start_channels()
141 int adc_channel_data(struct udevice *dev, int channel, unsigned int *data) in adc_channel_data() argument
143 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_channel_data()
144 const struct adc_ops *ops = dev_get_driver_ops(dev); in adc_channel_data()
151 ret = check_channel(dev, channel, CHECK_NUMBER, __func__); in adc_channel_data()
156 ret = ops->channel_data(dev, channel, data); in adc_channel_data()
167 int adc_channels_data(struct udevice *dev, unsigned int channel_mask, in adc_channels_data() argument
170 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_channels_data()
172 const struct adc_ops *ops = dev_get_driver_ops(dev); in adc_channels_data()
178 ret = check_channel(dev, channel_mask, CHECK_MASK, __func__); in adc_channels_data()
183 ret = ops->channels_data(dev, channel_mask, channels); in adc_channels_data()
196 struct udevice *dev; in adc_channel_single_shot() local
199 ret = uclass_get_device_by_name(UCLASS_ADC, name, &dev); in adc_channel_single_shot()
203 ret = adc_start_channel(dev, channel); in adc_channel_single_shot()
207 ret = adc_channel_data(dev, channel, data); in adc_channel_single_shot()
214 static int _adc_channels_single_shot(struct udevice *dev, in _adc_channels_single_shot() argument
226 ret = adc_start_channel(dev, channel); in _adc_channels_single_shot()
230 ret = adc_channel_data(dev, channel, &data); in _adc_channels_single_shot()
245 struct udevice *dev; in adc_channels_single_shot() local
248 ret = uclass_get_device_by_name(UCLASS_ADC, name, &dev); in adc_channels_single_shot()
252 ret = adc_start_channels(dev, channel_mask); in adc_channels_single_shot()
256 ret = adc_channels_data(dev, channel_mask, channels); in adc_channels_single_shot()
266 return _adc_channels_single_shot(dev, channel_mask, channels); in adc_channels_single_shot()
269 static int adc_vdd_platdata_update(struct udevice *dev) in adc_vdd_platdata_update() argument
271 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_vdd_platdata_update()
292 static int adc_vss_platdata_update(struct udevice *dev) in adc_vss_platdata_update() argument
294 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_vss_platdata_update()
309 int adc_vdd_value(struct udevice *dev, int *uV) in adc_vdd_value() argument
311 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_vdd_value()
315 ret = adc_vdd_platdata_update(dev); in adc_vdd_value()
327 int adc_vss_value(struct udevice *dev, int *uV) in adc_vss_value() argument
329 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_vss_value()
333 ret = adc_vss_platdata_update(dev); in adc_vss_value()
345 int adc_raw_to_uV(struct udevice *dev, unsigned int raw, int *uV) in adc_raw_to_uV() argument
351 ret = adc_vdd_value(dev, &vref); in adc_raw_to_uV()
355 if (!adc_vss_value(dev, &val)) in adc_raw_to_uV()
358 ret = adc_data_mask(dev, &data_mask); in adc_raw_to_uV()
369 static int adc_vdd_platdata_set(struct udevice *dev) in adc_vdd_platdata_set() argument
371 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_vdd_platdata_set()
376 uc_pdata->vdd_polarity_negative = dev_read_bool(dev, prop); in adc_vdd_platdata_set()
379 ret = device_get_supply_regulator(dev, "vdd-supply", in adc_vdd_platdata_set()
382 return adc_vdd_platdata_update(dev); in adc_vdd_platdata_set()
389 uc_pdata->vdd_microvolts = dev_read_u32_default(dev, prop, -ENODATA); in adc_vdd_platdata_set()
394 static int adc_vss_platdata_set(struct udevice *dev) in adc_vss_platdata_set() argument
396 struct adc_uclass_platdata *uc_pdata = dev_get_uclass_platdata(dev); in adc_vss_platdata_set()
401 uc_pdata->vss_polarity_negative = dev_read_bool(dev, prop); in adc_vss_platdata_set()
403 ret = device_get_supply_regulator(dev, "vss-supply", in adc_vss_platdata_set()
406 return adc_vss_platdata_update(dev); in adc_vss_platdata_set()
413 uc_pdata->vss_microvolts = dev_read_u32_default(dev, prop, -ENODATA); in adc_vss_platdata_set()
418 static int adc_pre_probe(struct udevice *dev) in adc_pre_probe() argument
423 ret = adc_vdd_platdata_set(dev); in adc_pre_probe()
425 pr_err("%s: Can't update Vdd. Error: %d", dev->name, ret); in adc_pre_probe()
428 ret = adc_vss_platdata_set(dev); in adc_pre_probe()
430 pr_err("%s: Can't update Vss. Error: %d", dev->name, ret); in adc_pre_probe()