Lines Matching full:provider
9 #include <linux/interconnect-provider.h>
17 struct icc_provider provider; member
23 container_of(_provider, struct icc_clk_provider, provider)
64 * icc_clk_register() - register a new clk-based interconnect provider
65 * @dev: device supporting this provider
66 * @first_id: an ID of the first provider's node
68 * @data: data for the provider
70 * Registers and returns a clk-based interconnect provider. It is a simple
82 struct icc_provider *provider; in icc_clk_register() local
98 provider = &qp->provider; in icc_clk_register()
99 provider->dev = dev; in icc_clk_register()
100 provider->get_bw = icc_clk_get_bw; in icc_clk_register()
101 provider->set = icc_clk_set; in icc_clk_register()
102 provider->aggregate = icc_std_aggregate; in icc_clk_register()
103 provider->xlate = of_icc_xlate_onecell; in icc_clk_register()
104 INIT_LIST_HEAD(&provider->nodes); in icc_clk_register()
105 provider->data = onecell; in icc_clk_register()
107 icc_provider_init(provider); in icc_clk_register()
126 icc_node_add(node, provider); in icc_clk_register()
145 icc_node_add(node, provider); in icc_clk_register()
149 ret = icc_provider_register(provider); in icc_clk_register()
153 return provider; in icc_clk_register()
156 icc_nodes_remove(provider); in icc_clk_register()
181 * icc_clk_unregister() - unregister a previously registered clk interconnect provider
182 * @provider: provider returned by icc_clk_register()
184 void icc_clk_unregister(struct icc_provider *provider) in icc_clk_unregister() argument
186 struct icc_clk_provider *qp = container_of(provider, struct icc_clk_provider, provider); in icc_clk_unregister()
189 icc_provider_deregister(&qp->provider); in icc_clk_unregister()
190 icc_nodes_remove(&qp->provider); in icc_clk_unregister()