Lines Matching refs:pmic
282 struct intel_soc_pmic *pmic = context;
284 if (!pmic)
296 ret = intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS,
312 struct intel_soc_pmic *pmic = context;
314 if (!pmic)
327 return intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS,
357 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
359 ret = regmap_read(pmic->regmap, bxtwc_reg_addr, &val);
373 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
379 ret = regmap_write(pmic->regmap, bxtwc_reg_addr, val);
412 static int bxtwc_add_chained_irq_chip(struct intel_soc_pmic *pmic,
422 return dev_err_probe(pmic->dev, irq, "Failed to get parent vIRQ(%d) for chip %s\n",
425 return devm_regmap_add_irq_chip(pmic->dev, pmic->regmap, irq, irq_flags,
435 struct intel_soc_pmic *pmic;
443 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL);
444 if (!pmic)
450 pmic->irq = ret;
452 platform_set_drvdata(pdev, pmic);
453 pmic->dev = dev;
455 pmic->scu = devm_intel_scu_ipc_dev_get(dev);
456 if (!pmic->scu)
459 pmic->regmap = devm_regmap_init(dev, NULL, pmic, &bxtwc_regmap_config);
460 if (IS_ERR(pmic->regmap))
461 return dev_err_probe(dev, PTR_ERR(pmic->regmap), "Failed to initialise regmap\n");
463 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq,
466 &pmic->irq_chip_data);
470 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data,
474 &pmic->irq_chip_data_pwrbtn);
478 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data,
482 &pmic->irq_chip_data_tmu);
487 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data,
491 &pmic->irq_chip_data_bcu);
496 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data,
500 &pmic->irq_chip_data_adc);
505 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data,
509 &pmic->irq_chip_data_chgr);
514 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data,
518 &pmic->irq_chip_data_crit);
534 regmap_update_bits(pmic->regmap, BXTWC_MIRQLVL1, BXTWC_MIRQLVL1_MCHGR, 0);
541 struct intel_soc_pmic *pmic = platform_get_drvdata(pdev);
543 disable_irq(pmic->irq);
548 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
550 disable_irq(pmic->irq);
557 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
559 enable_irq(pmic->irq);