Lines Matching defs:provider

12 #include <linux/interconnect-provider.h>
30 struct device *dev = node->provider->dev;
68 dev_warn(node->provider->dev,
78 static int imx_icc_node_init_qos(struct icc_provider *provider,
83 struct device *dev = provider->dev;
123 static struct icc_node *imx_icc_node_add(struct icc_provider *provider,
126 struct device *dev = provider->dev;
152 icc_node_add(node, provider);
155 ret = imx_icc_node_init_qos(provider, node);
165 static void imx_icc_unregister_nodes(struct icc_provider *provider)
169 list_for_each_entry_safe(node, tmp, &provider->nodes, node_list)
173 static int imx_icc_register_nodes(struct icc_provider *provider,
177 struct icc_onecell_data *provider_data = provider->data;
186 node = imx_icc_node_add(provider, node_desc);
188 ret = dev_err_probe(provider->dev, PTR_ERR(node),
197 dev_err(provider->dev, "failed to link node %d to %d: %d\n",
207 imx_icc_unregister_nodes(provider);
228 struct icc_provider *provider;
240 provider = devm_kzalloc(dev, sizeof(*provider), GFP_KERNEL);
241 if (!provider)
243 provider->set = imx_icc_set;
244 provider->aggregate = icc_std_aggregate;
245 provider->xlate = of_icc_xlate_onecell;
246 provider->data = data;
247 provider->dev = dev->parent;
248 platform_set_drvdata(pdev, provider);
250 ret = icc_provider_add(provider);
252 dev_err(dev, "error adding interconnect provider: %d\n", ret);
256 ret = imx_icc_register_nodes(provider, nodes, nodes_count);
263 icc_provider_del(provider);
270 struct icc_provider *provider = platform_get_drvdata(pdev);
272 imx_icc_unregister_nodes(provider);
274 return icc_provider_del(provider);