Lines Matching refs:data

59 static inline void max197_set_unipolarity(struct max197_data *data, int channel)  in max197_set_unipolarity()  argument
61 data->ctrl_bytes[channel] &= ~MAX197_BIP; in max197_set_unipolarity()
64 static inline void max197_set_bipolarity(struct max197_data *data, int channel) in max197_set_bipolarity() argument
66 data->ctrl_bytes[channel] |= MAX197_BIP; in max197_set_bipolarity()
69 static inline void max197_set_half_range(struct max197_data *data, int channel) in max197_set_half_range() argument
71 data->ctrl_bytes[channel] &= ~MAX197_RNG; in max197_set_half_range()
74 static inline void max197_set_full_range(struct max197_data *data, int channel) in max197_set_full_range() argument
76 data->ctrl_bytes[channel] |= MAX197_RNG; in max197_set_full_range()
79 static inline bool max197_is_bipolar(struct max197_data *data, int channel) in max197_is_bipolar() argument
81 return data->ctrl_bytes[channel] & MAX197_BIP; in max197_is_bipolar()
84 static inline bool max197_is_full_range(struct max197_data *data, int channel) in max197_is_full_range() argument
86 return data->ctrl_bytes[channel] & MAX197_RNG; in max197_is_full_range()
93 struct max197_data *data = dev_get_drvdata(dev); in max197_show_range() local
99 if (mutex_lock_interruptible(&data->lock)) in max197_show_range()
102 range = max197_is_full_range(data, channel) ? in max197_show_range()
103 data->limit : data->limit / 2; in max197_show_range()
105 if (max197_is_bipolar(data, channel)) in max197_show_range()
111 mutex_unlock(&data->lock); in max197_show_range()
121 struct max197_data *data = dev_get_drvdata(dev); in max197_store_range() local
126 int half = data->limit / 2; in max197_store_range()
127 int full = data->limit; in max197_store_range()
146 if (mutex_lock_interruptible(&data->lock)) in max197_store_range()
151 max197_set_unipolarity(data, channel); in max197_store_range()
153 max197_set_bipolarity(data, channel); in max197_store_range()
154 max197_set_half_range(data, channel); in max197_store_range()
156 max197_set_bipolarity(data, channel); in max197_store_range()
157 max197_set_full_range(data, channel); in max197_store_range()
160 max197_set_half_range(data, channel); in max197_store_range()
163 max197_set_full_range(data, channel); in max197_store_range()
166 mutex_unlock(&data->lock); in max197_store_range()
176 struct max197_data *data = dev_get_drvdata(dev); in max197_show_input() local
182 if (mutex_lock_interruptible(&data->lock)) in max197_show_input()
185 ret = data->pdata->convert(data->ctrl_bytes[channel]); in max197_show_input()
196 if (data->scale) { in max197_show_input()
198 if (max197_is_full_range(data, channel)) in max197_show_input()
206 mutex_unlock(&data->lock); in max197_show_input()
263 struct max197_data *data; in max197_probe() local
277 data = devm_kzalloc(&pdev->dev, sizeof(struct max197_data), GFP_KERNEL); in max197_probe()
278 if (!data) in max197_probe()
281 data->pdata = pdata; in max197_probe()
282 mutex_init(&data->lock); in max197_probe()
285 data->limit = MAX197_LIMIT; in max197_probe()
286 data->scale = true; in max197_probe()
288 data->limit = MAX199_LIMIT; in max197_probe()
289 data->scale = false; in max197_probe()
293 data->ctrl_bytes[ch] = (u8) ch; in max197_probe()
295 platform_set_drvdata(pdev, data); in max197_probe()
303 data->hwmon_dev = hwmon_device_register(&pdev->dev); in max197_probe()
304 if (IS_ERR(data->hwmon_dev)) { in max197_probe()
305 ret = PTR_ERR(data->hwmon_dev); in max197_probe()
319 struct max197_data *data = platform_get_drvdata(pdev); in max197_remove() local
321 hwmon_device_unregister(data->hwmon_dev); in max197_remove()