Lines Matching refs:clk_dev
30 static int tegra_clock_set_pd_state(struct tegra_clk_device *clk_dev, in tegra_clock_set_pd_state() argument
33 struct device *dev = clk_dev->dev; in tegra_clock_set_pd_state()
66 struct tegra_clk_device *clk_dev; in tegra_clock_change_notify() local
69 clk_dev = container_of(nb, struct tegra_clk_device, clk_nb); in tegra_clock_change_notify()
71 mutex_lock(&clk_dev->lock); in tegra_clock_change_notify()
75 err = tegra_clock_set_pd_state(clk_dev, cnd->new_rate); in tegra_clock_change_notify()
79 err = tegra_clock_set_pd_state(clk_dev, cnd->old_rate); in tegra_clock_change_notify()
84 err = tegra_clock_set_pd_state(clk_dev, cnd->new_rate); in tegra_clock_change_notify()
90 mutex_unlock(&clk_dev->lock); in tegra_clock_change_notify()
95 static int tegra_clock_sync_pd_state(struct tegra_clk_device *clk_dev) in tegra_clock_sync_pd_state() argument
100 mutex_lock(&clk_dev->lock); in tegra_clock_sync_pd_state()
102 rate = clk_hw_get_rate(clk_dev->hw); in tegra_clock_sync_pd_state()
103 ret = tegra_clock_set_pd_state(clk_dev, rate); in tegra_clock_sync_pd_state()
105 mutex_unlock(&clk_dev->lock); in tegra_clock_sync_pd_state()
113 struct tegra_clk_device *clk_dev; in tegra_clock_probe() local
121 clk_dev = devm_kzalloc(dev, sizeof(*clk_dev), GFP_KERNEL); in tegra_clock_probe()
122 if (!clk_dev) in tegra_clock_probe()
129 clk_dev->dev = dev; in tegra_clock_probe()
130 clk_dev->hw = __clk_get_hw(clk); in tegra_clock_probe()
131 clk_dev->clk_nb.notifier_call = tegra_clock_change_notify; in tegra_clock_probe()
132 mutex_init(&clk_dev->lock); in tegra_clock_probe()
134 platform_set_drvdata(pdev, clk_dev); in tegra_clock_probe()
147 err = clk_notifier_register(clk, &clk_dev->clk_nb); in tegra_clock_probe()
158 err = tegra_clock_sync_pd_state(clk_dev); in tegra_clock_probe()
165 clk_notifier_unregister(clk, &clk_dev->clk_nb); in tegra_clock_probe()