[Sound-open-firmware] FW: [sof-driver-review:topic/sof-upstream 39/98] sound/soc/sof/sof-priv.h:243:33: error: field 'plat_drv' has incomplete type

Lin, Mengdong mengdong.lin at intel.com
Mon Jun 4 10:31:31 CEST 2018



-----Original Message-----
From: lkp 
Sent: Monday, June 4, 2018 4:28 AM
To: Liam Girdwood <liam.r.girdwood at linux.intel.com>
Cc: kbuild-all at 01.org; Wang, Jia W <jia.w.wang at intel.com>; Zhang, Keqiao <keqiao.zhang at intel.com>; Lin, Mengdong <mengdong.lin at intel.com>; Li, Jocelyn <jocelyn.li at intel.com>
Subject: [sof-driver-review:topic/sof-upstream 39/98] sound/soc/sof/sof-priv.h:243:33: error: field 'plat_drv' has incomplete type

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc.git topic/sof-upstream
head:   297c56845645fc3b2a94862be301d6e33e81d9e8
commit: 4dca93f5145f0c6172f81cd7e17e513b5cb63af4 [39/98] ASoC: SOF: Add Build support for SOF core and Intel drivers
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        git checkout 4dca93f5145f0c6172f81cd7e17e513b5cb63af4
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: the sof-driver-review/topic/sof-upstream HEAD 297c56845645fc3b2a94862be301d6e33e81d9e8 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   In file included from sound/soc/sof/core.c:19:0:
>> sound/soc/sof/sof-priv.h:243:33: error: field 'plat_drv' has 
>> incomplete type
     struct snd_soc_platform_driver plat_drv;
                                    ^~~~~~~~
   sound/soc/sof/core.c: In function 'sof_probe':
   sound/soc/sof/core.c:317:8: error: implicit declaration of function 'snd_soc_register_platform'; did you mean 'snd_soc_register_card'? [-Werror=implicit-function-declaration]
     ret = snd_soc_register_platform(&pdev->dev, &sdev->plat_drv);
           ^~~~~~~~~~~~~~~~~~~~~~~~~
           snd_soc_register_card
   sound/soc/sof/core.c: In function 'sof_remove':
   sound/soc/sof/core.c:360:2: error: implicit declaration of function 'snd_soc_unregister_platform'; did you mean 'snd_soc_unregister_card'? [-Werror=implicit-function-declaration]
     snd_soc_unregister_platform(&pdev->dev);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
     snd_soc_unregister_card
   cc1: some warnings being treated as errors
--
   In file included from sound/soc/sof/ops.h:19:0,
                    from sound/soc/sof/ops.c:18:
>> sound/soc/sof/sof-priv.h:243:33: error: field 'plat_drv' has 
>> incomplete type
     struct snd_soc_platform_driver plat_drv;
                                    ^~~~~~~~
--
   In file included from sound/soc/sof/pcm.c:27:0:
>> sound/soc/sof/sof-priv.h:243:33: error: field 'plat_drv' has 
>> incomplete type
     struct snd_soc_platform_driver plat_drv;
                                    ^~~~~~~~
   sound/soc/sof/pcm.c: In function 'create_page_table':
   sound/soc/sof/pcm.c:35:3: error: implicit declaration of function 'snd_soc_platform_get_drvdata'; did you mean 'snd_soc_card_get_drvdata'? [-Werror=implicit-function-declaration]
      snd_soc_platform_get_drvdata(rtd->platform);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      snd_soc_card_get_drvdata
>> sound/soc/sof/pcm.c:35:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_hw_params':
   sound/soc/sof/pcm.c:51:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_hw_free':
   sound/soc/sof/pcm.c:167:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_trigger':
   sound/soc/sof/pcm.c:196:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_pointer':
   sound/soc/sof/pcm.c:249:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_open':
   sound/soc/sof/pcm.c:274:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_close':
   sound/soc/sof/pcm.c:343:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_new':
   sound/soc/sof/pcm.c:378:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_free':
   sound/soc/sof/pcm.c:470:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: In function 'sof_pcm_dai_link_fixup':
   sound/soc/sof/pcm.c:497:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/pcm.c: At top level:
   sound/soc/sof/pcm.c:563:33: warning: 'struct snd_soc_platform' declared inside parameter list will not be visible outside of this definition or declaration
    static int sof_pcm_probe(struct snd_soc_platform *platform)
                                    ^~~~~~~~~~~~~~~~
   sound/soc/sof/pcm.c: In function 'sof_pcm_probe':
   sound/soc/sof/pcm.c:566:3: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
      snd_soc_platform_get_drvdata(platform);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/sof/pcm.c:567:61: error: dereferencing pointer to incomplete type 'struct snd_soc_platform'
     struct snd_sof_pdata *plat_data = dev_get_platdata(platform->dev);
                                                                ^~
   sound/soc/sof/pcm.c: At top level:
   sound/soc/sof/pcm.c:591:34: warning: 'struct snd_soc_platform' declared inside parameter list will not be visible outside of this definition or declaration
    static int sof_pcm_remove(struct snd_soc_platform *platform)
                                     ^~~~~~~~~~~~~~~~
   sound/soc/sof/pcm.c: In function 'sof_pcm_remove':
   sound/soc/sof/pcm.c:593:29: error: dereferencing pointer to incomplete type 'struct snd_soc_platform'
     pm_runtime_disable(platform->dev);
                                ^~
   sound/soc/sof/pcm.c: In function 'snd_sof_new_platform_drv':
>> sound/soc/sof/pcm.c:606:4: error: dereferencing pointer to incomplete type 'struct snd_soc_platform_driver'
     pd->probe = sof_pcm_probe;
       ^~
   cc1: some warnings being treated as errors
--
   In file included from sound/soc/sof/compressed.c:21:0:
>> sound/soc/sof/sof-priv.h:243:33: error: field 'plat_drv' has 
>> incomplete type
     struct snd_soc_platform_driver plat_drv;
                                    ^~~~~~~~
   sound/soc/sof/compressed.c: In function 'sof_compressed_open':
   sound/soc/sof/compressed.c:27:3: error: implicit declaration of function 'snd_soc_platform_get_drvdata'; did you mean 'snd_soc_card_get_drvdata'? [-Werror=implicit-function-declaration]
      snd_soc_platform_get_drvdata(rtd->platform);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      snd_soc_card_get_drvdata
>> sound/soc/sof/compressed.c:27:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/compressed.c: In function 'sof_compressed_free':
   sound/soc/sof/compressed.c:40:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/compressed.c: In function 'sof_compressed_set_params':
   sound/soc/sof/compressed.c:66:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/compressed.c: In function 'sof_compressed_trigger':
   sound/soc/sof/compressed.c:84:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   sound/soc/sof/compressed.c: In function 'sof_compressed_pointer':
   sound/soc/sof/compressed.c:122:35: error: 'struct snd_soc_pcm_runtime' has no member named 'platform'
      snd_soc_platform_get_drvdata(rtd->platform);
                                      ^~
   cc1: some warnings being treated as errors

vim +/plat_drv +243 sound/soc/sof/sof-priv.h

89dc687d Liam Girdwood 2018-01-08  231 89dc687d Liam Girdwood 2018-01-08  232  /*
89dc687d Liam Girdwood 2018-01-08  233   * SOF Device Level.
89dc687d Liam Girdwood 2018-01-08  234   */
89dc687d Liam Girdwood 2018-01-08  235  struct snd_sof_dev {
89dc687d Liam Girdwood 2018-01-08  236  	struct device *dev;
89dc687d Liam Girdwood 2018-01-08  237  	struct device *parent;
89dc687d Liam Girdwood 2018-01-08  238  	spinlock_t ipc_lock;	/* lock for IPC users */
89dc687d Liam Girdwood 2018-01-08  239  	spinlock_t hw_lock;	/* lock for HW IO access */
89dc687d Liam Girdwood 2018-01-08  240  	struct pci_dev *pci;
89dc687d Liam Girdwood 2018-01-08  241  
89dc687d Liam Girdwood 2018-01-08  242  	/* ASoC components */
89dc687d Liam Girdwood 2018-01-08 @243  	struct snd_soc_platform_driver plat_drv;
89dc687d Liam Girdwood 2018-01-08  244  	const struct snd_soc_component_driver *cmpnt_drv;
89dc687d Liam Girdwood 2018-01-08  245  	struct snd_soc_dai_driver dai_drv;
89dc687d Liam Girdwood 2018-01-08  246  	int num_dai;
89dc687d Liam Girdwood 2018-01-08  247  
89dc687d Liam Girdwood 2018-01-08  248  	/* DSP firmware boot */
89dc687d Liam Girdwood 2018-01-08  249  	wait_queue_head_t boot_wait;
89dc687d Liam Girdwood 2018-01-08  250  	bool boot_complete;
89dc687d Liam Girdwood 2018-01-08  251  
89dc687d Liam Girdwood 2018-01-08  252  	/* DSP HW differentiation */
89dc687d Liam Girdwood 2018-01-08  253  	struct snd_sof_pdata *pdata;
89dc687d Liam Girdwood 2018-01-08  254  	const struct snd_sof_dsp_ops *ops;
89dc687d Liam Girdwood 2018-01-08  255  	struct sof_intel_hda_dev *hda;	/* for HDA based DSP HW */
89dc687d Liam Girdwood 2018-01-08  256  
89dc687d Liam Girdwood 2018-01-08  257  	/* IPC */
89dc687d Liam Girdwood 2018-01-08  258  	struct snd_sof_ipc *ipc;
89dc687d Liam Girdwood 2018-01-08  259  	struct snd_sof_mailbox dsp_box;		/* DSP initiated IPC */
89dc687d Liam Girdwood 2018-01-08  260  	struct snd_sof_mailbox host_box;	/* Host initiated IPC */
89dc687d Liam Girdwood 2018-01-08  261  	struct snd_sof_mailbox stream_box;	/* Stream position update */
89dc687d Liam Girdwood 2018-01-08  262  	u64 irq_status;
89dc687d Liam Girdwood 2018-01-08  263  	int ipc_irq;
89dc687d Liam Girdwood 2018-01-08  264  	u32 next_comp_id; /* monotonic - reset during S3 */
89dc687d Liam Girdwood 2018-01-08  265  
89dc687d Liam Girdwood 2018-01-08  266  	/* memory bases for mmaped DSPs - set by dsp_init() */
89dc687d Liam Girdwood 2018-01-08  267  	void __iomem *bar[SND_SOF_BARS];	/* DSP base address */
89dc687d Liam Girdwood 2018-01-08  268  	int mmio_bar;
89dc687d Liam Girdwood 2018-01-08  269  	int mailbox_bar;
89dc687d Liam Girdwood 2018-01-08  270  	size_t dsp_oops_offset;
89dc687d Liam Girdwood 2018-01-08  271  
89dc687d Liam Girdwood 2018-01-08  272  	/* debug */
89dc687d Liam Girdwood 2018-01-08  273  	struct dentry *debugfs_root;
89dc687d Liam Girdwood 2018-01-08  274  
89dc687d Liam Girdwood 2018-01-08  275  	/* firmware loader */
89dc687d Liam Girdwood 2018-01-08  276  	int cl_bar;
89dc687d Liam Girdwood 2018-01-08  277  	struct snd_dma_buffer dmab;
89dc687d Liam Girdwood 2018-01-08  278  	struct sof_ipc_fw_ready fw_ready;
89dc687d Liam Girdwood 2018-01-08  279  
89dc687d Liam Girdwood 2018-01-08  280  	/* topology */
89dc687d Liam Girdwood 2018-01-08  281  	struct snd_soc_tplg_ops *tplg_ops;
89dc687d Liam Girdwood 2018-01-08  282  	struct list_head pcm_list;
89dc687d Liam Girdwood 2018-01-08  283  	struct list_head kcontrol_list;
89dc687d Liam Girdwood 2018-01-08  284  	struct list_head widget_list;
89dc687d Liam Girdwood 2018-01-08  285  	struct list_head dai_list;
89dc687d Liam Girdwood 2018-01-08  286  	struct snd_soc_component *component;
89dc687d Liam Girdwood 2018-01-08  287  
89dc687d Liam Girdwood 2018-01-08  288  	/* FW configuration */
89dc687d Liam Girdwood 2018-01-08  289  	struct sof_ipc_dma_buffer_data *info_buffer;
89dc687d Liam Girdwood 2018-01-08  290  	struct sof_ipc_window *info_window;
89dc687d Liam Girdwood 2018-01-08  291  
89dc687d Liam Girdwood 2018-01-08  292  	/* IPC timeouts in ms */
89dc687d Liam Girdwood 2018-01-08  293  	int ipc_timeout;
89dc687d Liam Girdwood 2018-01-08  294  	int boot_timeout;
89dc687d Liam Girdwood 2018-01-08  295  
89dc687d Liam Girdwood 2018-01-08  296  	/* Wait queue for code loading */
89dc687d Liam Girdwood 2018-01-08  297  	wait_queue_head_t waitq;
89dc687d Liam Girdwood 2018-01-08  298  	int code_loading;
89dc687d Liam Girdwood 2018-01-08  299  
89dc687d Liam Girdwood 2018-01-08  300  	/* DMA for Trace */
89dc687d Liam Girdwood 2018-01-08  301  	struct snd_dma_buffer dmatb;
89dc687d Liam Girdwood 2018-01-08  302  	struct snd_dma_buffer dmatp;
89dc687d Liam Girdwood 2018-01-08  303  	int dma_trace_pages;
89dc687d Liam Girdwood 2018-01-08  304  	wait_queue_head_t trace_sleep;
89dc687d Liam Girdwood 2018-01-08  305  	u32 host_offset;
89dc687d Liam Girdwood 2018-01-08  306  	bool dtrace_is_enabled;
89dc687d Liam Girdwood 2018-01-08  307  
89dc687d Liam Girdwood 2018-01-08  308  	void *private;			/* core does not touch this */
89dc687d Liam Girdwood 2018-01-08  309  }; 89dc687d Liam Girdwood 2018-01-08  310  

:::::: The code at line 243 was first introduced by commit
:::::: 89dc687dcbafe82d1b8f2d4753b6c0a82e620dfc ASoC: SOF: Add Sound Open Firmware driver core

:::::: TO: Liam Girdwood <liam.r.girdwood at linux.intel.com>
:::::: CC: Liam Girdwood <liam.r.girdwood at linux.intel.com>

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


More information about the Sound-open-firmware mailing list