• Andrew Lunn's avatar
    ARM: Kirkwood: Fix clk problems modular ethernet driver · 128789a8
    Andrew Lunn authored
    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: default avatarSimon Baatz <gmbnomis@gmail.com>
    Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Tested-by: default avatarSimon Baatz <gmbnomis@gmail.com>
    Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
    128789a8
common.c 17.7 KB