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()
591 int da9052_device_init(struct da9052 *da9052, u8 chip_id) in da9052_device_init() argument
593 struct da9052_pdata *pdata = dev_get_platdata(da9052->dev); in da9052_device_init()
596 mutex_init(&da9052->auxadc_lock); in da9052_device_init()
597 init_completion(&da9052->done); in da9052_device_init()
599 ret = da9052_clear_fault_log(da9052); in da9052_device_init()
601 dev_warn(da9052->dev, "Cannot clear FAULT_LOG\n"); in da9052_device_init()
604 pdata->init(da9052); in da9052_device_init()
606 da9052->chip_id = chip_id; in da9052_device_init()
608 ret = da9052_irq_init(da9052); in da9052_device_init()
610 dev_err(da9052->dev, "da9052_irq_init failed: %d\n", ret); in da9052_device_init()
614 ret = mfd_add_devices(da9052->dev, PLATFORM_DEVID_AUTO, in da9052_device_init()
618 dev_err(da9052->dev, "mfd_add_devices failed: %d\n", ret); in da9052_device_init()
627 if (!device_property_read_bool(da9052->dev, "dlg,tsi-as-adc")) { in da9052_device_init()
628 ret = mfd_add_devices(da9052->dev, PLATFORM_DEVID_AUTO, in da9052_device_init()
633 dev_err(da9052->dev, "failed to add TSI subdev: %d\n", in da9052_device_init()
642 mfd_remove_devices(da9052->dev); in da9052_device_init()
643 da9052_irq_exit(da9052); in da9052_device_init()
648 void da9052_device_exit(struct da9052 *da9052) in da9052_device_exit() argument
650 mfd_remove_devices(da9052->dev); in da9052_device_exit()
651 da9052_irq_exit(da9052); in da9052_device_exit()