Lines Matching refs:iris

68 int qcom_iris_enable(struct qcom_iris *iris)  in qcom_iris_enable()  argument
72 ret = regulator_bulk_enable(iris->num_vregs, iris->vregs); in qcom_iris_enable()
76 ret = clk_prepare_enable(iris->xo_clk); in qcom_iris_enable()
78 dev_err(&iris->dev, "failed to enable xo clk\n"); in qcom_iris_enable()
85 regulator_bulk_disable(iris->num_vregs, iris->vregs); in qcom_iris_enable()
90 void qcom_iris_disable(struct qcom_iris *iris) in qcom_iris_disable() argument
92 clk_disable_unprepare(iris->xo_clk); in qcom_iris_disable()
93 regulator_bulk_disable(iris->num_vregs, iris->vregs); in qcom_iris_disable()
106 struct qcom_iris *iris = container_of(dev, struct qcom_iris, dev); in qcom_iris_release() local
108 of_node_put(iris->dev.of_node); in qcom_iris_release()
109 kfree(iris); in qcom_iris_release()
117 struct qcom_iris *iris; in qcom_iris_probe() local
127 iris = kzalloc(sizeof(*iris), GFP_KERNEL); in qcom_iris_probe()
128 if (!iris) { in qcom_iris_probe()
133 device_initialize(&iris->dev); in qcom_iris_probe()
134 iris->dev.parent = parent; in qcom_iris_probe()
135 iris->dev.release = qcom_iris_release; in qcom_iris_probe()
136 iris->dev.of_node = of_node; in qcom_iris_probe()
138 dev_set_name(&iris->dev, "%s.iris", dev_name(parent)); in qcom_iris_probe()
140 ret = device_add(&iris->dev); in qcom_iris_probe()
142 put_device(&iris->dev); in qcom_iris_probe()
146 match = of_match_device(iris_of_match, &iris->dev); in qcom_iris_probe()
148 dev_err(&iris->dev, "no matching compatible for iris\n"); in qcom_iris_probe()
155 iris->xo_clk = devm_clk_get(&iris->dev, "xo"); in qcom_iris_probe()
156 if (IS_ERR(iris->xo_clk)) { in qcom_iris_probe()
157 ret = PTR_ERR(iris->xo_clk); in qcom_iris_probe()
159 dev_err(&iris->dev, "failed to acquire xo clk\n"); in qcom_iris_probe()
163 iris->num_vregs = data->num_vregs; in qcom_iris_probe()
164 iris->vregs = devm_kcalloc(&iris->dev, in qcom_iris_probe()
165 iris->num_vregs, in qcom_iris_probe()
168 if (!iris->vregs) { in qcom_iris_probe()
173 for (i = 0; i < iris->num_vregs; i++) in qcom_iris_probe()
174 iris->vregs[i].supply = data->vregs[i].name; in qcom_iris_probe()
176 ret = devm_regulator_bulk_get(&iris->dev, iris->num_vregs, iris->vregs); in qcom_iris_probe()
178 dev_err(&iris->dev, "failed to get regulators\n"); in qcom_iris_probe()
182 for (i = 0; i < iris->num_vregs; i++) { in qcom_iris_probe()
184 regulator_set_voltage(iris->vregs[i].consumer, in qcom_iris_probe()
189 regulator_set_load(iris->vregs[i].consumer, in qcom_iris_probe()
195 return iris; in qcom_iris_probe()
198 device_del(&iris->dev); in qcom_iris_probe()
203 void qcom_iris_remove(struct qcom_iris *iris) in qcom_iris_remove() argument
205 device_del(&iris->dev); in qcom_iris_remove()