Lines Matching refs:pchip

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