| .. | .. | 
|---|
| 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 |  | 
|---|