tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   54dee406374ce8adb352c48e175176247cb8db7c
commit: 164a263bf8d003e4cbb197d52b74d26df72604d7 ASoC: Intel: Make boards more 
available for compile test
date:   3 weeks ago
config: ia64-allyesconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.4.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 164a263bf8d003e4cbb197d52b74d26df72604d7
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=ia64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   sound/soc/intel/skylake/skl-ssp-clk.c:26:16: error: field 'hw' has 
incomplete type
     struct clk_hw hw;
                   ^~
   In file included from include/linux/kernel.h:11:0,
                    from sound/soc/intel/skylake/skl-ssp-clk.c:8:
   sound/soc/intel/skylake/skl-ssp-clk.c: In function 'skl_clk_prepare':
   include/linux/kernel.h:979:32: error: dereferencing pointer to incomplete 
type 'struct clk_hw'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                                   ^~~~~~
   include/linux/compiler.h:324:9: note: in definition of macro 
'__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler.h:344:2: note: in expansion of macro 
'_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
     ^~~~~~~~~~~~~~~~~~~
   include/linux/build_bug.h:39:37: note: in expansion of macro 
'compiletime_assert'
    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                        ^~~~~~~~~~~~~~~~~~
   include/linux/kernel.h:979:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
     ^~~~~~~~~~~~~~~~
   include/linux/kernel.h:979:20: note: in expansion of macro '__same_type'
     BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                       ^~~~~~~~~~~
>> sound/soc/intel/skylake/skl-ssp-clk.c:18:25: note: in expansion of macro 
>> 'container_of'
    #define to_skl_clk(_hw) container_of(_hw, struct skl_clk, hw)
                            ^~~~~~~~~~~~
>> sound/soc/intel/skylake/skl-ssp-clk.c:201:27: note: in expansion of macro 
>> 'to_skl_clk'
     struct skl_clk *clkdev = to_skl_clk(hw);
                              ^~~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c: At top level:
   sound/soc/intel/skylake/skl-ssp-clk.c:260:21: error: variable 'skl_clk_ops' 
has initializer but incomplete type
    static const struct clk_ops skl_clk_ops = {
                        ^~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:261:3: error: 'const struct clk_ops' 
has no member named 'prepare'
     .prepare = skl_clk_prepare,
      ^~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:261:13: warning: excess elements in 
struct initializer
     .prepare = skl_clk_prepare,
                ^~~~~~~~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:261:13: note: (near initialization for 
'skl_clk_ops')
   sound/soc/intel/skylake/skl-ssp-clk.c:262:3: error: 'const struct clk_ops' 
has no member named 'unprepare'
     .unprepare = skl_clk_unprepare,
      ^~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:262:15: warning: excess elements in 
struct initializer
     .unprepare = skl_clk_unprepare,
                  ^~~~~~~~~~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:262:15: note: (near initialization for 
'skl_clk_ops')
   sound/soc/intel/skylake/skl-ssp-clk.c:263:3: error: 'const struct clk_ops' 
has no member named 'set_rate'
     .set_rate = skl_clk_set_rate,
      ^~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:263:14: warning: excess elements in 
struct initializer
     .set_rate = skl_clk_set_rate,
                 ^~~~~~~~~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:263:14: note: (near initialization for 
'skl_clk_ops')
   sound/soc/intel/skylake/skl-ssp-clk.c:264:3: error: 'const struct clk_ops' 
has no member named 'round_rate'
     .round_rate = skl_clk_round_rate,
      ^~~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:264:16: warning: excess elements in 
struct initializer
     .round_rate = skl_clk_round_rate,
                   ^~~~~~~~~~~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:264:16: note: (near initialization for 
'skl_clk_ops')
   sound/soc/intel/skylake/skl-ssp-clk.c:265:3: error: 'const struct clk_ops' 
has no member named 'recalc_rate'
     .recalc_rate = skl_clk_recalc_rate,
      ^~~~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:265:17: warning: excess elements in 
struct initializer
     .recalc_rate = skl_clk_recalc_rate,
                    ^~~~~~~~~~~~~~~~~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:265:17: note: (near initialization for 
'skl_clk_ops')
   sound/soc/intel/skylake/skl-ssp-clk.c: In function 
'unregister_parent_src_clk':
   sound/soc/intel/skylake/skl-ssp-clk.c:273:3: error: implicit declaration of 
function 'clk_hw_unregister_fixed_rate'; did you mean 'clk_hw_register_clkdev'? 
[-Werror=implicit-function-declaration]
      clk_hw_unregister_fixed_rate(pclk[id].hw);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      clk_hw_register_clkdev
   sound/soc/intel/skylake/skl-ssp-clk.c: In function 
'skl_register_parent_clks':
   sound/soc/intel/skylake/skl-ssp-clk.c:294:18: error: implicit declaration of 
function 'clk_hw_register_fixed_rate'; did you mean 'clk_hw_register_clkdev'? 
[-Werror=implicit-function-declaration]
      parent[i].hw = clk_hw_register_fixed_rate(dev, pclk[i].name,
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
                     clk_hw_register_clkdev
>> sound/soc/intel/skylake/skl-ssp-clk.c:294:16: warning: assignment makes 
>> pointer from integer without a cast [-Wint-conversion]
      parent[i].hw = clk_hw_register_fixed_rate(dev, pclk[i].name,
                   ^
   sound/soc/intel/skylake/skl-ssp-clk.c: In function 'register_skl_clk':
   sound/soc/intel/skylake/skl-ssp-clk.c:321:23: error: storage size of 'init' 
isn't known
     struct clk_init_data init;
                          ^~~~
   sound/soc/intel/skylake/skl-ssp-clk.c:331:15: error: 'CLK_SET_RATE_GATE' 
undeclared (first use in this function); did you mean 'DL_STATE_NONE'?
     init.flags = CLK_SET_RATE_GATE;
                  ^~~~~~~~~~~~~~~~~
                  DL_STATE_NONE
   sound/soc/intel/skylake/skl-ssp-clk.c:331:15: note: each undeclared 
identifier is reported only once for each function it appears in
   sound/soc/intel/skylake/skl-ssp-clk.c:338:8: error: implicit declaration of 
function 'devm_clk_hw_register'; did you mean 'devm_clk_hw_register_clkdev'? 
[-Werror=implicit-function-declaration]
     ret = devm_clk_hw_register(dev, &clkdev->hw);
           ^~~~~~~~~~~~~~~~~~~~
           devm_clk_hw_register_clkdev
   sound/soc/intel/skylake/skl-ssp-clk.c:321:23: warning: unused variable 
'init' [-Wunused-variable]
     struct clk_init_data init;
                          ^~~~
   sound/soc/intel/skylake/skl-ssp-clk.c: At top level:
   sound/soc/intel/skylake/skl-ssp-clk.c:260:29: error: storage size of 
'skl_clk_ops' isn't known
    static const struct clk_ops skl_clk_ops = {
                                ^~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/container_of +18 sound/soc/intel/skylake/skl-ssp-clk.c

01f50d69 Sriram Periyasamy 2018-01-04   17  
01f50d69 Sriram Periyasamy 2018-01-04  @18  #define to_skl_clk(_hw)     
container_of(_hw, struct skl_clk, hw)
01f50d69 Sriram Periyasamy 2018-01-04   19  
01f50d69 Sriram Periyasamy 2018-01-04   20  struct skl_clk_parent {
01f50d69 Sriram Periyasamy 2018-01-04   21      struct clk_hw *hw;
01f50d69 Sriram Periyasamy 2018-01-04   22      struct clk_lookup *lookup;
01f50d69 Sriram Periyasamy 2018-01-04   23  };
01f50d69 Sriram Periyasamy 2018-01-04   24  
01f50d69 Sriram Periyasamy 2018-01-04   25  struct skl_clk {
01f50d69 Sriram Periyasamy 2018-01-04   26      struct clk_hw hw;
01f50d69 Sriram Periyasamy 2018-01-04   27      struct clk_lookup *lookup;
01f50d69 Sriram Periyasamy 2018-01-04   28      unsigned long rate;
01f50d69 Sriram Periyasamy 2018-01-04   29      struct skl_clk_pdata *pdata;
01f50d69 Sriram Periyasamy 2018-01-04   30      u32 id;
01f50d69 Sriram Periyasamy 2018-01-04   31  };
01f50d69 Sriram Periyasamy 2018-01-04   32  
01f50d69 Sriram Periyasamy 2018-01-04   33  struct skl_clk_data {
01f50d69 Sriram Periyasamy 2018-01-04   34      struct skl_clk_parent 
parent[SKL_MAX_CLK_SRC];
01f50d69 Sriram Periyasamy 2018-01-04   35      struct skl_clk 
*clk[SKL_MAX_CLK_CNT];
01f50d69 Sriram Periyasamy 2018-01-04   36      u8 avail_clk_cnt;
01f50d69 Sriram Periyasamy 2018-01-04   37  };
01f50d69 Sriram Periyasamy 2018-01-04   38  
01f50d69 Sriram Periyasamy 2018-01-04   39  static int skl_get_clk_type(u32 
index)
01f50d69 Sriram Periyasamy 2018-01-04   40  {
01f50d69 Sriram Periyasamy 2018-01-04   41      switch (index) {
01f50d69 Sriram Periyasamy 2018-01-04   42      case 0 ... (SKL_SCLK_OFS - 1):
01f50d69 Sriram Periyasamy 2018-01-04   43              return SKL_MCLK;
01f50d69 Sriram Periyasamy 2018-01-04   44  
01f50d69 Sriram Periyasamy 2018-01-04   45      case SKL_SCLK_OFS ... 
(SKL_SCLKFS_OFS - 1):
01f50d69 Sriram Periyasamy 2018-01-04   46              return SKL_SCLK;
01f50d69 Sriram Periyasamy 2018-01-04   47  
01f50d69 Sriram Periyasamy 2018-01-04   48      case SKL_SCLKFS_OFS ... 
(SKL_MAX_CLK_CNT - 1):
01f50d69 Sriram Periyasamy 2018-01-04   49              return SKL_SCLK_FS;
01f50d69 Sriram Periyasamy 2018-01-04   50  
01f50d69 Sriram Periyasamy 2018-01-04   51      default:
01f50d69 Sriram Periyasamy 2018-01-04   52              return -EINVAL;
01f50d69 Sriram Periyasamy 2018-01-04   53      }
01f50d69 Sriram Periyasamy 2018-01-04   54  }
01f50d69 Sriram Periyasamy 2018-01-04   55  
01f50d69 Sriram Periyasamy 2018-01-04   56  static int skl_get_vbus_id(u32 
index, u8 clk_type)
01f50d69 Sriram Periyasamy 2018-01-04   57  {
01f50d69 Sriram Periyasamy 2018-01-04   58      switch (clk_type) {
01f50d69 Sriram Periyasamy 2018-01-04   59      case SKL_MCLK:
01f50d69 Sriram Periyasamy 2018-01-04   60              return index;
01f50d69 Sriram Periyasamy 2018-01-04   61  
01f50d69 Sriram Periyasamy 2018-01-04   62      case SKL_SCLK:
01f50d69 Sriram Periyasamy 2018-01-04   63              return index - 
SKL_SCLK_OFS;
01f50d69 Sriram Periyasamy 2018-01-04   64  
01f50d69 Sriram Periyasamy 2018-01-04   65      case SKL_SCLK_FS:
01f50d69 Sriram Periyasamy 2018-01-04   66              return index - 
SKL_SCLKFS_OFS;
01f50d69 Sriram Periyasamy 2018-01-04   67  
01f50d69 Sriram Periyasamy 2018-01-04   68      default:
01f50d69 Sriram Periyasamy 2018-01-04   69              return -EINVAL;
01f50d69 Sriram Periyasamy 2018-01-04   70      }
01f50d69 Sriram Periyasamy 2018-01-04   71  }
01f50d69 Sriram Periyasamy 2018-01-04   72  
01f50d69 Sriram Periyasamy 2018-01-04   73  static void skl_fill_clk_ipc(struct 
skl_clk_rate_cfg_table *rcfg, u8 clk_type)
01f50d69 Sriram Periyasamy 2018-01-04   74  {
01f50d69 Sriram Periyasamy 2018-01-04   75      struct nhlt_fmt_cfg *fmt_cfg;
01f50d69 Sriram Periyasamy 2018-01-04   76      union skl_clk_ctrl_ipc *ipc;
01f50d69 Sriram Periyasamy 2018-01-04   77      struct wav_fmt *wfmt;
01f50d69 Sriram Periyasamy 2018-01-04   78  
01f50d69 Sriram Periyasamy 2018-01-04   79      if (!rcfg)
01f50d69 Sriram Periyasamy 2018-01-04   80              return;
01f50d69 Sriram Periyasamy 2018-01-04   81  
01f50d69 Sriram Periyasamy 2018-01-04   82      ipc = &rcfg->dma_ctl_ipc;
01f50d69 Sriram Periyasamy 2018-01-04   83      if (clk_type == SKL_SCLK_FS) {
01f50d69 Sriram Periyasamy 2018-01-04   84              fmt_cfg = (struct 
nhlt_fmt_cfg *)rcfg->config;
01f50d69 Sriram Periyasamy 2018-01-04   85              wfmt = 
&fmt_cfg->fmt_ext.fmt;
01f50d69 Sriram Periyasamy 2018-01-04   86  
01f50d69 Sriram Periyasamy 2018-01-04   87              /* Remove TLV Header 
size */
01f50d69 Sriram Periyasamy 2018-01-04   88              ipc->sclk_fs.hdr.size = 
sizeof(struct skl_dmactrl_sclkfs_cfg) -
01f50d69 Sriram Periyasamy 2018-01-04   89                                      
        sizeof(struct skl_tlv_hdr);
01f50d69 Sriram Periyasamy 2018-01-04   90              
ipc->sclk_fs.sampling_frequency = wfmt->samples_per_sec;
01f50d69 Sriram Periyasamy 2018-01-04   91              ipc->sclk_fs.bit_depth 
= wfmt->bits_per_sample;
01f50d69 Sriram Periyasamy 2018-01-04   92              
ipc->sclk_fs.valid_bit_depth =
01f50d69 Sriram Periyasamy 2018-01-04   93                      
fmt_cfg->fmt_ext.sample.valid_bits_per_sample;
01f50d69 Sriram Periyasamy 2018-01-04   94              
ipc->sclk_fs.number_of_channels = wfmt->channels;
01f50d69 Sriram Periyasamy 2018-01-04   95      } else {
01f50d69 Sriram Periyasamy 2018-01-04   96              ipc->mclk.hdr.type = 
DMA_CLK_CONTROLS;
01f50d69 Sriram Periyasamy 2018-01-04   97              /* Remove TLV Header 
size */
01f50d69 Sriram Periyasamy 2018-01-04   98              ipc->mclk.hdr.size = 
sizeof(struct skl_dmactrl_mclk_cfg) -
01f50d69 Sriram Periyasamy 2018-01-04   99                                      
        sizeof(struct skl_tlv_hdr);
01f50d69 Sriram Periyasamy 2018-01-04  100      }
01f50d69 Sriram Periyasamy 2018-01-04  101  }
01f50d69 Sriram Periyasamy 2018-01-04  102  
01f50d69 Sriram Periyasamy 2018-01-04  103  /* Sends dma control IPC to turn 
the clock ON/OFF */
01f50d69 Sriram Periyasamy 2018-01-04  104  static int 
skl_send_clk_dma_control(struct skl *skl,
01f50d69 Sriram Periyasamy 2018-01-04  105                              struct 
skl_clk_rate_cfg_table *rcfg,
01f50d69 Sriram Periyasamy 2018-01-04  106                              u32 
vbus_id, u8 clk_type,
01f50d69 Sriram Periyasamy 2018-01-04  107                              bool 
enable)
01f50d69 Sriram Periyasamy 2018-01-04  108  {
01f50d69 Sriram Periyasamy 2018-01-04  109      struct nhlt_specific_cfg 
*sp_cfg;
01f50d69 Sriram Periyasamy 2018-01-04  110      u32 i2s_config_size, node_id = 
0;
01f50d69 Sriram Periyasamy 2018-01-04  111      struct nhlt_fmt_cfg *fmt_cfg;
01f50d69 Sriram Periyasamy 2018-01-04  112      union skl_clk_ctrl_ipc *ipc;
01f50d69 Sriram Periyasamy 2018-01-04  113      void *i2s_config = NULL;
01f50d69 Sriram Periyasamy 2018-01-04  114      u8 *data, size;
01f50d69 Sriram Periyasamy 2018-01-04  115      int ret;
01f50d69 Sriram Periyasamy 2018-01-04  116  
01f50d69 Sriram Periyasamy 2018-01-04  117      if (!rcfg)
01f50d69 Sriram Periyasamy 2018-01-04  118              return -EIO;
01f50d69 Sriram Periyasamy 2018-01-04  119  
01f50d69 Sriram Periyasamy 2018-01-04  120      ipc = &rcfg->dma_ctl_ipc;
01f50d69 Sriram Periyasamy 2018-01-04  121      fmt_cfg = (struct nhlt_fmt_cfg 
*)rcfg->config;
01f50d69 Sriram Periyasamy 2018-01-04  122      sp_cfg = &fmt_cfg->config;
01f50d69 Sriram Periyasamy 2018-01-04  123  
01f50d69 Sriram Periyasamy 2018-01-04  124      if (clk_type == SKL_SCLK_FS) {
01f50d69 Sriram Periyasamy 2018-01-04  125              ipc->sclk_fs.hdr.type =
01f50d69 Sriram Periyasamy 2018-01-04  126                      enable ? 
DMA_TRANSMITION_START : DMA_TRANSMITION_STOP;
01f50d69 Sriram Periyasamy 2018-01-04  127              data = (u8 
*)&ipc->sclk_fs;
01f50d69 Sriram Periyasamy 2018-01-04  128              size = sizeof(struct 
skl_dmactrl_sclkfs_cfg);
01f50d69 Sriram Periyasamy 2018-01-04  129      } else {
01f50d69 Sriram Periyasamy 2018-01-04  130              /* 1 to enable mclk, 0 
to enable sclk */
01f50d69 Sriram Periyasamy 2018-01-04  131              if (clk_type == 
SKL_SCLK)
01f50d69 Sriram Periyasamy 2018-01-04  132                      ipc->mclk.mclk 
= 0;
01f50d69 Sriram Periyasamy 2018-01-04  133              else
01f50d69 Sriram Periyasamy 2018-01-04  134                      ipc->mclk.mclk 
= 1;
01f50d69 Sriram Periyasamy 2018-01-04  135  
01f50d69 Sriram Periyasamy 2018-01-04  136              ipc->mclk.keep_running 
= enable;
01f50d69 Sriram Periyasamy 2018-01-04  137              ipc->mclk.warm_up_over 
= enable;
01f50d69 Sriram Periyasamy 2018-01-04  138              ipc->mclk.clk_stop_over 
= !enable;
01f50d69 Sriram Periyasamy 2018-01-04  139              data = (u8 *)&ipc->mclk;
01f50d69 Sriram Periyasamy 2018-01-04  140              size = sizeof(struct 
skl_dmactrl_mclk_cfg);
01f50d69 Sriram Periyasamy 2018-01-04  141      }
01f50d69 Sriram Periyasamy 2018-01-04  142  
01f50d69 Sriram Periyasamy 2018-01-04  143      i2s_config_size = sp_cfg->size 
+ size;
01f50d69 Sriram Periyasamy 2018-01-04  144      i2s_config = 
kzalloc(i2s_config_size, GFP_KERNEL);
01f50d69 Sriram Periyasamy 2018-01-04  145      if (!i2s_config)
01f50d69 Sriram Periyasamy 2018-01-04  146              return -ENOMEM;
01f50d69 Sriram Periyasamy 2018-01-04  147  
01f50d69 Sriram Periyasamy 2018-01-04  148      /* copy blob */
01f50d69 Sriram Periyasamy 2018-01-04  149      memcpy(i2s_config, 
sp_cfg->caps, sp_cfg->size);
01f50d69 Sriram Periyasamy 2018-01-04  150  
01f50d69 Sriram Periyasamy 2018-01-04  151      /* copy additional dma controls 
information */
01f50d69 Sriram Periyasamy 2018-01-04  152      memcpy(i2s_config + 
sp_cfg->size, data, size);
01f50d69 Sriram Periyasamy 2018-01-04  153  
01f50d69 Sriram Periyasamy 2018-01-04  154      node_id = 
((SKL_DMA_I2S_LINK_INPUT_CLASS << 8) | (vbus_id << 4));
01f50d69 Sriram Periyasamy 2018-01-04  155      ret = 
skl_dsp_set_dma_control(skl->skl_sst, (u32 *)i2s_config,
01f50d69 Sriram Periyasamy 2018-01-04  156                                      
i2s_config_size, node_id);
01f50d69 Sriram Periyasamy 2018-01-04  157      kfree(i2s_config);
01f50d69 Sriram Periyasamy 2018-01-04  158  
01f50d69 Sriram Periyasamy 2018-01-04  159      return ret;
01f50d69 Sriram Periyasamy 2018-01-04  160  }
01f50d69 Sriram Periyasamy 2018-01-04  161  
01f50d69 Sriram Periyasamy 2018-01-04  162  static struct 
skl_clk_rate_cfg_table *skl_get_rate_cfg(
01f50d69 Sriram Periyasamy 2018-01-04  163              struct 
skl_clk_rate_cfg_table *rcfg,
01f50d69 Sriram Periyasamy 2018-01-04  164                              
unsigned long rate)
01f50d69 Sriram Periyasamy 2018-01-04  165  {
01f50d69 Sriram Periyasamy 2018-01-04  166      int i;
01f50d69 Sriram Periyasamy 2018-01-04  167  
01f50d69 Sriram Periyasamy 2018-01-04  168      for (i = 0; (i < 
SKL_MAX_CLK_RATES) && rcfg[i].rate; i++) {
01f50d69 Sriram Periyasamy 2018-01-04  169              if (rcfg[i].rate == 
rate)
01f50d69 Sriram Periyasamy 2018-01-04  170                      return &rcfg[i];
01f50d69 Sriram Periyasamy 2018-01-04  171      }
01f50d69 Sriram Periyasamy 2018-01-04  172  
01f50d69 Sriram Periyasamy 2018-01-04  173      return NULL;
01f50d69 Sriram Periyasamy 2018-01-04  174  }
01f50d69 Sriram Periyasamy 2018-01-04  175  
01f50d69 Sriram Periyasamy 2018-01-04  176  static int 
skl_clk_change_status(struct skl_clk *clkdev,
01f50d69 Sriram Periyasamy 2018-01-04  177                              bool 
enable)
01f50d69 Sriram Periyasamy 2018-01-04  178  {
01f50d69 Sriram Periyasamy 2018-01-04  179      struct skl_clk_rate_cfg_table 
*rcfg;
01f50d69 Sriram Periyasamy 2018-01-04  180      int vbus_id, clk_type;
01f50d69 Sriram Periyasamy 2018-01-04  181  
01f50d69 Sriram Periyasamy 2018-01-04  182      clk_type = 
skl_get_clk_type(clkdev->id);
01f50d69 Sriram Periyasamy 2018-01-04  183      if (clk_type < 0)
01f50d69 Sriram Periyasamy 2018-01-04  184              return clk_type;
01f50d69 Sriram Periyasamy 2018-01-04  185  
01f50d69 Sriram Periyasamy 2018-01-04  186      vbus_id = 
skl_get_vbus_id(clkdev->id, clk_type);
01f50d69 Sriram Periyasamy 2018-01-04  187      if (vbus_id < 0)
01f50d69 Sriram Periyasamy 2018-01-04  188              return vbus_id;
01f50d69 Sriram Periyasamy 2018-01-04  189  
01f50d69 Sriram Periyasamy 2018-01-04  190      rcfg = 
skl_get_rate_cfg(clkdev->pdata->ssp_clks[clkdev->id].rate_cfg,
01f50d69 Sriram Periyasamy 2018-01-04  191                                      
        clkdev->rate);
01f50d69 Sriram Periyasamy 2018-01-04  192      if (!rcfg)
01f50d69 Sriram Periyasamy 2018-01-04  193              return -EINVAL;
01f50d69 Sriram Periyasamy 2018-01-04  194  
01f50d69 Sriram Periyasamy 2018-01-04  195      return 
skl_send_clk_dma_control(clkdev->pdata->pvt_data, rcfg,
01f50d69 Sriram Periyasamy 2018-01-04  196                                      
vbus_id, clk_type, enable);
01f50d69 Sriram Periyasamy 2018-01-04  197  }
01f50d69 Sriram Periyasamy 2018-01-04  198  
01f50d69 Sriram Periyasamy 2018-01-04  199  static int skl_clk_prepare(struct 
clk_hw *hw)
01f50d69 Sriram Periyasamy 2018-01-04  200  {
01f50d69 Sriram Periyasamy 2018-01-04 @201      struct skl_clk *clkdev = 
to_skl_clk(hw);
01f50d69 Sriram Periyasamy 2018-01-04  202  
01f50d69 Sriram Periyasamy 2018-01-04  203      return 
skl_clk_change_status(clkdev, true);
01f50d69 Sriram Periyasamy 2018-01-04  204  }
01f50d69 Sriram Periyasamy 2018-01-04  205  

:::::: The code at line 18 was first introduced by commit
:::::: 01f50d69bebe1bb0b30bba1eba3cdaf1f02dd7c4 ASoC: Intel: Skylake: Add ssp 
clock driver

:::::: TO: Sriram Periyasamy <sriramx.periyas...@intel.com>
:::::: CC: Mark Brown <broo...@kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to