Find the answer to your Linux question:
Results 1 to 4 of 4
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1



    I'm trying to build a sound card driver for my project, but when I build the driver the build process fails with the error:

    /home/user/Drivers/MircoGrabber/Linux/audio/grabber-audio.c:96:9: error: implicit declaration of function 'snd_pcm_substream_sgbuf' [-Werror=implicit-function-declaration]
    I have found that snd_pcm_substream_sgbuf is located in \linux3.0.35\include\sound\pcm.h

    There is above a define:
    My question is: where in the kernel build menu do I enable CONFIG_SND_DMA_SGBUF? I'm assuming that some where there is another dependancy that I've not yet found?

    The processor I'm using is an i.MX6

    Kind regards

    Last edited by AJEllisuk; 04-16-2013 at 01:29 PM.

  2. #2
    I think you are missing some header file.

  3. #3
    In the file where you issue your call to snd_pcm_substream_sgbuf(), add #define CONFIG_SND_DMA_SGBUF and #include (\linux3.0.35\include\sound\)pcm.h - I've put brackets because you may or may not get the automatic lookup to the right directory unless you are using a -I option for your compile.

    It's nothing to do with the kernel, only your driver module.

  4. $spacer_open
  5. #4
    Thank you for the advice.

    I did try the change as suggested, but when I tried to install the driver I got the error:

    snd_ampgrabber: Unknown symbol snd_pcm_sgbuf_ops_page (err 0)
    After looking through the kernel souce tree, I looked in the following:


    I found that the item I was looking for is x86 only ie:

    config SND_DMA_SGBUF
    	def_bool y
    	depends on X86
    I'm using an ARM system so I'm going to have to find another solution.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts