Lines Matching defs:pmic
309 struct intel_soc_pmic *pmic = context;
311 if (!pmic)
323 ret = intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS,
339 struct intel_soc_pmic *pmic = context;
341 if (!pmic)
354 return intel_scu_ipc_dev_command(pmic->scu, PMC_PMIC_ACCESS,
385 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
387 ret = regmap_read(pmic->regmap, bxtwc_reg_addr, &val);
401 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
407 ret = regmap_write(pmic->regmap, bxtwc_reg_addr, val);
431 static int bxtwc_add_chained_irq_chip(struct intel_soc_pmic *pmic,
437 struct device *dev = pmic->dev;
445 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, irq, irq_flags, 0, chip, data);
452 static int bxtwc_add_chained_devices(struct intel_soc_pmic *pmic,
459 struct device *dev = pmic->dev;
463 ret = bxtwc_add_chained_irq_chip(pmic, pdata, pirq, irq_flags, chip, data);
478 struct intel_soc_pmic *pmic;
486 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL);
487 if (!pmic)
493 pmic->irq = ret;
495 platform_set_drvdata(pdev, pmic);
496 pmic->dev = dev;
498 pmic->scu = devm_intel_scu_ipc_dev_get(dev);
499 if (!pmic->scu)
502 pmic->regmap = devm_regmap_init(dev, NULL, pmic, &bxtwc_regmap_config);
503 if (IS_ERR(pmic->regmap))
504 return dev_err_probe(dev, PTR_ERR(pmic->regmap), "Failed to initialise regmap\n");
506 ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq,
509 &pmic->irq_chip_data);
513 ret = bxtwc_add_chained_devices(pmic, bxt_wc_tmu_dev, ARRAY_SIZE(bxt_wc_tmu_dev),
514 pmic->irq_chip_data,
518 &pmic->irq_chip_data_tmu);
522 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data,
526 &pmic->irq_chip_data_pwrbtn);
530 ret = bxtwc_add_chained_devices(pmic, bxt_wc_bcu_dev, ARRAY_SIZE(bxt_wc_bcu_dev),
531 pmic->irq_chip_data,
535 &pmic->irq_chip_data_bcu);
539 ret = bxtwc_add_chained_devices(pmic, bxt_wc_adc_dev, ARRAY_SIZE(bxt_wc_adc_dev),
540 pmic->irq_chip_data,
544 &pmic->irq_chip_data_adc);
548 ret = bxtwc_add_chained_devices(pmic, bxt_wc_chgr_dev, ARRAY_SIZE(bxt_wc_chgr_dev),
549 pmic->irq_chip_data,
553 &pmic->irq_chip_data_chgr);
558 ret = bxtwc_add_chained_irq_chip(pmic, pmic->irq_chip_data,
562 &pmic->irq_chip_data_crit);
578 regmap_update_bits(pmic->regmap, BXTWC_MIRQLVL1, BXTWC_MIRQLVL1_MCHGR, 0);
585 struct intel_soc_pmic *pmic = platform_get_drvdata(pdev);
587 disable_irq(pmic->irq);
592 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
594 disable_irq(pmic->irq);
601 struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
603 enable_irq(pmic->irq);