Lines Matching refs:pchip

70 	struct lp8755_chip *pchip = rdev_get_drvdata(rdev);  in lp8755_buck_set_mode()  local
94 dev_err(pchip->dev, "Not supported buck mode %s\n", __func__); in lp8755_buck_set_mode()
190 static int lp8755_init_data(struct lp8755_chip *pchip) in lp8755_init_data() argument
194 struct lp8755_platform_data *pdata = pchip->pdata; in lp8755_init_data()
197 ret = regmap_read(pchip->regmap, 0x3D, &regval); in lp8755_init_data()
200 pchip->mphase = regval & 0x0F; in lp8755_init_data()
203 for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) { in lp8755_init_data()
204 buck_num = mphase_buck[pchip->mphase].buck_num[icnt]; in lp8755_init_data()
210 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_init_data()
243 static int lp8755_regulator_init(struct lp8755_chip *pchip) in lp8755_regulator_init() argument
246 struct lp8755_platform_data *pdata = pchip->pdata; in lp8755_regulator_init()
249 rconfig.regmap = pchip->regmap; in lp8755_regulator_init()
250 rconfig.dev = pchip->dev; in lp8755_regulator_init()
251 rconfig.driver_data = pchip; in lp8755_regulator_init()
253 for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) { in lp8755_regulator_init()
254 buck_num = mphase_buck[pchip->mphase].buck_num[icnt]; in lp8755_regulator_init()
256 rconfig.of_node = pchip->dev->of_node; in lp8755_regulator_init()
257 pchip->rdev[buck_num] = in lp8755_regulator_init()
258 devm_regulator_register(pchip->dev, in lp8755_regulator_init()
260 if (IS_ERR(pchip->rdev[buck_num])) { in lp8755_regulator_init()
261 ret = PTR_ERR(pchip->rdev[buck_num]); in lp8755_regulator_init()
262 pchip->rdev[buck_num] = NULL; in lp8755_regulator_init()
263 dev_err(pchip->dev, "regulator init failed: buck %d\n", in lp8755_regulator_init()
276 struct lp8755_chip *pchip = data; in lp8755_irq_handler() local
279 ret = regmap_read(pchip->regmap, 0x0D, &flag0); in lp8755_irq_handler()
283 ret = regmap_write(pchip->regmap, 0x0D, 0x00); in lp8755_irq_handler()
290 && (pchip->irqmask & (0x04 << icnt)) in lp8755_irq_handler()
291 && (pchip->rdev[icnt] != NULL)) { in lp8755_irq_handler()
292 regulator_notifier_call_chain(pchip->rdev[icnt], in lp8755_irq_handler()
298 ret = regmap_read(pchip->regmap, 0x0E, &flag1); in lp8755_irq_handler()
302 ret = regmap_write(pchip->regmap, 0x0E, 0x00); in lp8755_irq_handler()
307 if ((flag1 & 0x01) && (pchip->irqmask & 0x01)) in lp8755_irq_handler()
309 if (pchip->rdev[icnt] != NULL) { in lp8755_irq_handler()
310 regulator_notifier_call_chain(pchip->rdev[icnt], in lp8755_irq_handler()
316 if ((flag1 & 0x02) && (pchip->irqmask & 0x02)) in lp8755_irq_handler()
318 if (pchip->rdev[icnt] != NULL) { in lp8755_irq_handler()
319 regulator_notifier_call_chain(pchip->rdev[icnt], in lp8755_irq_handler()
326 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_irq_handler()
330 static int lp8755_int_config(struct lp8755_chip *pchip) in lp8755_int_config() argument
335 if (pchip->irq == 0) { in lp8755_int_config()
336 dev_warn(pchip->dev, "not use interrupt : %s\n", __func__); in lp8755_int_config()
340 ret = regmap_read(pchip->regmap, 0x0F, &regval); in lp8755_int_config()
342 dev_err(pchip->dev, "i2c access error %s\n", __func__); in lp8755_int_config()
346 pchip->irqmask = regval; in lp8755_int_config()
347 return devm_request_threaded_irq(pchip->dev, pchip->irq, NULL, in lp8755_int_config()
350 "lp8755-irq", pchip); in lp8755_int_config()
362 struct lp8755_chip *pchip; in lp8755_probe() local
370 pchip = devm_kzalloc(&client->dev, in lp8755_probe()
372 if (!pchip) in lp8755_probe()
375 pchip->dev = &client->dev; in lp8755_probe()
376 pchip->regmap = devm_regmap_init_i2c(client, &lp8755_regmap); in lp8755_probe()
377 if (IS_ERR(pchip->regmap)) { in lp8755_probe()
378 ret = PTR_ERR(pchip->regmap); in lp8755_probe()
382 i2c_set_clientdata(client, pchip); in lp8755_probe()
385 pchip->pdata = pdata; in lp8755_probe()
386 pchip->mphase = pdata->mphase; in lp8755_probe()
388 pchip->pdata = devm_kzalloc(pchip->dev, in lp8755_probe()
391 if (!pchip->pdata) in lp8755_probe()
393 ret = lp8755_init_data(pchip); in lp8755_probe()
400 ret = lp8755_regulator_init(pchip); in lp8755_probe()
406 pchip->irq = client->irq; in lp8755_probe()
407 ret = lp8755_int_config(pchip); in lp8755_probe()
418 regmap_write(pchip->regmap, icnt, 0x00); in lp8755_probe()
426 struct lp8755_chip *pchip = i2c_get_clientdata(client); in lp8755_remove() local
429 regmap_write(pchip->regmap, icnt, 0x00); in lp8755_remove()