Skip to content

Commit

Permalink
Merge branch 'features/imx-clk-prepare' of git://git.pengutronix.de/g…
Browse files Browse the repository at this point in the history
…it/imx/linux-2.6 into next/drivers

* 'features/imx-clk-prepare' of git://git.pengutronix.de/git/imx/linux-2.6:
  mmc: sdhci-esdhc-imx: add clk_prepare/clk_unprepare
  i2c: imx: add clk_prepare/clk_unprepare
  serial: imx: add clk_prepare/clk_unprepare
  ARM: mx31moboard: add clk_prepare/clk_unprepare
  ARM: pm-imx5: add clk_prepare/clk_unprepare
  ARM: mxc: audmux-v2: add clk_prepare/clk_unprepare
  ARM: mxc: arch_reset: add clk_prepare/clk_unprepare
  ARM: mxc: epit: add clk_prepare/clk_unprepare
  ARM: mxc: pwm: add clk_prepare/clk_unprepare
  ARM: mxc: ahci: add clk_prepare/clk_unprepare
  ARM: mxc: time: add clk_prepare/clk_unprepare
  • Loading branch information
Olof Johansson committed Feb 8, 2012
2 parents 0180a7d + 5ef97fa commit ac819a8
Show file tree
Hide file tree
Showing 11 changed files with 28 additions and 29 deletions.
2 changes: 1 addition & 1 deletion arch/arm/mach-imx/mach-mx31moboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ static void mx31moboard_poweroff(void)
struct clk *clk = clk_get_sys("imx2-wdt.0", NULL);

if (!IS_ERR(clk))
clk_enable(clk);
clk_prepare_enable(clk);

mxc_iomux_mode(MX31_PIN_WATCHDOG_RST__WATCHDOG_RST);

Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-imx/pm-imx5.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ void mx5_cpu_lp_set(enum mxc_cpu_pwr_mode mode)

static int mx5_suspend_prepare(void)
{
return clk_enable(gpc_dvfs_clk);
return clk_prepare_enable(gpc_dvfs_clk);
}

static int mx5_suspend_enter(suspend_state_t state)
Expand Down Expand Up @@ -119,7 +119,7 @@ static int mx5_suspend_enter(suspend_state_t state)

static void mx5_suspend_finish(void)
{
clk_disable(gpc_dvfs_clk);
clk_disable_unprepare(gpc_dvfs_clk);
}

static int mx5_pm_valid(suspend_state_t state)
Expand Down
8 changes: 4 additions & 4 deletions arch/arm/plat-mxc/audmux-v2.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ static ssize_t audmux_read_file(struct file *file, char __user *user_buf,
return -ENOMEM;

if (audmux_clk)
clk_enable(audmux_clk);
clk_prepare_enable(audmux_clk);

ptcr = readl(audmux_base + MXC_AUDMUX_V2_PTCR(port));
pdcr = readl(audmux_base + MXC_AUDMUX_V2_PDCR(port));

if (audmux_clk)
clk_disable(audmux_clk);
clk_disable_unprepare(audmux_clk);

ret = snprintf(buf, PAGE_SIZE, "PDCR: %08x\nPTCR: %08x\n",
pdcr, ptcr);
Expand Down Expand Up @@ -172,13 +172,13 @@ int mxc_audmux_v2_configure_port(unsigned int port, unsigned int ptcr,
return -ENOSYS;

if (audmux_clk)
clk_enable(audmux_clk);
clk_prepare_enable(audmux_clk);

writel(ptcr, audmux_base + MXC_AUDMUX_V2_PTCR(port));
writel(pdcr, audmux_base + MXC_AUDMUX_V2_PDCR(port));

if (audmux_clk)
clk_disable(audmux_clk);
clk_disable_unprepare(audmux_clk);

return 0;
}
Expand Down
16 changes: 8 additions & 8 deletions arch/arm/plat-mxc/devices/platform-ahci-imx.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ static int imx_sata_init(struct device *dev, void __iomem *addr)
dev_err(dev, "no sata clock.\n");
return PTR_ERR(sata_clk);
}
ret = clk_enable(sata_clk);
ret = clk_prepare_enable(sata_clk);
if (ret) {
dev_err(dev, "can't enable sata clock.\n");
dev_err(dev, "can't prepare/enable sata clock.\n");
goto put_sata_clk;
}

Expand All @@ -73,9 +73,9 @@ static int imx_sata_init(struct device *dev, void __iomem *addr)
ret = PTR_ERR(sata_ref_clk);
goto release_sata_clk;
}
ret = clk_enable(sata_ref_clk);
ret = clk_prepare_enable(sata_ref_clk);
if (ret) {
dev_err(dev, "can't enable sata ref clock.\n");
dev_err(dev, "can't prepare/enable sata ref clock.\n");
goto put_sata_ref_clk;
}

Expand Down Expand Up @@ -104,11 +104,11 @@ static int imx_sata_init(struct device *dev, void __iomem *addr)
return 0;

release_sata_ref_clk:
clk_disable(sata_ref_clk);
clk_disable_unprepare(sata_ref_clk);
put_sata_ref_clk:
clk_put(sata_ref_clk);
release_sata_clk:
clk_disable(sata_clk);
clk_disable_unprepare(sata_clk);
put_sata_clk:
clk_put(sata_clk);

Expand All @@ -117,10 +117,10 @@ static int imx_sata_init(struct device *dev, void __iomem *addr)

static void imx_sata_exit(struct device *dev)
{
clk_disable(sata_ref_clk);
clk_disable_unprepare(sata_ref_clk);
clk_put(sata_ref_clk);

clk_disable(sata_clk);
clk_disable_unprepare(sata_clk);
clk_put(sata_clk);

}
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/plat-mxc/epit.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ static int __init epit_clockevent_init(struct clk *timer_clk)

void __init epit_timer_init(struct clk *timer_clk, void __iomem *base, int irq)
{
clk_enable(timer_clk);
clk_prepare_enable(timer_clk);

timer_base = base;

Expand Down
4 changes: 2 additions & 2 deletions arch/arm/plat-mxc/pwm.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ int pwm_enable(struct pwm_device *pwm)
int rc = 0;

if (!pwm->clk_enabled) {
rc = clk_enable(pwm->clk);
rc = clk_prepare_enable(pwm->clk);
if (!rc)
pwm->clk_enabled = 1;
}
Expand All @@ -145,7 +145,7 @@ void pwm_disable(struct pwm_device *pwm)
writel(0, pwm->mmio_base + MX3_PWMCR);

if (pwm->clk_enabled) {
clk_disable(pwm->clk);
clk_disable_unprepare(pwm->clk);
pwm->clk_enabled = 0;
}
}
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/plat-mxc/system.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ void mxc_restart(char mode, const char *cmd)

clk = clk_get_sys("imx2-wdt.0", NULL);
if (!IS_ERR(clk))
clk_enable(clk);
clk_prepare_enable(clk);
wcr_enable = (1 << 2);
}

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/plat-mxc/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ void __init mxc_timer_init(struct clk *timer_clk, void __iomem *base, int irq)
{
uint32_t tctl_val;

clk_enable(timer_clk);
clk_prepare_enable(timer_clk);

timer_base = base;

Expand Down
4 changes: 2 additions & 2 deletions drivers/i2c/busses/i2c-imx.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ static int i2c_imx_start(struct imx_i2c_struct *i2c_imx)

dev_dbg(&i2c_imx->adapter.dev, "<%s>\n", __func__);

clk_enable(i2c_imx->clk);
clk_prepare_enable(i2c_imx->clk);
writeb(i2c_imx->ifdr, i2c_imx->base + IMX_I2C_IFDR);
/* Enable I2C controller */
writeb(0, i2c_imx->base + IMX_I2C_I2SR);
Expand Down Expand Up @@ -245,7 +245,7 @@ static void i2c_imx_stop(struct imx_i2c_struct *i2c_imx)

/* Disable I2C controller */
writeb(0, i2c_imx->base + IMX_I2C_I2CR);
clk_disable(i2c_imx->clk);
clk_disable_unprepare(i2c_imx->clk);
}

static void __init i2c_imx_set_clk(struct imx_i2c_struct *i2c_imx,
Expand Down
6 changes: 3 additions & 3 deletions drivers/mmc/host/sdhci-esdhc-imx.c
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev)
err = PTR_ERR(clk);
goto err_clk_get;
}
clk_enable(clk);
clk_prepare_enable(clk);
pltfm_host->clk = clk;

if (!is_imx25_esdhc(imx_data))
Expand Down Expand Up @@ -558,7 +558,7 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev)
gpio_free(boarddata->wp_gpio);
no_card_detect_pin:
no_board_data:
clk_disable(pltfm_host->clk);
clk_disable_unprepare(pltfm_host->clk);
clk_put(pltfm_host->clk);
err_clk_get:
kfree(imx_data);
Expand All @@ -585,7 +585,7 @@ static int __devexit sdhci_esdhc_imx_remove(struct platform_device *pdev)
gpio_free(boarddata->cd_gpio);
}

clk_disable(pltfm_host->clk);
clk_disable_unprepare(pltfm_host->clk);
clk_put(pltfm_host->clk);
kfree(imx_data);

Expand Down
7 changes: 3 additions & 4 deletions drivers/tty/serial/imx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1508,7 +1508,7 @@ static int serial_imx_probe(struct platform_device *pdev)
ret = PTR_ERR(sport->clk);
goto unmap;
}
clk_enable(sport->clk);
clk_prepare_enable(sport->clk);

sport->port.uartclk = clk_get_rate(sport->clk);

Expand All @@ -1531,8 +1531,8 @@ static int serial_imx_probe(struct platform_device *pdev)
if (pdata && pdata->exit)
pdata->exit(pdev);
clkput:
clk_disable_unprepare(sport->clk);
clk_put(sport->clk);
clk_disable(sport->clk);
unmap:
iounmap(sport->port.membase);
free:
Expand All @@ -1552,11 +1552,10 @@ static int serial_imx_remove(struct platform_device *pdev)

if (sport) {
uart_remove_one_port(&imx_reg, &sport->port);
clk_disable_unprepare(sport->clk);
clk_put(sport->clk);
}

clk_disable(sport->clk);

if (pdata && pdata->exit)
pdata->exit(pdev);

Expand Down

0 comments on commit ac819a8

Please sign in to comment.