| .. | .. |
|---|
| 1 | | -// SPDX-License-Identifier: GPL-2.0 |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 2 | 2 | // Copyright(c) 2015-17 Intel Corporation |
|---|
| 3 | 3 | |
|---|
| 4 | 4 | /* |
|---|
| .. | .. |
|---|
| 11 | 11 | #include <linux/platform_device.h> |
|---|
| 12 | 12 | #include <linux/clk-provider.h> |
|---|
| 13 | 13 | #include <linux/clkdev.h> |
|---|
| 14 | +#include <sound/intel-nhlt.h> |
|---|
| 14 | 15 | #include "skl.h" |
|---|
| 15 | 16 | #include "skl-ssp-clk.h" |
|---|
| 16 | 17 | #include "skl-topology.h" |
|---|
| .. | .. |
|---|
| 101 | 102 | } |
|---|
| 102 | 103 | |
|---|
| 103 | 104 | /* Sends dma control IPC to turn the clock ON/OFF */ |
|---|
| 104 | | -static int skl_send_clk_dma_control(struct skl *skl, |
|---|
| 105 | +static int skl_send_clk_dma_control(struct skl_dev *skl, |
|---|
| 105 | 106 | struct skl_clk_rate_cfg_table *rcfg, |
|---|
| 106 | 107 | u32 vbus_id, u8 clk_type, |
|---|
| 107 | 108 | bool enable) |
|---|
| .. | .. |
|---|
| 152 | 153 | memcpy(i2s_config + sp_cfg->size, data, size); |
|---|
| 153 | 154 | |
|---|
| 154 | 155 | node_id = ((SKL_DMA_I2S_LINK_INPUT_CLASS << 8) | (vbus_id << 4)); |
|---|
| 155 | | - ret = skl_dsp_set_dma_control(skl->skl_sst, (u32 *)i2s_config, |
|---|
| 156 | + ret = skl_dsp_set_dma_control(skl, (u32 *)i2s_config, |
|---|
| 156 | 157 | i2s_config_size, node_id); |
|---|
| 157 | 158 | kfree(i2s_config); |
|---|
| 158 | 159 | |
|---|
| .. | .. |
|---|
| 276 | 277 | |
|---|
| 277 | 278 | static void unregister_src_clk(struct skl_clk_data *dclk) |
|---|
| 278 | 279 | { |
|---|
| 279 | | - u8 cnt = dclk->avail_clk_cnt; |
|---|
| 280 | | - |
|---|
| 281 | | - while (cnt--) |
|---|
| 282 | | - clkdev_drop(dclk->clk[cnt]->lookup); |
|---|
| 280 | + while (dclk->avail_clk_cnt--) |
|---|
| 281 | + clkdev_drop(dclk->clk[dclk->avail_clk_cnt]->lookup); |
|---|
| 283 | 282 | } |
|---|
| 284 | 283 | |
|---|
| 285 | 284 | static int skl_register_parent_clks(struct device *dev, |
|---|
| .. | .. |
|---|
| 381 | 380 | if (clks[i].rate_cfg[0].rate == 0) |
|---|
| 382 | 381 | continue; |
|---|
| 383 | 382 | |
|---|
| 384 | | - data->clk[i] = register_skl_clk(dev, &clks[i], clk_pdata, i); |
|---|
| 385 | | - if (IS_ERR(data->clk[i])) { |
|---|
| 386 | | - ret = PTR_ERR(data->clk[i]); |
|---|
| 383 | + data->clk[data->avail_clk_cnt] = register_skl_clk(dev, |
|---|
| 384 | + &clks[i], clk_pdata, i); |
|---|
| 385 | + |
|---|
| 386 | + if (IS_ERR(data->clk[data->avail_clk_cnt])) { |
|---|
| 387 | + ret = PTR_ERR(data->clk[data->avail_clk_cnt]); |
|---|
| 387 | 388 | goto err_unreg_skl_clk; |
|---|
| 388 | 389 | } |
|---|
| 389 | 390 | |
|---|