Lines Matching defs:pmic
16 #include <linux/mfd/hi655x-pmic.h>
35 .name = "hi655x-pmic",
94 struct hi655x_pmic *pmic;
98 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL);
99 if (!pmic)
101 pmic->dev = dev;
107 pmic->regmap = devm_regmap_init_mmio_clk(dev, NULL, base,
109 if (IS_ERR(pmic->regmap))
110 return PTR_ERR(pmic->regmap);
112 regmap_read(pmic->regmap, HI655X_BUS_ADDR(HI655X_VER_REG), &pmic->ver);
113 if ((pmic->ver < PMU_VER_START) || (pmic->ver > PMU_VER_END)) {
114 dev_warn(dev, "PMU version %d unsupported\n", pmic->ver);
118 hi655x_local_irq_clear(pmic->regmap);
120 pmic->gpio = devm_gpiod_get_optional(dev, "pmic", GPIOD_IN);
121 if (IS_ERR(pmic->gpio))
122 return dev_err_probe(dev, PTR_ERR(pmic->gpio),
123 "Failed to request hi655x pmic-gpio");
125 ret = regmap_add_irq_chip(pmic->regmap, gpiod_to_irq(pmic->gpio),
127 &hi655x_irq_chip, &pmic->irq_data);
133 platform_set_drvdata(pdev, pmic);
137 regmap_irq_get_domain(pmic->irq_data));
140 regmap_del_irq_chip(gpiod_to_irq(pmic->gpio), pmic->irq_data);
149 struct hi655x_pmic *pmic = platform_get_drvdata(pdev);
151 regmap_del_irq_chip(gpiod_to_irq(pmic->gpio), pmic->irq_data);
156 { .compatible = "hisilicon,hi655x-pmic", },
163 .name = "hi655x-pmic",