Lines Matching defs:icsp

177 	ics951601_unit_t	*icsp;
191 icsp = (ics951601_unit_t *)ddi_get_soft_state(ics951601_soft_statep,
193 if (icsp == NULL) {
205 mutex_enter(&icsp->ics951601_mutex);
207 if (icsp->ics951601_oflag == 0) {
208 icsp->ics951601_oflag = FEXCL;
211 } else if (icsp->ics951601_oflag != FEXCL) {
212 icsp->ics951601_oflag = (uint16_t)FOPEN;
215 mutex_exit(&icsp->ics951601_mutex);
225 ics951601_unit_t *icsp;
235 icsp = (ics951601_unit_t *)ddi_get_soft_state(ics951601_soft_statep,
237 if (icsp == NULL) {
241 mutex_enter(&icsp->ics951601_mutex);
242 icsp->ics951601_oflag = 0;
243 mutex_exit(&icsp->ics951601_mutex);
250 ics951601_unit_t *icsp;
259 icsp = ddi_get_soft_state(ics951601_soft_statep, instance);
261 if (icsp == NULL) {
265 mutex_init(&icsp->ics951601_mutex, NULL, MUTEX_DRIVER, NULL);
266 cv_init(&icsp->ics951601_cv, NULL, CV_DRIVER, NULL);
268 (void) snprintf(icsp->ics951601_name, sizeof (icsp->ics951601_name),
272 if (ddi_create_minor_node(dip, icsp->ics951601_name, S_IFCHR,
275 icsp->ics951601_name);
282 if (i2c_transfer_alloc(icsp->ics951601_hdl, &icsp->ics951601_transfer,
285 icsp->ics951601_name);
288 icsp->ics951601_cpr_state[0] = 0x0;
289 icsp->ics951601_transfer->i2c_version = I2C_XFER_REV;
291 if (i2c_client_register(dip, &icsp->ics951601_hdl) != I2C_SUCCESS) {
293 icsp->ics951601_name);
298 icsp->ics951601_transfer->i2c_flags = I2C_WR;
299 icsp->ics951601_transfer->i2c_wlen = ICS951601_I2C_WRITE_TRANS_SIZE;
300 icsp->ics951601_transfer->i2c_rlen = 0;
301 icsp->ics951601_transfer->i2c_wbuf = init_clock_regs;
303 if (i2c_transfer(icsp->ics951601_hdl, icsp->ics951601_transfer)
311 icsp->ics951601_dip = dip;
315 i2c_client_unregister(icsp->ics951601_hdl);
318 i2c_transfer_free(icsp->ics951601_hdl, icsp->ics951601_transfer);
324 cv_destroy(&icsp->ics951601_cv);
325 mutex_destroy(&icsp->ics951601_mutex);
335 ics951601_unit_t *icsp;
339 icsp = ddi_get_soft_state(ics951601_soft_statep, instance);
340 cv_destroy(&icsp->ics951601_cv);
341 mutex_destroy(&icsp->ics951601_mutex);
342 i2c_client_unregister(icsp->ics951601_hdl);
343 i2c_transfer_free(icsp->ics951601_hdl, icsp->ics951601_transfer);
353 ics951601_unit_t *icsp;
358 icsp = ddi_get_soft_state(ics951601_soft_statep, instance);
359 if (icsp == NULL) {
362 *result = (void *)icsp->ics951601_dip;
377 ics951601_unit_t *icsp;
380 icsp = ddi_get_soft_state(ics951601_soft_statep, instance);
386 mutex_enter(&icsp->ics951601_mutex);
387 while ((icsp->ics951601_flags & ICS951601_BUSYFLAG) ==
389 if (cv_wait_sig(&icsp->ics951601_cv,
390 &icsp->ics951601_mutex) <= 0) {
391 mutex_exit(&icsp->ics951601_mutex);
395 icsp->ics951601_flags |= ICS951601_BUSYFLAG;
396 mutex_exit(&icsp->ics951601_mutex);
398 icsp->ics951601_transfer->i2c_flags = I2C_RD;
399 icsp->ics951601_transfer->i2c_wlen = 0;
400 icsp->ics951601_transfer->i2c_rlen = ICS951601_I2C_READ_TRANS_SIZE;
401 icsp->ics951601_transfer->i2c_rbuf = icsp->ics951601_cpr_state + 1;
403 if (i2c_transfer(icsp->ics951601_hdl, icsp->ics951601_transfer)
406 icsp->ics951601_name);
417 ics951601_unit_t *icsp;
420 icsp = (ics951601_unit_t *)
423 if (icsp == NULL) {
430 icsp->ics951601_transfer->i2c_flags = I2C_WR;
431 icsp->ics951601_transfer->i2c_rlen = 0;
432 icsp->ics951601_transfer->i2c_wlen = ICS951601_I2C_WRITE_TRANS_SIZE;
434 icsp->ics951601_transfer->i2c_wbuf = icsp->ics951601_cpr_state;
436 if (i2c_transfer(icsp->ics951601_hdl, icsp->ics951601_transfer)
440 icsp->ics951601_name);
446 mutex_enter(&icsp->ics951601_mutex);
447 icsp->ics951601_flags = icsp->ics951601_flags & ~ICS951601_BUSYFLAG;
448 cv_signal(&icsp->ics951601_cv);
449 mutex_exit(&icsp->ics951601_mutex);
486 ics951601_unit_t *icsp;
496 icsp = (ics951601_unit_t *)
506 mutex_enter(&icsp->ics951601_mutex);
507 while ((icsp->ics951601_flags & ICS951601_BUSYFLAG) ==
509 if (cv_wait_sig(&icsp->ics951601_cv,
510 &icsp->ics951601_mutex) <= 0) {
511 mutex_exit(&icsp->ics951601_mutex);
515 icsp->ics951601_flags |= ICS951601_BUSYFLAG;
516 mutex_exit(&icsp->ics951601_mutex);
521 icsp->ics951601_transfer->i2c_flags = I2C_RD;
522 icsp->ics951601_transfer->i2c_wlen = 0;
523 icsp->ics951601_transfer->i2c_rlen = ICS951601_I2C_READ_TRANS_SIZE;
524 icsp->ics951601_transfer->i2c_rbuf = temp_arr + 1;
526 if (i2c_transfer(icsp->ics951601_hdl, icsp->ics951601_transfer)
552 icsp->ics951601_name);
562 icsp->ics951601_transfer->i2c_flags = I2C_WR;
563 icsp->ics951601_transfer->i2c_wlen = ICS951601_I2C_WRITE_TRANS_SIZE;
564 icsp->ics951601_transfer->i2c_rlen = 0;
565 icsp->ics951601_transfer->i2c_wbuf = temp_arr;
567 if (i2c_transfer(icsp->ics951601_hdl, icsp->ics951601_transfer)
574 mutex_enter(&icsp->ics951601_mutex);
575 icsp->ics951601_flags = icsp->ics951601_flags & ~ICS951601_BUSYFLAG;
576 cv_signal(&icsp->ics951601_cv);
577 mutex_exit(&icsp->ics951601_mutex);