Thread (69 messages) 69 messages, 12 authors, 2011-09-17
STALE5373d

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

From: Shawn Guo <hidden>
Date: 2011-09-12 14:27:38

On Mon, Sep 12, 2011 at 02:40:35PM +0200, Arnd Bergmann wrote:
On Monday 12 September 2011, Uwe Kleine-K?nig wrote:
quoted
On Mon, Sep 12, 2011 at 07:49:33PM +0800, Shawn Guo wrote:
quoted
On Mon, Sep 12, 2011 at 11:46:34AM +0200, Sascha Hauer wrote:
quoted
On Tue, Sep 06, 2011 at 05:58:37PM +0800, Shawn Guo wrote:
quoted
+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.
Aha, I did miss the point.  I was misled by "Now with this patchset
many of them come back".  SRC is the only one being called by initcall.
MMDC is a real platform driver.  GPC and Clock init are called by
specific platform code.
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.
Thanks, Arnd.

-- 
Regards,
Shawn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help