Lines Matching refs:pmic

98 	struct hi655x_pmic *pmic;  in hi655x_pmic_probe()  local
103 pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL); in hi655x_pmic_probe()
104 if (!pmic) in hi655x_pmic_probe()
106 pmic->dev = dev; in hi655x_pmic_probe()
108 pmic->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in hi655x_pmic_probe()
109 base = devm_ioremap_resource(dev, pmic->res); in hi655x_pmic_probe()
113 pmic->regmap = devm_regmap_init_mmio_clk(dev, NULL, base, in hi655x_pmic_probe()
116 regmap_read(pmic->regmap, HI655X_BUS_ADDR(HI655X_VER_REG), &pmic->ver); in hi655x_pmic_probe()
117 if ((pmic->ver < PMU_VER_START) || (pmic->ver > PMU_VER_END)) { in hi655x_pmic_probe()
118 dev_warn(dev, "PMU version %d unsupported\n", pmic->ver); in hi655x_pmic_probe()
122 hi655x_local_irq_clear(pmic->regmap); in hi655x_pmic_probe()
124 pmic->gpio = of_get_named_gpio(np, "pmic-gpios", 0); in hi655x_pmic_probe()
125 if (!gpio_is_valid(pmic->gpio)) { in hi655x_pmic_probe()
130 ret = devm_gpio_request_one(dev, pmic->gpio, GPIOF_IN, in hi655x_pmic_probe()
134 pmic->gpio, ret); in hi655x_pmic_probe()
138 ret = regmap_add_irq_chip(pmic->regmap, gpio_to_irq(pmic->gpio), in hi655x_pmic_probe()
140 &hi655x_irq_chip, &pmic->irq_data); in hi655x_pmic_probe()
146 platform_set_drvdata(pdev, pmic); in hi655x_pmic_probe()
150 regmap_irq_get_domain(pmic->irq_data)); in hi655x_pmic_probe()
153 regmap_del_irq_chip(gpio_to_irq(pmic->gpio), pmic->irq_data); in hi655x_pmic_probe()
162 struct hi655x_pmic *pmic = platform_get_drvdata(pdev); in hi655x_pmic_remove() local
164 regmap_del_irq_chip(gpio_to_irq(pmic->gpio), pmic->irq_data); in hi655x_pmic_remove()