• Home
  • Raw
  • Download

Lines Matching refs:sl

61 static int w1_ds2438_get_page(struct w1_slave *sl, int pageno, u8 *buf)  in w1_ds2438_get_page()  argument
71 if (w1_reset_select_slave(sl)) in w1_ds2438_get_page()
75 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_get_page()
77 if (w1_reset_select_slave(sl)) in w1_ds2438_get_page()
81 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_get_page()
83 count = w1_read_block(sl->master, buf, DS2438_PAGE_SIZE + 1); in w1_ds2438_get_page()
95 static int w1_ds2438_get_temperature(struct w1_slave *sl, int16_t *temperature) in w1_ds2438_get_temperature() argument
103 mutex_lock(&sl->master->bus_mutex); in w1_ds2438_get_temperature()
106 if (w1_reset_select_slave(sl)) in w1_ds2438_get_temperature()
108 w1_write_8(sl->master, W1_DS2438_CONVERT_TEMP); in w1_ds2438_get_temperature()
110 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_temperature()
117 if (mutex_lock_interruptible(&sl->master->bus_mutex) != 0) { in w1_ds2438_get_temperature()
125 if (w1_ds2438_get_page(sl, 0, w1_buf) == 0) { in w1_ds2438_get_temperature()
131 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_temperature()
137 static int w1_ds2438_change_config_bit(struct w1_slave *sl, u8 mask, u8 value) in w1_ds2438_change_config_bit() argument
145 if (w1_reset_select_slave(sl)) in w1_ds2438_change_config_bit()
149 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_change_config_bit()
151 if (w1_reset_select_slave(sl)) in w1_ds2438_change_config_bit()
155 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_change_config_bit()
158 status = w1_read_8(sl->master); in w1_ds2438_change_config_bit()
177 if (w1_reset_select_slave(sl)) in w1_ds2438_change_config_bit()
182 w1_write_block(sl->master, w1_buf, 3); in w1_ds2438_change_config_bit()
184 if (w1_reset_select_slave(sl)) in w1_ds2438_change_config_bit()
188 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_change_config_bit()
196 static int w1_ds2438_change_offset_register(struct w1_slave *sl, u8 *value) in w1_ds2438_change_offset_register() argument
202 if (w1_ds2438_get_page(sl, 1, w1_page1_buf) == 0) { in w1_ds2438_change_offset_register()
207 if (w1_reset_select_slave(sl)) in w1_ds2438_change_offset_register()
211 w1_write_block(sl->master, w1_buf, 9); in w1_ds2438_change_offset_register()
213 if (w1_reset_select_slave(sl)) in w1_ds2438_change_offset_register()
217 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_change_offset_register()
224 static int w1_ds2438_get_voltage(struct w1_slave *sl, in w1_ds2438_get_voltage() argument
233 mutex_lock(&sl->master->bus_mutex); in w1_ds2438_get_voltage()
235 if (w1_ds2438_change_config_bit(sl, DS2438_STATUS_AD, adc_input)) { in w1_ds2438_get_voltage()
241 if (w1_reset_select_slave(sl)) in w1_ds2438_get_voltage()
243 w1_write_8(sl->master, W1_DS2438_CONVERT_VOLTAGE); in w1_ds2438_get_voltage()
245 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_voltage()
252 if (mutex_lock_interruptible(&sl->master->bus_mutex) != 0) { in w1_ds2438_get_voltage()
260 if (w1_ds2438_get_page(sl, 0, w1_buf) == 0) { in w1_ds2438_get_voltage()
267 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_voltage()
273 static int w1_ds2438_get_current(struct w1_slave *sl, int16_t *voltage) in w1_ds2438_get_current() argument
278 mutex_lock(&sl->master->bus_mutex); in w1_ds2438_get_current()
280 if (w1_ds2438_get_page(sl, 0, w1_buf) == 0) { in w1_ds2438_get_current()
287 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_current()
296 struct w1_slave *sl = kobj_to_w1_slave(kobj); in iad_write() local
302 mutex_lock(&sl->master->bus_mutex); in iad_write()
304 if (w1_ds2438_change_config_bit(sl, DS2438_STATUS_IAD, *buf & 0x01) == 0) in iad_write()
309 mutex_unlock(&sl->master->bus_mutex); in iad_write()
318 struct w1_slave *sl = kobj_to_w1_slave(kobj); in iad_read() local
327 if (w1_ds2438_get_current(sl, &voltage) == 0) in iad_read()
339 struct w1_slave *sl = kobj_to_w1_slave(kobj); in page0_read() local
348 mutex_lock(&sl->master->bus_mutex); in page0_read()
354 if (w1_ds2438_get_page(sl, 0, w1_buf) == 0) { in page0_read()
360 mutex_unlock(&sl->master->bus_mutex); in page0_read()
369 struct w1_slave *sl = kobj_to_w1_slave(kobj); in page1_read() local
378 mutex_lock(&sl->master->bus_mutex); in page1_read()
384 if (w1_ds2438_get_page(sl, 1, w1_buf) == 0) { in page1_read()
390 mutex_unlock(&sl->master->bus_mutex); in page1_read()
399 struct w1_slave *sl = kobj_to_w1_slave(kobj); in offset_write() local
402 mutex_lock(&sl->master->bus_mutex); in offset_write()
404 if (w1_ds2438_change_offset_register(sl, buf) == 0) in offset_write()
409 mutex_unlock(&sl->master->bus_mutex); in offset_write()
418 struct w1_slave *sl = kobj_to_w1_slave(kobj); in temperature_read() local
427 if (w1_ds2438_get_temperature(sl, &temp) == 0) in temperature_read()
439 struct w1_slave *sl = kobj_to_w1_slave(kobj); in vad_read() local
448 if (w1_ds2438_get_voltage(sl, DS2438_ADC_INPUT_VAD, &voltage) == 0) in vad_read()
460 struct w1_slave *sl = kobj_to_w1_slave(kobj); in vdd_read() local
469 if (w1_ds2438_get_voltage(sl, DS2438_ADC_INPUT_VDD, &voltage) == 0) in vdd_read()