Lines Matching refs:da9052

374 int da9052_adc_manual_read(struct da9052 *da9052, unsigned char channel)  in da9052_adc_manual_read()  argument
384 mutex_lock(&da9052->auxadc_lock); in da9052_adc_manual_read()
386 reinit_completion(&da9052->done); in da9052_adc_manual_read()
391 ret = da9052_reg_write(da9052, DA9052_ADC_MAN_REG, mux_sel); in da9052_adc_manual_read()
396 if (!wait_for_completion_timeout(&da9052->done, in da9052_adc_manual_read()
398 dev_err(da9052->dev, in da9052_adc_manual_read()
404 ret = da9052_reg_read(da9052, DA9052_ADC_RES_H_REG); in da9052_adc_manual_read()
411 ret = da9052_reg_read(da9052, DA9052_ADC_RES_L_REG); in da9052_adc_manual_read()
421 mutex_unlock(&da9052->auxadc_lock); in da9052_adc_manual_read()
426 int da9052_adc_read_temp(struct da9052 *da9052) in da9052_adc_read_temp() argument
430 tbat = da9052_reg_read(da9052, DA9052_TBAT_RES_REG); in da9052_adc_read_temp()
545 static int da9052_clear_fault_log(struct da9052 *da9052) in da9052_clear_fault_log() argument
550 fault_log = da9052_reg_read(da9052, DA9052_FAULTLOG_REG); in da9052_clear_fault_log()
552 dev_err(da9052->dev, in da9052_clear_fault_log()
559 dev_dbg(da9052->dev, in da9052_clear_fault_log()
562 dev_dbg(da9052->dev, in da9052_clear_fault_log()
565 dev_dbg(da9052->dev, in da9052_clear_fault_log()
568 dev_dbg(da9052->dev, in da9052_clear_fault_log()
571 dev_dbg(da9052->dev, in da9052_clear_fault_log()
574 dev_dbg(da9052->dev, in da9052_clear_fault_log()
577 dev_dbg(da9052->dev, in da9052_clear_fault_log()
580 ret = da9052_reg_write(da9052, in da9052_clear_fault_log()
584 dev_err(da9052->dev, in da9052_clear_fault_log()
588 da9052->fault_log = fault_log; in da9052_clear_fault_log()
592 int da9052_device_init(struct da9052 *da9052, u8 chip_id) in da9052_device_init() argument
594 struct da9052_pdata *pdata = dev_get_platdata(da9052->dev); in da9052_device_init()
597 mutex_init(&da9052->auxadc_lock); in da9052_device_init()
598 init_completion(&da9052->done); in da9052_device_init()
600 ret = da9052_clear_fault_log(da9052); in da9052_device_init()
602 dev_warn(da9052->dev, "Cannot clear FAULT_LOG\n"); in da9052_device_init()
605 pdata->init(da9052); in da9052_device_init()
607 da9052->chip_id = chip_id; in da9052_device_init()
609 ret = da9052_irq_init(da9052); in da9052_device_init()
611 dev_err(da9052->dev, "da9052_irq_init failed: %d\n", ret); in da9052_device_init()
615 ret = mfd_add_devices(da9052->dev, PLATFORM_DEVID_AUTO, in da9052_device_init()
619 dev_err(da9052->dev, "mfd_add_devices failed: %d\n", ret); in da9052_device_init()
628 if (!device_property_read_bool(da9052->dev, "dlg,tsi-as-adc")) { in da9052_device_init()
629 ret = mfd_add_devices(da9052->dev, PLATFORM_DEVID_AUTO, in da9052_device_init()
634 dev_err(da9052->dev, "failed to add TSI subdev: %d\n", in da9052_device_init()
643 mfd_remove_devices(da9052->dev); in da9052_device_init()
644 da9052_irq_exit(da9052); in da9052_device_init()
649 void da9052_device_exit(struct da9052 *da9052) in da9052_device_exit() argument
651 mfd_remove_devices(da9052->dev); in da9052_device_exit()
652 da9052_irq_exit(da9052); in da9052_device_exit()