Subject: Without MACH_ option Early printk (DEBUG_LL)

From: [email-masked] (Tony Lindgren)
Date: Fri, 31 Aug 2012 09:11:22 -0700

* Hiremath, Vaibhav <[email-masked]> [120831 09:06]:
> On Fri, Aug 31, 2012 at 21:22:26, Tony Lindgren wrote:
> > * Vaibhav Hiremath <[email-masked]> [120831 07:55]:
> > > Hi Russell & Tony,
> > > 
> > > AM335X EVM (based on AM33XX device) only supports DT boot mode and
> > > doesn't have CONFIG_MACH_AM335XEVM option defined. Some time back during
> > > baseport submission we had aligned that, we won't create separate EVM
> > > options, killing the board file all-together.
> > > 
> > > Having said that, the early printk option (DEBUG_LL) is broken, the
> > > auto-generated file "./include/generated/mach-types.h" still refers to
> > > CONFIG_MACH_AM335XEVM option,
> > 
> > The way we're heading is that the DEBUG_LL options will only work for
> > one hardcoded machine where you need to select the uart type and address
> > in Kconfig. Or just patch it in.
> >  
> > > #ifdef CONFIG_MACH_AM335XEVM
> > > # ifdef machine_arch_type
> > > #  undef machine_arch_type
> > > #  define machine_arch_type     __machine_arch_type
> > > # else
> > > #  define machine_arch_type     MACH_TYPE_AM335XEVM
> > > # endif
> > > # define machine_is_am335xevm() (machine_arch_type == MACH_TYPE_AM335XEVM)
> > > #else
> > > # define machine_is_am335xevm() (0)
> > > #endif
> > > 
> > > 
> > > So I am thinking of changing the config_xxx option to SOC_AM33XX or
> > > ARCH_OMAP2PLUS, something like below,
> > > 
> > > am335xevm        SOC_AM33XX          AM335XEVM         3589
> > > 
> > > OR
> > > 
> > > am335xevm        ARCH_OMAP2PLUS      AM335XEVM         3589
> > > 
> > > 
> > > Can you comment on this? Based on that I will submit the patch.
> > 
> > I think that would at minimum break things for autogenerated
> > mach-types.h where if only some other non-am335xevm machine is
> > selected (like omap-generic) things don't get optimized out any
> > longer as they currently do.
> > 
> 
> Agreed. In that case the first option should work here, right?

It gets messy if we start mixing mach and soc defines there..

How about just add a hidden Kconfig option to mach-omap2/Kconfig 
that always selects MACH_TYPE_AM335XEVM if SOC_AM33XX is set?
Or does that require that MACHINE_START is there as well?

Regards,

Tony