[PATCH 1/2] OMAP: features: export symbol omap3_features

Paul Walmsley paul at pwsan.com
Fri Sep 24 11:34:04 EDT 2010


Hi Omar, Kevin,

On Thu, 23 Sep 2010, Omar Ramirez Luna wrote:

> From: Kevin Hilman <khilman at deeprootsystems.com>
> 
> Since omap3_features is a global variable, only code
> built-in the kernel can make use of it and thus use
> omap_has ##feat functions; exporting this as a kernel
> symbol makes modules able to use feature detection
> framework too.
> 
> Thread: http://marc.info/?l=linux-omap&m=128528822902211&w=2
> 
> Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
> Signed-off-by: Omar Ramirez Luna <omar.ramirez at ti.com>
> CC: Tony Lindgren <tony at atomide.com>
> CC: Russell King <linux at arm.linux.org.uk>
> CC: Nishanth Menon <nm at ti.com>
> CC: Paul Walmsley <paul at pwsan.com>
> CC: Sanjeev Premi <premi at ti.com>
> CC: linux-omap at vger.kernel.org
> CC: linux-arm-kernel at lists.infradead.org
> ---
>  arch/arm/mach-omap2/id.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
> index 9a879f9..a8c6d19 100644
> --- a/arch/arm/mach-omap2/id.c
> +++ b/arch/arm/mach-omap2/id.c
> @@ -31,6 +31,7 @@ static struct omap_chip_id omap_chip;
>  static unsigned int omap_revision;
>  
>  u32 omap3_features;
> +EXPORT_SYMBOL(omap3_features);
>  
>  unsigned int omap_rev(void)
>  {
> -- 
> 1.7.1
> 

This omap3_features variable should not be used directly by any device 
drivers since it is an OMAP-ism.  This type of feature info should be 
passed through struct platform_data.  Looks like this would be quite easy 
to add by editing mach-omap2/devices.c and adding platform_data?

...

In the medium-term, definitely all of those 

    #if defined(CONFIG_ARCH_OMAP*)

and 

    if (cpu_is_omap*()) {

in this driver need to be removed.  The integration code (currently in 
mach-omap2/devices.c) is what should handle this, or better yet, struct 
dev_attr from hwmod.

Also the entire mailboxes driver at some point should be moved into 
drivers/* ...


- Paul



More information about the linux-arm-kernel mailing list