Lines Matching full:provider
8 #include <linux/clk-provider.h>
35 struct tegra210_clk_emc_provider *provider; member
93 struct tegra210_clk_emc_provider *provider = emc->provider; in tegra210_clk_emc_determine_rate() local
96 if (!provider || !provider->configs || provider->num_configs == 0) { in tegra210_clk_emc_determine_rate()
102 for (i = 0; i < provider->num_configs; i++) { in tegra210_clk_emc_determine_rate()
103 if (provider->configs[i].rate >= req->rate) { in tegra210_clk_emc_determine_rate()
104 req->rate = provider->configs[i].rate; in tegra210_clk_emc_determine_rate()
110 req->rate = provider->configs[i - 1].rate; in tegra210_clk_emc_determine_rate()
130 struct tegra210_clk_emc_provider *provider = emc->provider; in tegra210_clk_emc_set_rate() local
132 struct device *dev = provider->dev; in tegra210_clk_emc_set_rate()
139 if (!provider->configs || provider->num_configs == 0) in tegra210_clk_emc_set_rate()
142 for (i = 0; i < provider->num_configs; i++) { in tegra210_clk_emc_set_rate()
143 if (provider->configs[i].rate >= rate) { in tegra210_clk_emc_set_rate()
144 config = &provider->configs[i]; in tegra210_clk_emc_set_rate()
149 if (i == provider->num_configs) in tegra210_clk_emc_set_rate()
150 config = &provider->configs[i - 1]; in tegra210_clk_emc_set_rate()
234 err = provider->set_rate(dev, config); in tegra210_clk_emc_set_rate()
304 struct tegra210_clk_emc_provider *provider) in tegra210_clk_emc_attach() argument
308 struct device *dev = provider->dev; in tegra210_clk_emc_attach()
312 if (!try_module_get(provider->owner)) in tegra210_clk_emc_attach()
315 for (i = 0; i < provider->num_configs; i++) { in tegra210_clk_emc_attach()
316 struct tegra210_clk_emc_config *config = &provider->configs[i]; in tegra210_clk_emc_attach()
362 emc->provider = provider; in tegra210_clk_emc_attach()
367 module_put(provider->owner); in tegra210_clk_emc_attach()
376 module_put(emc->provider->owner); in tegra210_clk_emc_detach()
377 emc->provider = NULL; in tegra210_clk_emc_detach()