[PATCH 3/6] arm/imx6q: add core drivers clock, gpc, mmdc and src

Arnd Bergmann arnd at arndb.de
Mon Sep 12 08:40:35 EDT 2011


On Monday 12 September 2011, Uwe Kleine-König wrote:
> On Mon, Sep 12, 2011 at 07:49:33PM +0800, Shawn Guo wrote:
> > On Mon, Sep 12, 2011 at 11:46:34AM +0200, Sascha Hauer wrote:
> > > On Tue, Sep 06, 2011 at 05:58:37PM +0800, Shawn Guo wrote:
> > > > +static int __init imx_src_init(void)
> > > > +{
> > > > + struct device_node *np;
> > > > +
> > > > + np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-src");
> > > > + src_base = of_iomap(np, 0);
> > > > + WARN_ON(!src_base);
> > > > +
> > > > + return 0;
> > > > +}
> > > > +early_initcall(imx_src_init);
> > > 
> > > What I'm concerned about is that we carefully removed all assumptions
> > > about which SoC the code runs on in the past. Now with this patchset
> > > many of them come back. Here we have a initcall without any check
> > > whether we really run on i.MX6.
> > 
> > The "check" has been done on Kconfig level as below.
> > 
> > config SOC_IMX6Q
> >         bool "i.MX6 Quad support"
> >         select HAVE_IMX_SRC
> > 
> > obj-$(CONFIG_HAVE_IMX_SRC) += src.o
> Think multi-SoC-kernel that has SOC_IMX6Q and say SOC_IMX51.

I think the code is almost ok, since it's only active when there is
a "fsl,imx6q-src" device node. However, the WARN_ON must be removed
if we want this to work well on a multi-soc kernel.

The more important point is to ensure that src_base is not being used
on other SoCs, but that's probably covered as well.

	Arnd



More information about the linux-arm-kernel mailing list