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
97 provider = &qp->provider; in icc_clk_register()
98 provider->dev = dev; in icc_clk_register()
99 provider->get_bw = icc_clk_get_bw; in icc_clk_register()
100 provider->set = icc_clk_set; in icc_clk_register()
101 provider->aggregate = icc_std_aggregate; in icc_clk_register()
102 provider->xlate = of_icc_xlate_onecell; in icc_clk_register()
103 INIT_LIST_HEAD(&provider->nodes); in icc_clk_register()
104 provider->data = onecell; in icc_clk_register()
106 icc_provider_init(provider); in icc_clk_register()
119 icc_node_add(node, provider); in icc_clk_register()
132 icc_node_add(node, provider); in icc_clk_register()
138 ret = icc_provider_register(provider); in icc_clk_register()
142 return provider; in icc_clk_register()
145 icc_nodes_remove(provider); in icc_clk_register()
152 * icc_clk_unregister() - unregister a previously registered clk interconnect provider
153 * @provider: provider returned by icc_clk_register()
155 void icc_clk_unregister(struct icc_provider *provider) in icc_clk_unregister() argument
157 struct icc_clk_provider *qp = container_of(provider, struct icc_clk_provider, provider); in icc_clk_unregister()
160 icc_provider_deregister(&qp->provider); in icc_clk_unregister()
161 icc_nodes_remove(&qp->provider); in icc_clk_unregister()