| .. | .. |
|---|
| 16 | 16 | * duty_cycle = (1 + hi) / (1 + val) |
|---|
| 17 | 17 | */ |
|---|
| 18 | 18 | |
|---|
| 19 | | -#include "clkc-audio.h" |
|---|
| 19 | +#include <linux/clk-provider.h> |
|---|
| 20 | +#include <linux/module.h> |
|---|
| 21 | + |
|---|
| 22 | +#include "clk-regmap.h" |
|---|
| 23 | +#include "sclk-div.h" |
|---|
| 20 | 24 | |
|---|
| 21 | 25 | static inline struct meson_sclk_div_data * |
|---|
| 22 | 26 | meson_sclk_div_data(struct clk_regmap *clk) |
|---|
| .. | .. |
|---|
| 212 | 216 | return 0; |
|---|
| 213 | 217 | } |
|---|
| 214 | 218 | |
|---|
| 215 | | -static void sclk_div_init(struct clk_hw *hw) |
|---|
| 219 | +static int sclk_div_init(struct clk_hw *hw) |
|---|
| 216 | 220 | { |
|---|
| 217 | 221 | struct clk_regmap *clk = to_clk_regmap(hw); |
|---|
| 218 | 222 | struct meson_sclk_div_data *sclk = meson_sclk_div_data(clk); |
|---|
| .. | .. |
|---|
| 227 | 231 | sclk->cached_div = val + 1; |
|---|
| 228 | 232 | |
|---|
| 229 | 233 | sclk_div_get_duty_cycle(hw, &sclk->cached_duty); |
|---|
| 234 | + |
|---|
| 235 | + return 0; |
|---|
| 230 | 236 | } |
|---|
| 231 | 237 | |
|---|
| 232 | 238 | const struct clk_ops meson_sclk_div_ops = { |
|---|
| .. | .. |
|---|
| 241 | 247 | .init = sclk_div_init, |
|---|
| 242 | 248 | }; |
|---|
| 243 | 249 | EXPORT_SYMBOL_GPL(meson_sclk_div_ops); |
|---|
| 250 | + |
|---|
| 251 | +MODULE_DESCRIPTION("Amlogic Sample divider driver"); |
|---|
| 252 | +MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>"); |
|---|
| 253 | +MODULE_LICENSE("GPL v2"); |
|---|