From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933463AbcFMHlW (ORCPT ); Mon, 13 Jun 2016 03:41:22 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:36849 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932165AbcFMHlU (ORCPT ); Mon, 13 Jun 2016 03:41:20 -0400 Date: Mon, 13 Jun 2016 08:41:12 +0100 From: Sudip Mukherjee To: Andrew Morton , linux-kernel@vger.kernel.org, Simran Rai , Christoph Hellwig Cc: Mark Brown Subject: Re: [PATCH] dma: remove bad_dma_ops to fix build fail Message-ID: <20160613074112.GA2031@sudip-tp> References: <1465763104-6227-1-git-send-email-sudipm.mukherjee@gmail.com> <20160612213224.fcjalhwmjqwpjhui@rhwork> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160612213224.fcjalhwmjqwpjhui@rhwork> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jun 12, 2016 at 02:32:24PM -0700, Jerry Snitselaar wrote: > On Sun Jun 12 16, Sudip Mukherjee wrote: > >m32r allmodconfig is failng with errors like: > >ERROR: "bad_dma_ops" [sound/soc/bcm/snd-soc-cygnus.ko] undefined! > > > >On checking the code it turns out that struct bad_dma_ops has been > >declared as extern but no one has actually defined struct bad_dma_ops. > >Lets remove that and return NULL from get_dma_ops() if HAS_DMA is not > >defined. > > > >Signed-off-by: Sudip Mukherjee > >--- > > > > Ccing Christoph since his commit introduced bad_dma_ops, and Simran > who wrote that cygnus code. > > I'm thinking that is there to complain loudly when someone is trying > to use dma without HAS_DMA, correct Christoph? > > cygnus_pcm_preallocate_dma_buffer() is calling dma_alloc_coherent(), > which ends up in a call to get_dma_ops() and tripping over the above. > > Possibly this instead: > > diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig > index d528aac..edf3671 100644 > --- a/sound/soc/bcm/Kconfig > +++ b/sound/soc/bcm/Kconfig > @@ -11,6 +11,7 @@ config SND_BCM2835_SOC_I2S > config SND_SOC_CYGNUS > tristate "SoC platform audio for Broadcom Cygnus chips" > depends on ARCH_BCM_CYGNUS || COMPILE_TEST > + depends on HAS_DMA > help > Say Y if you want to add support for ASoC audio on Broadcom > Cygnus chips (bcm958300, bcm958305, bcm911360) well, I have been doing the exact same thing for all the drivers that was failing to build but in my last patch Mark suggested to have stub implementation in the arch [1]. So while looking for that I noticed bad_dma_ops is not defined by anyone. So what will you suggest? addind Cc to Mark Brown also. [1] http://www.spinics.net/lists/alsa-devel/msg50931.html regards sudip