Thread (20 messages) 20 messages, 3 authors, 2012-05-07

[PATCHv3 1/4] ARM: tegra: Add Tegra AHB driver

From: Stephen Warren <hidden>
Date: 2012-05-04 16:49:03
Also in: linux-devicetree, linux-tegra, lkml

On 05/04/2012 12:17 AM, Hiroshi Doyu wrote:
Stephen Warren wrote at Thu, 3 May 2012 19:41:35 +0200:
quoted
On 05/03/2012 10:05 AM, Hiroshi DOYU wrote:
quoted
Tegra AHB Bus conforms to the AMBA Specification (Rev 2.0) Advanced
High-performance Bus (AHB) architecture.
...
quoted
quoted
+static int __init tegra_ahb_module_init(void)
+{
+	return platform_driver_register(&tegra_ahb_driver);
+}
+postcore_initcall(tegra_ahb_module_init);
Can this be a module_init() instead of postcore_initcall()?
Since this driver configures prefetch size from AHB client devices,
it's better to make this driver available before other AHB client
drivers get ready. So "postcore_initcall()" seems to make sense if
there's no other better initcall.
I believe this only affects when the driver is registered and has no
influence over when the device itself is probed.

When booting with board files rather than DT, it was possible to
register drivers and platform devices early using various initcalls to
control the order. However, with DT, I believe all the devices are
instantiated from DT at the same time (well, one by one in whatever
order as the DT is parsed), so the time when the driver is registered
isn't relevant.

So, if the other AHB devices really need this AHB driver to initialize
first, you'd better move all the AHB devices inside the AHB node in DT,
so that the AHB driver can influence when the children get probed.
Still, I'd suggest leaving that to a later patch, since everything
clearly works fine right now without this driver even existing.
quoted
quoted
+
+static void __exit tegra_ahb_module_exit(void)
+{
+	platform_driver_unregister(&tegra_ahb_driver);
+}
+module_exit(tegra_ahb_module_exit);
If so, all of the previous two quoted chunks can be replaced with just:

module_platform_driver(tegra_ahb_module_init);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help