net: fec: handle optional clk_ptp more gracefully
authorShawn Guo <shawn.guo@linaro.org>
Mon, 18 Mar 2013 07:33:39 +0000 (15:33 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Thu, 4 Apr 2013 13:22:39 +0000 (21:22 +0800)
When the optional clk_ptp is absent, we can just set it to NULL, and
clk API will just handle it gracefully.  It saves us from checking
clk_ptp whenever calling into clk API.

Also since clk_ptp is optional, the "ret" variable shouldn't be set
in case that the clock is absent.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec.c

index 911d025..6d965bb 100644 (file)
@@ -1806,14 +1806,13 @@ fec_probe(struct platform_device *pdev)
        fep->bufdesc_ex =
                pdev->id_entry->driver_data & FEC_QUIRK_HAS_BUFDESC_EX;
        if (IS_ERR(fep->clk_ptp)) {
-               ret = PTR_ERR(fep->clk_ptp);
+               fep->clk_ptp = NULL;
                fep->bufdesc_ex = 0;
        }
 
        clk_prepare_enable(fep->clk_ahb);
        clk_prepare_enable(fep->clk_ipg);
-       if (!IS_ERR(fep->clk_ptp))
-               clk_prepare_enable(fep->clk_ptp);
+       clk_prepare_enable(fep->clk_ptp);
 
        reg_phy = devm_regulator_get(&pdev->dev, "phy");
        if (!IS_ERR(reg_phy)) {
@@ -1878,8 +1877,7 @@ failed_irq:
 failed_regulator:
        clk_disable_unprepare(fep->clk_ahb);
        clk_disable_unprepare(fep->clk_ipg);
-       if (!IS_ERR(fep->clk_ptp))
-               clk_disable_unprepare(fep->clk_ptp);
+       clk_disable_unprepare(fep->clk_ptp);
 failed_pin:
 failed_clk:
        iounmap(fep->hwp);