ARM: Kirkwood: Fix clk problems modular ethernet driver
authorAndrew Lunn <andrew@lunn.ch>
Wed, 13 Jun 2012 12:52:45 +0000 (14:52 +0200)
committerOlof Johansson <olof@lixom.net>
Sun, 17 Jun 2012 01:45:20 +0000 (18:45 -0700)
commit128789a8293653a4f889f2b1601eea07c00ff65e
tree6626ff151274c7b324406039e6261e1a51e7e699
parent9b0f7e399238c61f28539daeb65d72a8d7f91966
ARM: Kirkwood: Fix clk problems modular ethernet driver

When the ethernet driver was built as a module, it would lock the
machine when loaded. At boot the ethernet clks are unused, so get
turned off.  Later, when the module is loaded, the probe function
would access the hardware before the clock was restarted, and the
machine would lock. It has also been determined that when the clk is
turned off, the interface forgets its MAC address, which for most
systems, is set by the boot loader.

When the machine setup file creates a platform device for the
interface, prepare and enable the clock for the interface. This will
ensure it is not turned off. However, if the setup file only
instantiates one platform device, the other will have its clk
disabled, thus maybe saving a little power.

Report-by: Simon Baatz <gmbnomis@gmail.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Simon Baatz <gmbnomis@gmail.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/mach-kirkwood/common.c