Lines Matching refs:da9052

378 int da9052_adc_manual_read(struct da9052 *da9052, unsigned char channel)  in da9052_adc_manual_read()  argument
388 mutex_lock(&da9052->auxadc_lock); in da9052_adc_manual_read()
390 reinit_completion(&da9052->done); in da9052_adc_manual_read()
395 ret = da9052_reg_write(da9052, DA9052_ADC_MAN_REG, mux_sel); in da9052_adc_manual_read()
400 if (!wait_for_completion_timeout(&da9052->done, in da9052_adc_manual_read()
402 dev_err(da9052->dev, in da9052_adc_manual_read()
408 ret = da9052_reg_read(da9052, DA9052_ADC_RES_H_REG); in da9052_adc_manual_read()
415 ret = da9052_reg_read(da9052, DA9052_ADC_RES_L_REG); in da9052_adc_manual_read()
425 mutex_unlock(&da9052->auxadc_lock); in da9052_adc_manual_read()
430 int da9052_adc_read_temp(struct da9052 *da9052) in da9052_adc_read_temp() argument
434 tbat = da9052_reg_read(da9052, DA9052_TBAT_RES_REG); in da9052_adc_read_temp()
549 static int da9052_clear_fault_log(struct da9052 *da9052) in da9052_clear_fault_log() argument
554 fault_log = da9052_reg_read(da9052, DA9052_FAULTLOG_REG); in da9052_clear_fault_log()
556 dev_err(da9052->dev, in da9052_clear_fault_log()
563 dev_dbg(da9052->dev, in da9052_clear_fault_log()
566 dev_dbg(da9052->dev, in da9052_clear_fault_log()
569 dev_dbg(da9052->dev, in da9052_clear_fault_log()
572 dev_dbg(da9052->dev, in da9052_clear_fault_log()
575 dev_dbg(da9052->dev, in da9052_clear_fault_log()
578 dev_dbg(da9052->dev, in da9052_clear_fault_log()
581 dev_dbg(da9052->dev, in da9052_clear_fault_log()
584 ret = da9052_reg_write(da9052, in da9052_clear_fault_log()
588 dev_err(da9052->dev, in da9052_clear_fault_log()
595 int da9052_device_init(struct da9052 *da9052, u8 chip_id) in da9052_device_init() argument
597 struct da9052_pdata *pdata = dev_get_platdata(da9052->dev); in da9052_device_init()
600 mutex_init(&da9052->auxadc_lock); in da9052_device_init()
601 init_completion(&da9052->done); in da9052_device_init()
603 ret = da9052_clear_fault_log(da9052); in da9052_device_init()
605 dev_warn(da9052->dev, "Cannot clear FAULT_LOG\n"); in da9052_device_init()
608 pdata->init(da9052); in da9052_device_init()
610 da9052->chip_id = chip_id; in da9052_device_init()
612 ret = da9052_irq_init(da9052); in da9052_device_init()
614 dev_err(da9052->dev, "da9052_irq_init failed: %d\n", ret); in da9052_device_init()
618 ret = mfd_add_devices(da9052->dev, PLATFORM_DEVID_AUTO, in da9052_device_init()
622 dev_err(da9052->dev, "mfd_add_devices failed: %d\n", ret); in da9052_device_init()
631 if (!device_property_read_bool(da9052->dev, "dlg,tsi-as-adc")) { in da9052_device_init()
632 ret = mfd_add_devices(da9052->dev, PLATFORM_DEVID_AUTO, in da9052_device_init()
637 dev_err(da9052->dev, "failed to add TSI subdev: %d\n", in da9052_device_init()
646 mfd_remove_devices(da9052->dev); in da9052_device_init()
647 da9052_irq_exit(da9052); in da9052_device_init()
652 void da9052_device_exit(struct da9052 *da9052) in da9052_device_exit() argument
654 mfd_remove_devices(da9052->dev); in da9052_device_exit()
655 da9052_irq_exit(da9052); in da9052_device_exit()