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