From: Linus Torvalds Date: Mon, 9 Jan 2012 22:44:15 +0000 (-0800) Subject: Merge tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc X-Git-Tag: upstream/snapshot3+hdmi~8403 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=979ecef5b89a8003902299566d9cdc08de34a3ee;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git Merge tag 'clk' of git://git./linux/kernel/git/arm/arm-soc 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"). --- 979ecef5b89a8003902299566d9cdc08de34a3ee diff --cc drivers/net/ethernet/freescale/fec.c index 20c2e3f,112af9b..ddcbbb3 --- a/drivers/net/ethernet/freescale/fec.c +++ b/drivers/net/ethernet/freescale/fec.c @@@ -1657,18 -1638,13 +1657,18 @@@ fec_drv_remove(struct platform_device * 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); + for (i = 0; i < FEC_IRQ_NUM; i++) { + int irq = platform_get_irq(pdev, i); + if (irq > 0) + free_irq(irq, ndev); + } - clk_disable(fep->clk); + 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);