diff mbox

ARM: i.MX: Compile FIQ code for AVIC & TZIC only

Message ID 20140602113327.2568c198@ipc1.ka-ro
State New
Headers show

Commit Message

Lothar Waßmann June 2, 2014, 9:33 a.m. UTC
Hi,

Alexander Shiyan wrote:
> There are no reason to compile FIQ specific code for GIC IRQ
> controller (i.MX6). This patch restrict compilation for FIQ
> specific code for AVIC and TZIC only.
> 
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> ---
>  arch/arm/mach-imx/Makefile | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index bbe93bb..620a760 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -1,4 +1,4 @@
> -obj-y := time.o cpu.o system.o irq-common.o
> +obj-y := time.o cpu.o system.o
>  
>  obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
>  obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
>  obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
>  obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
>  
> -obj-$(CONFIG_MXC_TZIC) += tzic.o
> -obj-$(CONFIG_MXC_AVIC) += avic.o
> +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
>  
>  obj-$(CONFIG_MXC_USE_EPIT) += epit.o
>  obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
>
This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
sound/built-in.o: In function `imx_pcm_fiq_free':
last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
sound/built-in.o: In function `imx_pcm_fiq_init':
last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
make[1]: *** [vmlinux] Error 1
make: *** [sub-make] Error 2

This could be fixed with the following patch:



Lothar Waßmann

Comments

Alexander Shiyan June 2, 2014, 9:42 a.m. UTC | #1
Mon, 2 Jun 2014 11:33:27 +0200 от Lothar Waßmann <LW@KARO-electronics.de>:
> Hi,
> 
> Alexander Shiyan wrote:
> > There are no reason to compile FIQ specific code for GIC IRQ
> > controller (i.MX6). This patch restrict compilation for FIQ
> > specific code for AVIC and TZIC only.
> > 
> > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > ---
> >  arch/arm/mach-imx/Makefile | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > index bbe93bb..620a760 100644
> > --- a/arch/arm/mach-imx/Makefile
> > +++ b/arch/arm/mach-imx/Makefile
> > @@ -1,4 +1,4 @@
> > -obj-y := time.o cpu.o system.o irq-common.o
> > +obj-y := time.o cpu.o system.o
> >  
> >  obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> >  obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> >  obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> >  obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> >  
> > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> >  
> >  obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> >  obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> >
> This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> sound/built-in.o: In function `imx_pcm_fiq_free':
> last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> sound/built-in.o: In function `imx_pcm_fiq_init':
> last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> make[1]: *** [vmlinux] Error 1
> make: *** [sub-make] Error 2
> 
> This could be fixed with the following patch:
> --- mxc-fiq.orig/sound/soc/fsl/Kconfig  2014-06-02 11:25:38.315960451 +0200
> +++ mxc-fiq/sound/soc/fsl/Kconfig       2014-06-02 11:25:38.411960595 +0200
> @@ -15,7 +15,7 @@
>  config SND_SOC_FSL_SSI
> 	tristate "Synchronous Serial Interface module support"
> 	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> -	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> +	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
...

No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.

---
Lothar Waßmann June 2, 2014, 10:10 a.m. UTC | #2
Hi,

Alexander Shiyan wrote:
> Mon, 2 Jun 2014 11:33:27 +0200 от Lothar Waßmann <LW@KARO-electronics.de>:
> > Hi,
> > 
> > Alexander Shiyan wrote:
> > > There are no reason to compile FIQ specific code for GIC IRQ
> > > controller (i.MX6). This patch restrict compilation for FIQ
> > > specific code for AVIC and TZIC only.
> > > 
> > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > ---
> > >  arch/arm/mach-imx/Makefile | 6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > > index bbe93bb..620a760 100644
> > > --- a/arch/arm/mach-imx/Makefile
> > > +++ b/arch/arm/mach-imx/Makefile
> > > @@ -1,4 +1,4 @@
> > > -obj-y := time.o cpu.o system.o irq-common.o
> > > +obj-y := time.o cpu.o system.o
> > >  
> > >  obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> > >  obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> > >  obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> > >  obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> > >  
> > > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> > >  
> > >  obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> > >  obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> > >
> > This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> > sound/built-in.o: In function `imx_pcm_fiq_free':
> > last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> > sound/built-in.o: In function `imx_pcm_fiq_init':
> > last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> > last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> > make[1]: *** [vmlinux] Error 1
> > make: *** [sub-make] Error 2
> > 
> > This could be fixed with the following patch:
> > --- mxc-fiq.orig/sound/soc/fsl/Kconfig  2014-06-02 11:25:38.315960451 +0200
> > +++ mxc-fiq/sound/soc/fsl/Kconfig       2014-06-02 11:25:38.411960595 +0200
> > @@ -15,7 +15,7 @@
> >  config SND_SOC_FSL_SSI
> > 	tristate "Synchronous Serial Interface module support"
> > 	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> > -	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> > +	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
> ...
> 
> No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.
> 
Why and how?
MXC_AVIC or MXC_TZIC are just more specific than ARCH_MXC and will be
set only on ARCH_MXC when there is either a TZIC or AVIC controller
selected.
The PPC driver won't have ARCH_MXC defined anyway. Thus there will be
no change for that one

I've successfully build the driver on i.MX6.


Lothar Waßmann
Shawn Guo June 3, 2014, 7:37 a.m. UTC | #3
On Mon, Jun 02, 2014 at 01:42:43PM +0400, Alexander Shiyan wrote:
> Mon, 2 Jun 2014 11:33:27 +0200 от Lothar Waßmann <LW@KARO-electronics.de>:
> > Hi,
> > 
> > Alexander Shiyan wrote:
> > > There are no reason to compile FIQ specific code for GIC IRQ
> > > controller (i.MX6). This patch restrict compilation for FIQ
> > > specific code for AVIC and TZIC only.
> > > 
> > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > ---
> > >  arch/arm/mach-imx/Makefile | 6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > > index bbe93bb..620a760 100644
> > > --- a/arch/arm/mach-imx/Makefile
> > > +++ b/arch/arm/mach-imx/Makefile
> > > @@ -1,4 +1,4 @@
> > > -obj-y := time.o cpu.o system.o irq-common.o
> > > +obj-y := time.o cpu.o system.o
> > >  
> > >  obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> > >  obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> > >  obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> > >  obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> > >  
> > > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> > >  
> > >  obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> > >  obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> > >
> > This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> > sound/built-in.o: In function `imx_pcm_fiq_free':
> > last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> > sound/built-in.o: In function `imx_pcm_fiq_init':
> > last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> > last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> > make[1]: *** [vmlinux] Error 1
> > make: *** [sub-make] Error 2
> > 
> > This could be fixed with the following patch:
> > --- mxc-fiq.orig/sound/soc/fsl/Kconfig  2014-06-02 11:25:38.315960451 +0200
> > +++ mxc-fiq/sound/soc/fsl/Kconfig       2014-06-02 11:25:38.411960595 +0200
> > @@ -15,7 +15,7 @@
> >  config SND_SOC_FSL_SSI
> > 	tristate "Synchronous Serial Interface module support"
> > 	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> > -	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> > +	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
> ...
> 
> No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.

Ok, patch dropped for now.

Shawn
diff mbox

Patch

--- mxc-fiq.orig/sound/soc/fsl/Kconfig  2014-06-02 11:25:38.315960451 +0200
+++ mxc-fiq/sound/soc/fsl/Kconfig       2014-06-02 11:25:38.411960595 +0200
@@ -15,7 +15,7 @@ 
 config SND_SOC_FSL_SSI
	tristate "Synchronous Serial Interface module support"
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
-	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
+	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
	help
	  Say Y if you want to add Synchronous Serial Interface (SSI)
	  support for the Freescale CPUs.