@@ -47,10 +47,6 @@ static void __init kirkwood_legacy_clk_init(void)
clkspec.np = np;
clkspec.args_count = 1;
- clkspec.args[0] = CGC_BIT_GE0;
- orion_clkdev_add(NULL, "f1072000.egiga0",
- of_clk_get_from_provider(&clkspec));
-
clkspec.args[0] = CGC_BIT_PEX0;
orion_clkdev_add("0", "pcie",
of_clk_get_from_provider(&clkspec));
@@ -58,10 +54,6 @@ static void __init kirkwood_legacy_clk_init(void)
clkspec.args[0] = CGC_BIT_PEX1;
orion_clkdev_add("1", "pcie",
of_clk_get_from_provider(&clkspec));
-
- clkspec.args[0] = CGC_BIT_GE1;
- orion_clkdev_add(NULL, "f1076000.egiga1",
- of_clk_get_from_provider(&clkspec));
}
static void __init kirkwood_of_clk_init(void)
@@ -2895,6 +2895,7 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
if (pdev->dev.of_node) {
struct device_node *np = NULL;
+ struct clk *clk = NULL;
/* when all users of this driver use FDT, we can remove this */
pd = kzalloc(sizeof(*pd), GFP_KERNEL);
@@ -2912,6 +2913,12 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
else
pd->phy_addr = MV643XX_ETH_PHY_ADDR_DEFAULT;
+ clk = of_clk_get(pdev->dev.of_node, 0);
+ if (!IS_ERR(clk)) {
+ clk_prepare_enable(clk);
+ clk_put(clk);
+ }
+
np = of_parse_phandle(pdev->dev.of_node, "mdio", 0);
if (np) {
pd->shared = of_find_device_by_node(np);