Lines Matching refs:provider

35 	struct tegra210_clk_emc_provider *provider;  member
93 struct tegra210_clk_emc_provider *provider = emc->provider; in tegra210_clk_emc_round_rate() local
96 if (!provider || !provider->configs || provider->num_configs == 0) in tegra210_clk_emc_round_rate()
99 for (i = 0; i < provider->num_configs; i++) { in tegra210_clk_emc_round_rate()
100 if (provider->configs[i].rate >= rate) in tegra210_clk_emc_round_rate()
101 return provider->configs[i].rate; in tegra210_clk_emc_round_rate()
104 return provider->configs[i - 1].rate; in tegra210_clk_emc_round_rate()
122 struct tegra210_clk_emc_provider *provider = emc->provider; in tegra210_clk_emc_set_rate() local
124 struct device *dev = provider->dev; in tegra210_clk_emc_set_rate()
131 if (!provider->configs || provider->num_configs == 0) in tegra210_clk_emc_set_rate()
134 for (i = 0; i < provider->num_configs; i++) { in tegra210_clk_emc_set_rate()
135 if (provider->configs[i].rate >= rate) { in tegra210_clk_emc_set_rate()
136 config = &provider->configs[i]; in tegra210_clk_emc_set_rate()
141 if (i == provider->num_configs) in tegra210_clk_emc_set_rate()
142 config = &provider->configs[i - 1]; in tegra210_clk_emc_set_rate()
226 err = provider->set_rate(dev, config); in tegra210_clk_emc_set_rate()
296 struct tegra210_clk_emc_provider *provider) in tegra210_clk_emc_attach() argument
300 struct device *dev = provider->dev; in tegra210_clk_emc_attach()
304 if (!try_module_get(provider->owner)) in tegra210_clk_emc_attach()
307 for (i = 0; i < provider->num_configs; i++) { in tegra210_clk_emc_attach()
308 struct tegra210_clk_emc_config *config = &provider->configs[i]; in tegra210_clk_emc_attach()
354 emc->provider = provider; in tegra210_clk_emc_attach()
359 module_put(provider->owner); in tegra210_clk_emc_attach()
368 module_put(emc->provider->owner); in tegra210_clk_emc_detach()
369 emc->provider = NULL; in tegra210_clk_emc_detach()