Patchwork [PATCHv6,3/7] ARM: imx{25, 27} DT: Permit the selection of the imxfb framebuffer driver.

login
register
mail settings
Submitter Denis Carikli
Date Oct. 24, 2013, 8:01 a.m.
Message ID <1382601665-6830-3-git-send-email-denis@eukrea.com>
Download mbox | patch
Permalink /patch/285812/
State New
Headers show

Comments

Denis Carikli - Oct. 24, 2013, 8:01 a.m.
Without that patch, a user can't select the imxfb driver when the i.MX25 and/or
  the i.MX27 device tree board are selected and that no boards that selects
  IMX_HAVE_PLATFORM_IMX_FB are compiled in.

Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Eric Bénard <eric@eukrea.com>

Signed-off-by: Denis Carikli <denis@eukrea.com>
---
ChangeLog v5->v6:
- Reworked the patch not to make DT boards depend on IMX_HAVE_PLATFORM_IMX_FB. 
- Added better explanations of why that patch is needed in the commit message.
---
 arch/arm/mach-imx/Kconfig         |    5 +++++
 arch/arm/mach-imx/devices/Kconfig |    1 +
 drivers/video/Kconfig             |    2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)
Shawn Guo - Oct. 24, 2013, 8:15 a.m.
On Thu, Oct 24, 2013 at 10:01:01AM +0200, Denis Carikli wrote:
> Without that patch, a user can't select the imxfb driver when the i.MX25 and/or
>   the i.MX27 device tree board are selected and that no boards that selects
>   IMX_HAVE_PLATFORM_IMX_FB are compiled in.
> 
> Cc: Rob Herring <rob.herring@calxeda.com>
> Cc: Pawel Moll <pawel.moll@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
> Cc: devicetree@vger.kernel.org
> Cc: Sascha Hauer <kernel@pengutronix.de>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Eric Bénard <eric@eukrea.com>
> 
> Signed-off-by: Denis Carikli <denis@eukrea.com>
> ---
> ChangeLog v5->v6:
> - Reworked the patch not to make DT boards depend on IMX_HAVE_PLATFORM_IMX_FB. 
> - Added better explanations of why that patch is needed in the commit message.
> ---
>  arch/arm/mach-imx/Kconfig         |    5 +++++
>  arch/arm/mach-imx/devices/Kconfig |    1 +
>  drivers/video/Kconfig             |    2 +-
>  3 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
> index 9f67338..3ccb5d5 100644
> --- a/arch/arm/mach-imx/Kconfig
> +++ b/arch/arm/mach-imx/Kconfig
> @@ -64,6 +64,9 @@ config ARCH_HAS_RNGA
>  config HAVE_IMX_ANATOP
>  	bool
>  
> +config HAVE_IMX_FB
> +       bool
> +
>  config HAVE_IMX_GPC
>  	bool
>  
> @@ -254,6 +257,7 @@ endchoice
>  config MACH_IMX25_DT
>  	bool "Support i.MX25 platforms from device tree"
>  	select SOC_IMX25
> +	select HAVE_IMX_FB
>  	help
>  	  Include support for Freescale i.MX25 based platforms
>  	  using the device tree for discovery
> @@ -442,6 +446,7 @@ config MACH_IMX27IPCAM
>  config MACH_IMX27_DT
>  	bool "Support i.MX27 platforms from device tree"
>  	select SOC_IMX27
> +	select HAVE_IMX_FB
>  	help
>  	  Include support for Freescale i.MX27 based platforms
>  	  using the device tree for discovery
> diff --git a/arch/arm/mach-imx/devices/Kconfig b/arch/arm/mach-imx/devices/Kconfig
> index 68c74fb..a7af9f4 100644
> --- a/arch/arm/mach-imx/devices/Kconfig
> +++ b/arch/arm/mach-imx/devices/Kconfig
> @@ -26,6 +26,7 @@ config IMX_HAVE_PLATFORM_IMXDI_RTC
>  	bool
>  
>  config IMX_HAVE_PLATFORM_IMX_FB
> +	select HAVE_IMX_FB
>  	bool
>  
>  config IMX_HAVE_PLATFORM_IMX_I2C
> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> index 14317b7..a97529f 100644
> --- a/drivers/video/Kconfig
> +++ b/drivers/video/Kconfig
> @@ -363,7 +363,7 @@ config FB_SA1100
>  
>  config FB_IMX
>  	tristate "Freescale i.MX1/21/25/27 LCD support"
> -	depends on FB && IMX_HAVE_PLATFORM_IMX_FB
> +	depends on FB && HAVE_IMX_FB

Or simply have it depend on ARCH_MXC?

	depends on FB && ARCH_MXC

Shawn

>  	select FB_CFB_FILLRECT
>  	select FB_CFB_COPYAREA
>  	select FB_CFB_IMAGEBLIT
> -- 
> 1.7.9.5
>
Eric Benard - Oct. 24, 2013, 8:20 a.m.
Hi Shawn,

Le Thu, 24 Oct 2013 16:15:34 +0800,
Shawn Guo <shawn.guo@linaro.org> a écrit :
> >  config FB_IMX
> >  	tristate "Freescale i.MX1/21/25/27 LCD support"
> > -	depends on FB && IMX_HAVE_PLATFORM_IMX_FB
> > +	depends on FB && HAVE_IMX_FB
> 
> Or simply have it depend on ARCH_MXC?
> 
> 	depends on FB && ARCH_MXC
> 
but not all MXC have IMX_FB : isn't that a problem ?

Eric
Shawn Guo - Oct. 24, 2013, 8:31 a.m.
On Thu, Oct 24, 2013 at 10:20:11AM +0200, Eric Bénard wrote:
> Hi Shawn,
> 
> Le Thu, 24 Oct 2013 16:15:34 +0800,
> Shawn Guo <shawn.guo@linaro.org> a écrit :
> > >  config FB_IMX
> > >  	tristate "Freescale i.MX1/21/25/27 LCD support"
> > > -	depends on FB && IMX_HAVE_PLATFORM_IMX_FB
> > > +	depends on FB && HAVE_IMX_FB
> > 
> > Or simply have it depend on ARCH_MXC?
> > 
> > 	depends on FB && ARCH_MXC
> > 
> but not all MXC have IMX_FB : isn't that a problem ?

Is it really a problem that you see this option when you configure an
imx51 kernel?  The prompt clearly tells you do not need this option for
an imx51 kernel.  Or will it cause any real problem even if you select
it for an imx51 kernel, except you build in a driver which will never be
instantiated?  I've seen drivers even start drop ARCH_* dependency to
get a better randconfig build test coverage.

Shawn
Eric Benard - Oct. 24, 2013, 8:36 a.m.
Hi Shawn,

Le Thu, 24 Oct 2013 16:31:45 +0800,
Shawn Guo <shawn.guo@linaro.org> a écrit :

> On Thu, Oct 24, 2013 at 10:20:11AM +0200, Eric Bénard wrote:
> > Hi Shawn,
> > 
> > Le Thu, 24 Oct 2013 16:15:34 +0800,
> > Shawn Guo <shawn.guo@linaro.org> a écrit :
> > > >  config FB_IMX
> > > >  	tristate "Freescale i.MX1/21/25/27 LCD support"
> > > > -	depends on FB && IMX_HAVE_PLATFORM_IMX_FB
> > > > +	depends on FB && HAVE_IMX_FB
> > > 
> > > Or simply have it depend on ARCH_MXC?
> > > 
> > > 	depends on FB && ARCH_MXC
> > > 
> > but not all MXC have IMX_FB : isn't that a problem ?
> 
> Is it really a problem that you see this option when you configure an
> imx51 kernel?  The prompt clearly tells you do not need this option for
> an imx51 kernel.  Or will it cause any real problem even if you select
> it for an imx51 kernel, except you build in a driver which will never be
> instantiated?  I've seen drivers even start drop ARCH_* dependency to
> get a better randconfig build test coverage.
> 
not really a problem for me. If the policy is not to narrow the choices
to only the SOC which have the peripheral then we follow it and take
your ARCH_MXC approach which is far simpler.

Thanks,
Eric

Patch

diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 9f67338..3ccb5d5 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -64,6 +64,9 @@  config ARCH_HAS_RNGA
 config HAVE_IMX_ANATOP
 	bool
 
+config HAVE_IMX_FB
+       bool
+
 config HAVE_IMX_GPC
 	bool
 
@@ -254,6 +257,7 @@  endchoice
 config MACH_IMX25_DT
 	bool "Support i.MX25 platforms from device tree"
 	select SOC_IMX25
+	select HAVE_IMX_FB
 	help
 	  Include support for Freescale i.MX25 based platforms
 	  using the device tree for discovery
@@ -442,6 +446,7 @@  config MACH_IMX27IPCAM
 config MACH_IMX27_DT
 	bool "Support i.MX27 platforms from device tree"
 	select SOC_IMX27
+	select HAVE_IMX_FB
 	help
 	  Include support for Freescale i.MX27 based platforms
 	  using the device tree for discovery
diff --git a/arch/arm/mach-imx/devices/Kconfig b/arch/arm/mach-imx/devices/Kconfig
index 68c74fb..a7af9f4 100644
--- a/arch/arm/mach-imx/devices/Kconfig
+++ b/arch/arm/mach-imx/devices/Kconfig
@@ -26,6 +26,7 @@  config IMX_HAVE_PLATFORM_IMXDI_RTC
 	bool
 
 config IMX_HAVE_PLATFORM_IMX_FB
+	select HAVE_IMX_FB
 	bool
 
 config IMX_HAVE_PLATFORM_IMX_I2C
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 14317b7..a97529f 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -363,7 +363,7 @@  config FB_SA1100
 
 config FB_IMX
 	tristate "Freescale i.MX1/21/25/27 LCD support"
-	depends on FB && IMX_HAVE_PLATFORM_IMX_FB
+	depends on FB && HAVE_IMX_FB
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT