Message ID | 0b2a01cd7561$333e97b0$99bbc710$%kim@samsung.com |
---|---|
State | New |
Headers | show |
Kukjin Kim wrote: > > Kukjin Kim wrote: > > > > Sachin Kamat wrote: > > > > > > On 8 August 2012 17:08, Kukjin Kim <kgene.kim@samsung.com> wrote: > > > > Sachin Kamat wrote: > > > >> > > > >> Hi Mark, > > > >> > > > >> On 8 August 2012 16:39, Mark Brown > > > <broonie@opensource.wolfsonmicro.com> > > > >> wrote: > > > >> > On Wed, Aug 08, 2012 at 11:34:43AM +0530, Sachin Kamat wrote: > > > >> >> Fixes the following build error: > > > >> >> In file included from > arch/arm/mach-exynos/include/mach/dma.h:24:0, > > > >> >> from > arch/arm/plat-samsung/include/plat/dma-ops.h:17, > > > >> >> from arch/arm/plat-samsung/include/plat/dma.h:128, > > > >> >> from sound/soc/samsung/pcm.c:23: > > > >> >> arch/arm/plat-samsung/include/plat/dma-pl330.h:106:8: > > > >> >> error: redefinition of 'struct > > > > s3c2410_dma_client' > > > >> >> arch/arm/plat-samsung/include/plat/dma.h:40:8: note: originally > > > defined > > > >> here > > > >> >> make[3]: *** [sound/soc/samsung/pcm.o] Error 1 > > > >> > > > > >> > Shouldn't this be being fixed in the headers? It looks like they > > > >> > reference and disagree with each other on Exynos (my primary > > > development > > > >> > platform is S3C6410 based so I'd notice if it was a generic > Samsung > > > >> > issue. > > > >> > > > > >> > Pasting the error message isn't really that useful unless the fix > > is > > > >> > obvious, it's better to explain in words what's wrong. > > > >> > > > >> I had sent the initial patch trying to fix this in the headers and > it > > > >> worked for exynos4 config. However Kukjin pointed out that the > patch > > > >> created similar errors with 2410 and 6400 configs. Fixing it > further > > > >> in the headers did not look quite straight forward as there are > many > > > >> headers trying to include one another. Hence I felt it is better > > > >> handled in the current way. I understand i should have added this > > > >> information in the commit message. Below is the link for your > > > >> reference that provides the complete discussion. > > > >> > > > >> http://comments.gmane.org/gmane.linux.kernel.samsung-soc/11274 > > > >> > > > >> Please let me know your opinion about this. > > > >> > > > >> > > > > I also agree with Mark's opinion and current Sachin's approach > cannot > > > avoid > > > > whole similar build error. > > > > > > With the current change I did not see any build error with the configs > > > (2410, 6400, 64x0 and exyno4) i checked with (after enabling audio). > > > Please let me know if you observed any such build error after adding > > > this patch. > > > > > > > > > > Happens following error with s5pv210_defcofnig (after enabling s5p-sss). > > > > In file included from arch/arm/mach-s5pv210/include/mach/dma.h:24, > > from arch/arm/plat-samsung/include/plat/dma-ops.h:17, > > from arch/arm/plat-samsung/include/plat/dma.h:128, > > from drivers/crypto/s5p-sss.c:33: > > arch/arm/plat-samsung/include/plat/dma-pl330.h:106: error: redefinition > of > > 'struct s3c2410_dma_client' > > make[2]: *** [drivers/crypto/s5p-sss.o] Error 1 > > make[1]: *** [drivers/crypto] Error 2 > > make[1]: *** Waiting for unfinished jobs.... > > make: *** [drivers] Error 2 > > make: *** Waiting for unfinished jobs.... > > > > Actually, <mach/dma.h> is including <plat/dma-pl330.h> for s5p64x0, > > s5pc100, s5pv210 and exynos or <plat/dma.h> for s3c24xx and s3c64xx. And > > the cause of build error you reported is duplicated declaration of > > s3c2410_dma_client. So it can happen when <plat/dma-pl330.h> and > > <plat/dma.h> are included together at the same time... > > > Of course, following can fix above build error similarly... > > --- > diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c > index bc986f8..6a3e98e 100644 > --- a/drivers/crypto/s5p-sss.c > +++ b/drivers/crypto/s5p-sss.c > @@ -30,7 +30,7 @@ > #include <crypto/ctr.h> > > #include <plat/cpu.h> > -#include <plat/dma.h> > +#include <mach/dma.h> > > #define _SBF(s, v) ((v) << (s)) > #define _BIT(b) _SBF(b, 1) > --- > > Hmm...I need to sort this out... > Mark, I think, Sachin's "[PATCH] ASoC: Samsung: Fix build error" can be a solution to fix build error because current structure of Samsung DMA is not simple to fix the problem and support s3c24xx-dma, pl080 and pl330 together. So only <mach/dma.h> should be included in driver not <plat/dma.h> for Samsung DMA now. However I know, Boojin Kim (Cc'ed) will clean up the headers for DMA. So if you agree, please pick this up into your tree with my ack. Acked-by: Kukjin Kim <kgene.kim@samsung.com> Note, if this is ok to you, I will post above fix (drivers/crypto/s5p-sss.c) to crypto mailing list too. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.
diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c index bc986f8..6a3e98e 100644 --- a/drivers/crypto/s5p-sss.c +++ b/drivers/crypto/s5p-sss.c @@ -30,7 +30,7 @@ #include <crypto/ctr.h> #include <plat/cpu.h> -#include <plat/dma.h> +#include <mach/dma.h> #define _SBF(s, v) ((v) << (s)) #define _BIT(b) _SBF(b, 1)