Lines Matching refs:sl

52 static int w1_ds2438_get_page(struct w1_slave *sl, int pageno, u8 *buf)  in w1_ds2438_get_page()  argument
62 if (w1_reset_select_slave(sl)) in w1_ds2438_get_page()
66 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_get_page()
68 if (w1_reset_select_slave(sl)) in w1_ds2438_get_page()
72 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_get_page()
74 count = w1_read_block(sl->master, buf, DS2438_PAGE_SIZE + 1); in w1_ds2438_get_page()
86 static int w1_ds2438_get_temperature(struct w1_slave *sl, int16_t *temperature) in w1_ds2438_get_temperature() argument
94 mutex_lock(&sl->master->bus_mutex); in w1_ds2438_get_temperature()
97 if (w1_reset_select_slave(sl)) in w1_ds2438_get_temperature()
99 w1_write_8(sl->master, W1_DS2438_CONVERT_TEMP); in w1_ds2438_get_temperature()
101 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_temperature()
108 if (mutex_lock_interruptible(&sl->master->bus_mutex) != 0) { in w1_ds2438_get_temperature()
116 if (w1_ds2438_get_page(sl, 0, w1_buf) == 0) { in w1_ds2438_get_temperature()
122 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_temperature()
128 static int w1_ds2438_change_config_bit(struct w1_slave *sl, u8 mask, u8 value) in w1_ds2438_change_config_bit() argument
136 if (w1_reset_select_slave(sl)) in w1_ds2438_change_config_bit()
140 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_change_config_bit()
142 if (w1_reset_select_slave(sl)) in w1_ds2438_change_config_bit()
146 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_change_config_bit()
149 status = w1_read_8(sl->master); in w1_ds2438_change_config_bit()
168 if (w1_reset_select_slave(sl)) in w1_ds2438_change_config_bit()
173 w1_write_block(sl->master, w1_buf, 3); in w1_ds2438_change_config_bit()
175 if (w1_reset_select_slave(sl)) in w1_ds2438_change_config_bit()
179 w1_write_block(sl->master, w1_buf, 2); in w1_ds2438_change_config_bit()
187 static int w1_ds2438_get_voltage(struct w1_slave *sl, in w1_ds2438_get_voltage() argument
196 mutex_lock(&sl->master->bus_mutex); in w1_ds2438_get_voltage()
198 if (w1_ds2438_change_config_bit(sl, DS2438_STATUS_AD, adc_input)) { in w1_ds2438_get_voltage()
204 if (w1_reset_select_slave(sl)) in w1_ds2438_get_voltage()
206 w1_write_8(sl->master, W1_DS2438_CONVERT_VOLTAGE); in w1_ds2438_get_voltage()
208 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_voltage()
215 if (mutex_lock_interruptible(&sl->master->bus_mutex) != 0) { in w1_ds2438_get_voltage()
223 if (w1_ds2438_get_page(sl, 0, w1_buf) == 0) { in w1_ds2438_get_voltage()
230 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_voltage()
236 static int w1_ds2438_get_current(struct w1_slave *sl, int16_t *voltage) in w1_ds2438_get_current() argument
241 mutex_lock(&sl->master->bus_mutex); in w1_ds2438_get_current()
243 if (w1_ds2438_get_page(sl, 0, w1_buf) == 0) { in w1_ds2438_get_current()
250 mutex_unlock(&sl->master->bus_mutex); in w1_ds2438_get_current()
259 struct w1_slave *sl = kobj_to_w1_slave(kobj); in iad_write() local
265 mutex_lock(&sl->master->bus_mutex); in iad_write()
267 if (w1_ds2438_change_config_bit(sl, DS2438_STATUS_IAD, *buf & 0x01) == 0) in iad_write()
272 mutex_unlock(&sl->master->bus_mutex); in iad_write()
281 struct w1_slave *sl = kobj_to_w1_slave(kobj); in iad_read() local
290 if (w1_ds2438_get_current(sl, &voltage) == 0) { in iad_read()
302 struct w1_slave *sl = kobj_to_w1_slave(kobj); in page0_read() local
311 mutex_lock(&sl->master->bus_mutex); in page0_read()
317 if (w1_ds2438_get_page(sl, 0, w1_buf) == 0) { in page0_read()
323 mutex_unlock(&sl->master->bus_mutex); in page0_read()
332 struct w1_slave *sl = kobj_to_w1_slave(kobj); in temperature_read() local
341 if (w1_ds2438_get_temperature(sl, &temp) == 0) { in temperature_read()
353 struct w1_slave *sl = kobj_to_w1_slave(kobj); in vad_read() local
362 if (w1_ds2438_get_voltage(sl, DS2438_ADC_INPUT_VAD, &voltage) == 0) { in vad_read()
374 struct w1_slave *sl = kobj_to_w1_slave(kobj); in vdd_read() local
383 if (w1_ds2438_get_voltage(sl, DS2438_ADC_INPUT_VDD, &voltage) == 0) { in vdd_read()