clock management changes for i.MX
Another simple series related to clock management, this time only for
imx.
* tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  ARM: mxs: select HAVE_CLK_PREPARE for clock
  clk: add config option HAVE_CLK_PREPARE into Kconfig
  ASoC: mxs-saif: convert to clk_prepare/clk_unprepare
  video: mxsfb: convert to clk_prepare/clk_unprepare
  serial: mxs-auart: convert to clk_prepare/clk_unprepare
  net: flexcan: convert to clk_prepare/clk_unprepare
  mtd: gpmi-lib: convert to clk_prepare/clk_unprepare
  mmc: mxs-mmc: convert to clk_prepare/clk_unprepare
  dma: mxs-dma: convert to clk_prepare/clk_unprepare
  net: fec: add clk_prepare/clk_unprepare
  ARM: mxs: convert platform code to clk_prepare/clk_unprepare
  clk: add helper functions clk_prepare_enable and clk_disable_unprepare
Fix up trivial conflicts in drivers/net/ethernet/freescale/fec.c due to
commit 
0ebafefcaa7a ("net: fec: add clk_prepare/clk_unprepare") clashing
trivially with commit 
e163cc97f9ac ("net/fec: fix the .remove code").
        struct net_device *ndev = platform_get_drvdata(pdev);
        struct fec_enet_private *fep = netdev_priv(ndev);
        struct resource *r;
 +      int i;
  
 -      fec_stop(ndev);
 +      unregister_netdev(ndev);
        fec_enet_mii_remove(fep);
-       clk_disable(fep->clk);
 +      for (i = 0; i < FEC_IRQ_NUM; i++) {
 +              int irq = platform_get_irq(pdev, i);
 +              if (irq > 0)
 +                      free_irq(irq, ndev);
 +      }
+       clk_disable_unprepare(fep->clk);
        clk_put(fep->clk);
        iounmap(fep->hwp);
 -      unregister_netdev(ndev);
        free_netdev(ndev);
  
        r = platform_get_resource(pdev, IORESOURCE_MEM, 0);