Lines Matching refs:da9063
113 static int da9063_clear_fault_log(struct da9063 *da9063) in da9063_clear_fault_log() argument
118 ret = regmap_read(da9063->regmap, DA9063_REG_FAULT_LOG, &fault_log); in da9063_clear_fault_log()
120 dev_err(da9063->dev, "Cannot read FAULT_LOG.\n"); in da9063_clear_fault_log()
126 dev_dbg(da9063->dev, in da9063_clear_fault_log()
129 dev_dbg(da9063->dev, in da9063_clear_fault_log()
132 dev_dbg(da9063->dev, in da9063_clear_fault_log()
135 dev_dbg(da9063->dev, in da9063_clear_fault_log()
138 dev_dbg(da9063->dev, in da9063_clear_fault_log()
141 dev_dbg(da9063->dev, in da9063_clear_fault_log()
144 dev_dbg(da9063->dev, in da9063_clear_fault_log()
147 dev_dbg(da9063->dev, in da9063_clear_fault_log()
151 ret = regmap_write(da9063->regmap, in da9063_clear_fault_log()
155 dev_err(da9063->dev, in da9063_clear_fault_log()
161 int da9063_device_init(struct da9063 *da9063, unsigned int irq) in da9063_device_init() argument
166 ret = da9063_clear_fault_log(da9063); in da9063_device_init()
168 dev_err(da9063->dev, "Cannot clear fault log\n"); in da9063_device_init()
170 da9063->flags = 0; in da9063_device_init()
171 da9063->irq_base = -1; in da9063_device_init()
172 da9063->chip_irq = irq; in da9063_device_init()
174 ret = regmap_read(da9063->regmap, DA9063_REG_CHIP_ID, &model); in da9063_device_init()
176 dev_err(da9063->dev, "Cannot read chip model id.\n"); in da9063_device_init()
180 dev_err(da9063->dev, "Invalid chip model id: 0x%02x\n", model); in da9063_device_init()
184 ret = regmap_read(da9063->regmap, DA9063_REG_CHIP_VARIANT, &variant_id); in da9063_device_init()
186 dev_err(da9063->dev, "Cannot read chip variant id.\n"); in da9063_device_init()
192 dev_info(da9063->dev, in da9063_device_init()
197 dev_err(da9063->dev, in da9063_device_init()
202 da9063->variant_code = variant_code; in da9063_device_init()
204 ret = da9063_irq_init(da9063); in da9063_device_init()
206 dev_err(da9063->dev, "Cannot initialize interrupts.\n"); in da9063_device_init()
210 da9063->irq_base = regmap_irq_chip_get_base(da9063->regmap_irq); in da9063_device_init()
212 ret = devm_mfd_add_devices(da9063->dev, PLATFORM_DEVID_NONE, in da9063_device_init()
215 NULL, da9063->irq_base, NULL); in da9063_device_init()
217 dev_err(da9063->dev, "Failed to add child devices\n"); in da9063_device_init()
221 if (da9063->type == PMIC_TYPE_DA9063) { in da9063_device_init()
222 ret = devm_mfd_add_devices(da9063->dev, PLATFORM_DEVID_NONE, in da9063_device_init()
224 NULL, da9063->irq_base, NULL); in da9063_device_init()
226 dev_err(da9063->dev, "Failed to add child devices\n"); in da9063_device_init()