Lines Matching refs:pchip
71 struct lp8755_chip *pchip = rdev_get_drvdata(rdev);
95 dev_err(pchip->dev, "Not supported buck mode %s\n", __func__);
234 static int lp8755_init_data(struct lp8755_chip *pchip)
238 struct lp8755_platform_data *pdata = pchip->pdata;
241 ret = regmap_read(pchip->regmap, 0x3D, ®val);
244 pchip->mphase = regval & 0x0F;
247 for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) {
248 buck_num = mphase_buck[pchip->mphase].buck_num[icnt];
254 dev_err(pchip->dev, "i2c access error %s\n", __func__);
283 static int lp8755_regulator_init(struct lp8755_chip *pchip)
286 struct lp8755_platform_data *pdata = pchip->pdata;
289 rconfig.regmap = pchip->regmap;
290 rconfig.dev = pchip->dev;
291 rconfig.driver_data = pchip;
293 for (icnt = 0; icnt < mphase_buck[pchip->mphase].nreg; icnt++) {
294 buck_num = mphase_buck[pchip->mphase].buck_num[icnt];
296 rconfig.of_node = pchip->dev->of_node;
297 pchip->rdev[buck_num] =
298 devm_regulator_register(pchip->dev,
300 if (IS_ERR(pchip->rdev[buck_num])) {
301 ret = PTR_ERR(pchip->rdev[buck_num]);
302 pchip->rdev[buck_num] = NULL;
303 dev_err(pchip->dev, "regulator init failed: buck %d\n",
316 struct lp8755_chip *pchip = data;
319 ret = regmap_read(pchip->regmap, 0x0D, &flag0);
323 ret = regmap_write(pchip->regmap, 0x0D, 0x00);
330 && (pchip->irqmask & (0x04 << icnt))
331 && (pchip->rdev[icnt] != NULL)) {
332 regulator_notifier_call_chain(pchip->rdev[icnt],
338 ret = regmap_read(pchip->regmap, 0x0E, &flag1);
342 ret = regmap_write(pchip->regmap, 0x0E, 0x00);
347 if ((flag1 & 0x01) && (pchip->irqmask & 0x01))
349 if (pchip->rdev[icnt] != NULL) {
350 regulator_notifier_call_chain(pchip->rdev[icnt],
356 if ((flag1 & 0x02) && (pchip->irqmask & 0x02))
358 if (pchip->rdev[icnt] != NULL) {
359 regulator_notifier_call_chain(pchip->rdev[icnt],
366 dev_err(pchip->dev, "i2c access error %s\n", __func__);
370 static int lp8755_int_config(struct lp8755_chip *pchip)
375 if (pchip->irq == 0) {
376 dev_warn(pchip->dev, "not use interrupt : %s\n", __func__);
380 ret = regmap_read(pchip->regmap, 0x0F, ®val);
382 dev_err(pchip->dev, "i2c access error %s\n", __func__);
386 pchip->irqmask = regval;
387 return devm_request_threaded_irq(pchip->dev, pchip->irq, NULL,
390 "lp8755-irq", pchip);
403 struct lp8755_chip *pchip;
411 pchip = devm_kzalloc(&client->dev,
413 if (!pchip)
416 pchip->dev = &client->dev;
417 pchip->regmap = devm_regmap_init_i2c(client, &lp8755_regmap);
418 if (IS_ERR(pchip->regmap)) {
419 ret = PTR_ERR(pchip->regmap);
423 i2c_set_clientdata(client, pchip);
426 pchip->pdata = pdata;
427 pchip->mphase = pdata->mphase;
429 pchip->pdata = devm_kzalloc(pchip->dev,
432 if (!pchip->pdata)
434 ret = lp8755_init_data(pchip);
441 ret = lp8755_regulator_init(pchip);
447 pchip->irq = client->irq;
448 ret = lp8755_int_config(pchip);
459 regmap_write(pchip->regmap, icnt, 0x00);
467 struct lp8755_chip *pchip = i2c_get_clientdata(client);
470 regmap_write(pchip->regmap, icnt, 0x00);